From nobody Thu Dec 18 22:19:00 2025 Received: from mail-wr1-f45.google.com (mail-wr1-f45.google.com [209.85.221.45]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4CB49263F3D for ; Tue, 8 Apr 2025 07:36:33 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.45 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744097795; cv=none; b=aYGXMfhg3GYP734yeer0EndE/MQp3fgobs61hidSY3BEIyQUxozJ42wS7nUWCJ9YwV0UCgUdkcB/fc/felRWwFLxzp0pgzemgeD1s7GFHqB1rQL4jChkJCa2THGcymMBPEzfQ34WnedLYgRgL1Hpq0gCZ2g6DgGntESO4TpKXSk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744097795; c=relaxed/simple; bh=f1gvdJx8Loyz8p9Ae5vvTtn8TGqY6yTHOkwuoxiu7Q4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=DZhzTVOnWrxctVtLxnY2LrDrkW88/aVAwy2vYfYjYbiesmbMLZ/LWFy4SVST0GCxEqIIZCUAjfNSHC1e5I0dlVEumlDdxLWyi81nfQ4Ag+QYBP5MBMz6HMV1Roft3Rd2Y8MVbpN1XWMxd0Ochmou7qHN/cjKiCq0zeRmx15bweM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=bgdev.pl; spf=none smtp.mailfrom=bgdev.pl; dkim=pass (2048-bit key) header.d=bgdev-pl.20230601.gappssmtp.com header.i=@bgdev-pl.20230601.gappssmtp.com header.b=NWpOVDfw; arc=none smtp.client-ip=209.85.221.45 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=bgdev.pl Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=bgdev.pl Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bgdev-pl.20230601.gappssmtp.com header.i=@bgdev-pl.20230601.gappssmtp.com header.b="NWpOVDfw" Received: by mail-wr1-f45.google.com with SMTP id ffacd0b85a97d-399749152b4so2626444f8f.3 for ; Tue, 08 Apr 2025 00:36:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1744097791; x=1744702591; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=WYYBwBUgrkHK/0euSwqf61Okzm14DHjthqYOcHC33Wc=; b=NWpOVDfw3MwlJuMGAVsX0l82C7l1S3sPWHDTB8ZKAy8dJh72DYF/CVFU2/LgACZduq qxRhMGjwOw2yyG3IzTXjuN6yOmuBd/PjKA3gQmbL5iXR0kzImUEypCvo2+3NpP7WSdSA Yvi1r4aUB9aBeJw7GBtVVqMZIyre0nev+3wP4ccoyAUnlW4jz/9KTgH+UekGC5ssbXmA jA2Bt9jlVg1JyDLSehFGQ/nkSFBhxTLrgOzsIpBRJiQd5rC3fK2jrBQet70yq+jc36Gc F84856JC9EmwNimuC+Jykvh8VPF4FSKdecfrTqV7ykRWRz+ioZlw35rgIXOT7qZLdvvX /otg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744097791; x=1744702591; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=WYYBwBUgrkHK/0euSwqf61Okzm14DHjthqYOcHC33Wc=; b=jzYNfnRJ1JP6KJPNox1FpcTABUhQiMqw6H7qRox8msMDzIYFX4DsywgutUtYQmWG1e DLDX4S51tOoMjWIDh4iqCpdZXX58XETxnFe6ZfiJksgUIolSpHwRuHe91oGDSK5kH+XV sHiVeyXKmeEqvIIqHOL1+FUoWopJj+D2WQYgU45DJ8ac/Ec6/4UZ4WR04rE03FVSwC7v ymBKedQBtnSVJADJUsxvxmdguCNGXYnfVZLeOa8zIWHy0uO24Pjf930h74jeuJih1q1x LvjyH3syhio2WmnoAq6WLWL65E2GWXWZ31OVytj8kMWrVc7zKelnHugq9rR/jmGrCMtf rung== X-Gm-Message-State: AOJu0YxCaFhtX7nmKDNxtItcSGfBRIhB+5TBUI7Rd3Q+4MyDeREwYQOR 30897bBHaAbWgh9punBr5FMLKTHrNq6Wu2Ja/v9wq0ldfCMvrvVMxF+ee0iB4RE= X-Gm-Gg: ASbGncsAdVUQs80F+NzpmOHXXktV//tTB3I888J2hDMQlevkjIuoBD0Ug7ynkq/tNZ3 Yit7HNuccNXY4VRNKv6Iu76PDulyxNFU0MC60OrbzEwNDldn7mRaL3F5v8jIM4HBnGidxI0vYbx qjJA+2j9+cRdeagXvHZllXauF8ccYrTI62T5ofja+LgaN5SFhlct95udTG8lpGn1bvrHAZme1NM iLI/DzLVM4PiHmtb/UCXijpPXRKuqg5jCBnXKCVAkU0Gfdr5FNd2rT6Ues7sZcvksb7mMQ2pagI zeCOEIGQuMsOjjcgYsvZwapPI6zgJvb4BC+xtw== X-Google-Smtp-Source: AGHT+IHuknOf2MEYZIH4vly+yvgFVYTvAeajz7uAY1cJhAG9CEANFH/3i0TlBwFBJIv1EMxCaXRMlQ== X-Received: by 2002:a05:6000:18a6:b0:39c:dfa:e1bb with SMTP id ffacd0b85a97d-39cba975ba2mr12601970f8f.42.1744097791599; Tue, 08 Apr 2025 00:36:31 -0700 (PDT) Received: from [127.0.1.1] ([2a01:cb1d:dc:7e00:2adf:eaae:f6ea:1a73]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-39c3020d980sm14287627f8f.61.2025.04.08.00.36.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Apr 2025 00:36:31 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 08 Apr 2025 09:36:28 +0200 Subject: [PATCH 1/4] regulator: rpi-panel-attiny: don't double-check GPIO range Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250408-gpiochip-set-rv-regulator-v1-1-a18b6154b31a@linaro.org> References: <20250408-gpiochip-set-rv-regulator-v1-0-a18b6154b31a@linaro.org> In-Reply-To: <20250408-gpiochip-set-rv-regulator-v1-0-a18b6154b31a@linaro.org> To: Liam Girdwood , Mark Brown , Linus Walleij , Bartosz Golaszewski Cc: linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org, Bartosz Golaszewski X-Mailer: b4 0.14.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=843; i=bartosz.golaszewski@linaro.org; h=from:subject:message-id; bh=6w/lhSUlY/2g8qgnJibVufLNc/lhrp+acFD/YyHB5IA=; b=owEBbQKS/ZANAwAKARGnLqAUcddyAcsmYgBn9NH9KEqqz+ltxQ3NzEB73XhAjAFA+ZqB10gwX USTjcIaM+qJAjMEAAEKAB0WIQQWnetsC8PEYBPSx58Rpy6gFHHXcgUCZ/TR/QAKCRARpy6gFHHX cqgfEAC8B7CjZtEgDQt844CEnE3o4Hptp6uxl1TFS9daIlxRiPt4T5jTbt2mBlMitOLhBhff45a ynEwfbPlRXMPDUsdF1E5yPEfWavRK/VHriAWMz2trlzYSDZWHzWrGJ7ZSkKR2gQfXcA84D2pgMI HWxQlMu5kg5EMZA0tD/psg4RY3xxYjUqY0A28Qbymxiud6wrM5TOqpGhnT2gEgBFuMVJImV1Oub ao8q5yRCoql9OK7XQUfddrnZyV2vCL3YtItUsCBkScqnY2kBrJiwub1CDKAXsCBvwlIAF2igfCR BoRvluQH2UKKcpetIhVBWG5Fus1Gwjk0/WJ+aK94cYm1soGcRINyKFcR3VYymhkFbtcUC4mfZVC ENdSiumxFSi9XYhwTIfX/YeDJfvV+JJUuy0gD+VZhy/Gr0V0bkaHzBJvUcvzMpeiTCUNwqwYmq/ ZnNkl2W0FXx1mKTrOfsYsFO18dxzYSHgrzbxlfPlMu6XXUYEv9Q+xFxvVsn6hD/bIb5S/TMAmEP 05dnaRn7qd2YGA0viW13hOl348YrbqUjc6c9v+cV/cdcHhBd20Fa3Zx39sOijKba86EaFE4Sv6K oROLlatNX+VwreqdjkhMr2Sbg94niDwJrwS+DdXYkHRwx57z/t+C1WlkCtd8Vhb377xReAHyi9K ZB4cx07MFICC/DA== X-Developer-Key: i=bartosz.golaszewski@linaro.org; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 From: Bartosz Golaszewski GPIO core already checks GPIO ranges, there's no need to check it again in the set() callback. Signed-off-by: Bartosz Golaszewski --- drivers/regulator/rpi-panel-attiny-regulator.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/drivers/regulator/rpi-panel-attiny-regulator.c b/drivers/regul= ator/rpi-panel-attiny-regulator.c index 6c3b6bfac961..f5ce50ced294 100644 --- a/drivers/regulator/rpi-panel-attiny-regulator.c +++ b/drivers/regulator/rpi-panel-attiny-regulator.c @@ -216,9 +216,6 @@ static void attiny_gpio_set(struct gpio_chip *gc, unsig= ned int off, int val) struct attiny_lcd *state =3D gpiochip_get_data(gc); u8 last_val; =20 - if (off >=3D NUM_GPIO) - return; - mutex_lock(&state->lock); =20 last_val =3D attiny_get_port_state(state, mappings[off].reg); --=20 2.45.2 From nobody Thu Dec 18 22:19:00 2025 Received: from mail-wm1-f52.google.com (mail-wm1-f52.google.com [209.85.128.52]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C06A1263F24 for ; Tue, 8 Apr 2025 07:36:34 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.52 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744097796; cv=none; b=t3dp6f76iNfNkVrhiKxyzmkMl+J8hQ0n+Sy9WNWg/laGm+RnOx+QobPHzBNcM1JQbxIgzEUfd3k62EiDyu0YWz9N5YplVRMQoaqFrnVLArFcI5OR4OJ3G1zUYLL6EfPfbFaBj6Z91UazzRJebPQgDaN+25KUDbOqH4MTpEjFlfY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744097796; c=relaxed/simple; bh=zDVSLesP0T7A2McRjojWEmZkKOxXjOebJPoK+EP0dIk=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=FaZHwHwSivLzJPKM5a0GrM71y/hsjAORLSXfoHK0KGdr9VRgwdGc5pXMwoHYH+xFXyeiHGmOmVnhNqCB06GjJVb/30phU2EoFBPugvh2Y7iCbCAC1wHSmtvHY8qzf+yscbgNGciI5PivWUJ2kZJ7tFqiifFLRG+Uehikyctl2ZM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=bgdev.pl; spf=none smtp.mailfrom=bgdev.pl; dkim=pass (2048-bit key) header.d=bgdev-pl.20230601.gappssmtp.com header.i=@bgdev-pl.20230601.gappssmtp.com header.b=CxmOxaoK; arc=none smtp.client-ip=209.85.128.52 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=bgdev.pl Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=bgdev.pl Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bgdev-pl.20230601.gappssmtp.com header.i=@bgdev-pl.20230601.gappssmtp.com header.b="CxmOxaoK" Received: by mail-wm1-f52.google.com with SMTP id 5b1f17b1804b1-43cfa7e7f54so32948915e9.1 for ; Tue, 08 Apr 2025 00:36:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1744097793; x=1744702593; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=ieIGmxyhNPbpd78PJf2XL1UkaAJt0mspe5nebAeYm4w=; b=CxmOxaoKBFTGoVSi7HTcN9IFStWh7LTAYfj4vYbIhXI+wthwDY0lUl8P45zRKS6j1E sT3twl/MVfuHzIxyiXri+jcwDeRkmW6L42/oO3a+LzLrFgEG8IzxgwJCYGzx3WZxJLuR xg03sgWNUFZZ98zVGiii+Agb2aajGW0g7B8qdz1kWztO2UHFXY3jvoRZ+aSGrVuYPWGJ /MvBLSF+VDcCfGoGuq4j2C0PnVByHgCFhYaKVG2ihlZluWuZA3sTgbB5ygmji/Vwshw6 kDYvNWyTeKPkcTELkCK44InzZpdCnLPCL5aiSAAQ3jv5x5L9sPNtd1iqfu8rVgatgLc4 csAw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744097793; x=1744702593; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=ieIGmxyhNPbpd78PJf2XL1UkaAJt0mspe5nebAeYm4w=; b=C27w/VuC/lAoksBaoI17WALCTsaT0SOw0/RH3H/dvADRwHBqUYSppy2ETwhaXElRap I94QhGdYZ3b+tUWw/21H9ZRGB56mTnRnLCkC2lXHTQGZEE8FF3Rgluv5rdPfue1KQqpj 7vkPkPZN19uLZXdgjg6T44djWuDk30qR+E3hpxAnWG2mPmE++3Y0jSN56ecUpnIfRtau GEKxB7ONOO6f4PEgQJwX7P8qBb7P4/xFlFBIZIM/pZMQUWuFBBGiRPMsLLuwhBFxop5n 9wAEVFsfI65flxc2UzuFx6D98MfwKjCLrbMH2gJuiL3VegmYCEBNPzhMv2NAhtVrV3Lg YyvA== X-Gm-Message-State: AOJu0YyZHzuRoXVU+Ousjzb6olAs0shDsghUOrrD4q3CcZFY6kd9Jmc5 8hp5uF0bhH4HvKd/kJRn8T7+CVdPLSTpiUj9N+sbwx8ABP7bQFvr9qzhxWnwF3o= X-Gm-Gg: ASbGncusZItZZDiNci1Oc3U0V34wHOeoUi3Vo2iS6z54jpUKsuECqNtDCTKEXQ2sNdL w0aWpbPT3fYrcw7PSgboPbtNeO8pdob5Yw+eckQh4L7dn4dUMklCGQ2fwEqOm2OzMOHKubcD8WS 7dX7RzJ8msMrRxY5HQ2cdNfvsB2Z+G2oBtNlCFwgf9058PjMjR/lD/78MZoXeuwcL8er10zWeyU gVcRBbFO+7bIOYIQA6lTJR7HWoHaGyhuNjtTLPXBtVl76CTZvE2Hk27IREPgEv+fGdQ/9M0HXaW Jyzze5NW3iUbQOZWci/5rQ+TJEAFOFDqit8u6w== X-Google-Smtp-Source: AGHT+IHBeowJuxDcX5UF6gWDD+kUYBEUe0mJaKP7pQljslu07Q2/7r0/c5GOuYrPNr6M1Lh6Efwwug== X-Received: by 2002:a05:600c:4f52:b0:43b:c6a7:ac60 with SMTP id 5b1f17b1804b1-43f0e5dda3amr16240405e9.10.1744097792929; Tue, 08 Apr 2025 00:36:32 -0700 (PDT) Received: from [127.0.1.1] ([2a01:cb1d:dc:7e00:2adf:eaae:f6ea:1a73]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-39c3020d980sm14287627f8f.61.2025.04.08.00.36.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Apr 2025 00:36:32 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 08 Apr 2025 09:36:29 +0200 Subject: [PATCH 2/4] regulator: rpi-panel-attiny: use devres for mutex management Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250408-gpiochip-set-rv-regulator-v1-2-a18b6154b31a@linaro.org> References: <20250408-gpiochip-set-rv-regulator-v1-0-a18b6154b31a@linaro.org> In-Reply-To: <20250408-gpiochip-set-rv-regulator-v1-0-a18b6154b31a@linaro.org> To: Liam Girdwood , Mark Brown , Linus Walleij , Bartosz Golaszewski Cc: linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org, Bartosz Golaszewski X-Mailer: b4 0.14.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=3420; i=bartosz.golaszewski@linaro.org; h=from:subject:message-id; bh=yvLD6k1WGtmY4t8wzqLA9DATPQj/XYYaQSOinVOC51g=; b=owEBbQKS/ZANAwAKARGnLqAUcddyAcsmYgBn9NH9iCFL/+9CwkxFsk8fCeOL2QEwfNyUME5KE SP5vozMZd2JAjMEAAEKAB0WIQQWnetsC8PEYBPSx58Rpy6gFHHXcgUCZ/TR/QAKCRARpy6gFHHX cuQ0D/4n5UrRuykA0JBWm33mmjOt6Hmtv+7ILDXOQ9I1h2BDUcgCquGpH+tPCEElmgEgtR5ClDT xlacF7jxLrPiPU5ZkqGP96Q/f/Mp/VPXLQr0yKmoivXY+C9Vze+fcv52jPZmzIWFIKZBZv4vXyV 6TtxIUNBxlN2o/UgPw9uBVlHPtr53+AWG9aeRO8kDysDDMOOB3I0vmR/sq2qlAtbUFiEAMjiXFq QLa3q3FD6ZWkDv0gaddU+nR3QIOeTujNQF6dSyAqyRAWPpcAgon46q6ItdTra0y9RQSI06LmNwi jOnxDNO+bk8a6VHYUxXnse/0qvetnHBT8jcJ5IPzLLblxzblxjha0oLvvVQ4J+V31XeZ3XOOGce /rNm3dHuQPRdDT5C6rwTzcl6IXj3sb4T6Rm1zI+sgAS9hIBVmRcYM6KtxEQuJCA2XA7psOo5z/n EFLSrS9LeL8c+EJXQ90Sv079lLvXJhVxp23hf0y/pDTR85nYH+BWjjQgW1KZfBegs5o3CwC8Zyd bCq1GSpn2Bt3uqkvP814n4ANuzqxxWeC3VzlMGIzh1dCOEV1Ylk91BpWMbD5PE6HHsVrHlXfyzC BJVP0FJlMeJg/bs5HOlJd3MHzekYtM+hPLrP1qUhVa9x5eH6b4wznDzsCkpPlHV2XTuaMtSUD2Z 2bQV4wh6y/inKhg== X-Developer-Key: i=bartosz.golaszewski@linaro.org; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 From: Bartosz Golaszewski Simplify the probe() code and remove the remove() callback by using devres to manage the mutex resources. Signed-off-by: Bartosz Golaszewski --- drivers/regulator/rpi-panel-attiny-regulator.c | 39 ++++++++--------------= ---- 1 file changed, 12 insertions(+), 27 deletions(-) diff --git a/drivers/regulator/rpi-panel-attiny-regulator.c b/drivers/regul= ator/rpi-panel-attiny-regulator.c index f5ce50ced294..5ff348939560 100644 --- a/drivers/regulator/rpi-panel-attiny-regulator.c +++ b/drivers/regulator/rpi-panel-attiny-regulator.c @@ -12,6 +12,7 @@ #include #include #include +#include #include #include #include @@ -293,7 +294,10 @@ static int attiny_i2c_probe(struct i2c_client *i2c) if (!state) return -ENOMEM; =20 - mutex_init(&state->lock); + ret =3D devm_mutex_init(&i2c->dev, &state->lock); + if (ret) + return ret; + i2c_set_clientdata(i2c, state); =20 regmap =3D devm_regmap_init_i2c(i2c, &attiny_regmap_config); @@ -301,13 +305,13 @@ static int attiny_i2c_probe(struct i2c_client *i2c) ret =3D PTR_ERR(regmap); dev_err(&i2c->dev, "Failed to allocate register map: %d\n", ret); - goto error; + return ret; } =20 ret =3D attiny_i2c_read(i2c, REG_ID, &data); if (ret < 0) { dev_err(&i2c->dev, "Failed to read REG_ID reg: %d\n", ret); - goto error; + return ret; } =20 switch (data) { @@ -316,8 +320,7 @@ static int attiny_i2c_probe(struct i2c_client *i2c) break; default: dev_err(&i2c->dev, "Unknown Atmel firmware revision: 0x%02x\n", data); - ret =3D -ENODEV; - goto error; + return -ENODEV; } =20 regmap_write(regmap, REG_POWERON, 0); @@ -333,8 +336,7 @@ static int attiny_i2c_probe(struct i2c_client *i2c) rdev =3D devm_regulator_register(&i2c->dev, &attiny_regulator, &config); if (IS_ERR(rdev)) { dev_err(&i2c->dev, "Failed to register ATTINY regulator\n"); - ret =3D PTR_ERR(rdev); - goto error; + return PTR_ERR(rdev); } =20 props.type =3D BACKLIGHT_RAW; @@ -345,10 +347,8 @@ static int attiny_i2c_probe(struct i2c_client *i2c) bl =3D devm_backlight_device_register(&i2c->dev, dev_name(&i2c->dev), &i2c->dev, state, &attiny_bl, &props); - if (IS_ERR(bl)) { - ret =3D PTR_ERR(bl); - goto error; - } + if (IS_ERR(bl)) + return PTR_ERR(bl); =20 bl->props.brightness =3D 0xff; =20 @@ -363,26 +363,12 @@ static int attiny_i2c_probe(struct i2c_client *i2c) state->gc.can_sleep =3D true; =20 ret =3D devm_gpiochip_add_data(&i2c->dev, &state->gc, state); - if (ret) { + if (ret) dev_err(&i2c->dev, "Failed to create gpiochip: %d\n", ret); - goto error; - } - - return 0; - -error: - mutex_destroy(&state->lock); =20 return ret; } =20 -static void attiny_i2c_remove(struct i2c_client *client) -{ - struct attiny_lcd *state =3D i2c_get_clientdata(client); - - mutex_destroy(&state->lock); -} - static const struct of_device_id attiny_dt_ids[] =3D { { .compatible =3D "raspberrypi,7inch-touchscreen-panel-regulator" }, {}, @@ -396,7 +382,6 @@ static struct i2c_driver attiny_regulator_driver =3D { .of_match_table =3D attiny_dt_ids, }, .probe =3D attiny_i2c_probe, - .remove =3D attiny_i2c_remove, }; =20 module_i2c_driver(attiny_regulator_driver); --=20 2.45.2 From nobody Thu Dec 18 22:19:00 2025 Received: from mail-wm1-f45.google.com (mail-wm1-f45.google.com [209.85.128.45]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5676E2641FC for ; Tue, 8 Apr 2025 07:36:36 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.45 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744097798; cv=none; b=TiIO7aEoDvjpRRa2fz+i1N18Qj5zDmoFTM5J3rqO4vbO23CurQ/YkSpnaDanPL3seoaQ+l6GqMUkWI7S++59y5F8X4cRTfAiQzVW7CH+RZLU2X0IE2ljXxY4q/FIOC7MBdP8ioMYkwY4hZ6FEr/JmXELyIoNS2lw+GWp+D6E65U= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744097798; c=relaxed/simple; bh=jYN84no5HfMrvCOtmNwOTquSUUgh/6PVglmv/98TzZM=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=MOA5PeOTnluzKKpq1s1Bq5xKIDBDBYp2TjINlaP8a5nTIc/nsB7V2kaCSceo3HBfVh8LCw3KOKF9MXFi+nrVy7QcXVWwsdYVOW9QxNxgPO66GNToYwMsERe2VUno2PqAuex7pvqQuBfm9hOMuae1QCj6XEwkutUEBq30QEcJf6E= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=bgdev.pl; spf=none smtp.mailfrom=bgdev.pl; dkim=pass (2048-bit key) header.d=bgdev-pl.20230601.gappssmtp.com header.i=@bgdev-pl.20230601.gappssmtp.com header.b=Nn8LGNts; arc=none smtp.client-ip=209.85.128.45 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=bgdev.pl Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=bgdev.pl Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bgdev-pl.20230601.gappssmtp.com header.i=@bgdev-pl.20230601.gappssmtp.com header.b="Nn8LGNts" Received: by mail-wm1-f45.google.com with SMTP id 5b1f17b1804b1-43cf257158fso36323155e9.2 for ; Tue, 08 Apr 2025 00:36:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1744097794; x=1744702594; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=gHis8ysDm+/ce9937f9eb+O8K3AUE5i9Qwr+5PKEGCI=; b=Nn8LGNtsvypMEqPk8ddjC+3x5t8Ln9kzsj9uChKAAk0L3htMeta8QGCYrem2z0V8ch ZaZXSX64D+z9NTpvhFAH8ZZzoT6vZqAKcz5N4WEI4t7wPC5xSDNjvT6+ASpVLLJOxMcd 0ns+4jYZ72aohBaTzWrXVZuzo4jKqUZNvqvvR5xDRHDWMSpKUmt5QlhnKXNg01cBsMBH u+vIuLDrvbo2OcBGZU/DUkp99zlYzdigHH4oN16MiA/6q0WXf7ooOMlFVTtTe8LW/gL+ v1lMzYlVatrhonk8Rha2SYPEZXDSjgxcdThefwpNZKZcKAoUfrhcELOCxpSE7ks14gqQ dP/g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744097794; x=1744702594; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=gHis8ysDm+/ce9937f9eb+O8K3AUE5i9Qwr+5PKEGCI=; b=ElqWpapi6Ig2o6SunCuV6/4S7FeiNTOWGjhyDurS7LwtG7oqIcGb02A7YK/QkcpGeF +sbza5xJkU1IeGcWGW6b20guKFQir3RmlXP0wTCl39zhIxbwVa1Gojrgpt09huPisSB+ 98V49kwOXXdbSGX9zv4DI6V1FQdSxr2AxxzjNP2vEF+MEmUVVpo4LXjWSVqJggM16d8p 7Ly89jRM6+834jpY9bmAu2PWvPec7UoSuhEdgbgefPjYWRWnW/kCy/gMELn2eDWI4Eaz 28/rNdrtX1R7OjucduXALrtfFs8g0tXWyjaW8pu/bkyZ2zJiGOuGLfYQhXsSJgiZPJoJ Mc8Q== X-Gm-Message-State: AOJu0Yxj8AwGFuLamynfFPgSwnAGUPjyEFEEet/09rhh2w02PlMcvE2C NDhCRLFnxHfra9x0+VyaXOTJqZFhqszCle7iWzm/tVzpOK/ptSj6xvKh1S4Ae7I= X-Gm-Gg: ASbGnct7Jxe1k2oBRnSYE+tb0/rN9QXkkBP8B7xGL1jia0Bfi/6x6Uxl7gjsNx1aQ/5 MWf21uGascCRNEGalckEzZVGqKcwnwcRVuodPxZ0eI7bNzazZJR0Wt8caJKhVZpeh2k23HCnrP2 3DTRW2F2y3dnJIthNXVFLGbEnCHscKfbzLemu0ivO2hdYKCwzes1MfXfdxZjcHE4Mgn0Or7fq3T NXmqnKR8ILzY6vCTE3BwFoVsz9MxakUpJkpi665wqmR5OCa13NQ+vI77Qe0XUPh35ncg7n8NFcD pBtSp832Oa/JIbtkTx6IE5elB9GttX63w6k2SQ== X-Google-Smtp-Source: AGHT+IGHagAQNTtn2a+MuMwHyBshBsQtM9UgV2ixBg56P23KxFjIh375u0gTz/ubybm8RglkXY7FFA== X-Received: by 2002:a05:600c:1382:b0:43c:f8fc:f69a with SMTP id 5b1f17b1804b1-43ecf8231a8mr152102955e9.4.1744097794503; Tue, 08 Apr 2025 00:36:34 -0700 (PDT) Received: from [127.0.1.1] ([2a01:cb1d:dc:7e00:2adf:eaae:f6ea:1a73]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-39c3020d980sm14287627f8f.61.2025.04.08.00.36.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Apr 2025 00:36:33 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 08 Apr 2025 09:36:30 +0200 Subject: [PATCH 3/4] regulator: rpi-panel-attiny: use lock guards for the state mutex Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250408-gpiochip-set-rv-regulator-v1-3-a18b6154b31a@linaro.org> References: <20250408-gpiochip-set-rv-regulator-v1-0-a18b6154b31a@linaro.org> In-Reply-To: <20250408-gpiochip-set-rv-regulator-v1-0-a18b6154b31a@linaro.org> To: Liam Girdwood , Mark Brown , Linus Walleij , Bartosz Golaszewski Cc: linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org, Bartosz Golaszewski X-Mailer: b4 0.14.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=3451; i=bartosz.golaszewski@linaro.org; h=from:subject:message-id; bh=Cm0XoajVTF7WGyfXVhXt5rXgkMBzUPTLlPuMZdlyTXc=; b=owEBbQKS/ZANAwAKARGnLqAUcddyAcsmYgBn9NH9Pmx8NozKyr2Yh4useXvhNRl9MT5x7yLAm 2Z1OrJBtJiJAjMEAAEKAB0WIQQWnetsC8PEYBPSx58Rpy6gFHHXcgUCZ/TR/QAKCRARpy6gFHHX cpdOD/0TJ2PvGhJPRb6muqCjVh6EsoEvWJ62CYpFC7GLKMbP9kosgqZRbg6EY6pbiQaREHAPLc0 XF1Pgj4ipR5iKaieNqfJV11RL1vPr9dfZ4hjU/YoCtHeoQl/oG2MWXGVFsIcb8raL3xdQ87iTl8 wQBrNOzOlMCpcnakqxkC1pmo366tNDO34hDb5X72FQ8QvevW9YT5J7Hu8L5fq/TwdnPWcuOKw6e Qs50ASLtjcbqOGpwwxJVBfD1j1cE+xhLBBd4svrqThG6TDn5Ks+ixcHLsnxkgQz9oY3jZUgDQQT EvOcHhSKwmSJ5BzuomgfCoGvJaLJ8lhQjU419CPlmSj/csMB5hVguJ0AqJB3DB8ALky5hyUcKAb vFZz2YhuGPWb91KW7RgyXQPumPh5yYsW+Sb5u6h/VOWRgtR1lE0H5WDpLs6s9vWeyV027Ed4MZW XZpN8Kffo2PSye8H+Oc7xzjF6L8XshROKx8DS2TFiD9jfWsdOs/k8RiRzRZtiqDS5PyvmwCisbV 5qX1BSIw+syRhGirNNEm1LXlh45YEnetjuP2SXuqrMqq+L4hRmeixS6GXLJQDFZoqCTQR/0z7Lq DLBZOqybxUROocdeWM8s4oRAKN5i1SqgiByVzDL0v0eiQ71nsBAJ/HLH+SGwODtnXLEZvqUYWhM +8wA0vMGpZEWThg== X-Developer-Key: i=bartosz.golaszewski@linaro.org; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 From: Bartosz Golaszewski Use mutex lock guards from linux/cleanup.h to simplify the driver code. Note that ret must be initialized in order to avoid a build warning as scoped_guard() is implemented as a for loop. Signed-off-by: Bartosz Golaszewski --- drivers/regulator/rpi-panel-attiny-regulator.c | 35 ++++++++++------------= ---- 1 file changed, 13 insertions(+), 22 deletions(-) diff --git a/drivers/regulator/rpi-panel-attiny-regulator.c b/drivers/regul= ator/rpi-panel-attiny-regulator.c index 5ff348939560..43a7c4737cb4 100644 --- a/drivers/regulator/rpi-panel-attiny-regulator.c +++ b/drivers/regulator/rpi-panel-attiny-regulator.c @@ -6,6 +6,7 @@ */ =20 #include +#include #include #include #include @@ -94,7 +95,7 @@ static int attiny_lcd_power_enable(struct regulator_dev *= rdev) { struct attiny_lcd *state =3D rdev_get_drvdata(rdev); =20 - mutex_lock(&state->lock); + guard(mutex)(&state->lock); =20 /* Ensure bridge, and tp stay in reset */ attiny_set_port_state(state, REG_PORTC, 0); @@ -115,8 +116,6 @@ static int attiny_lcd_power_enable(struct regulator_dev= *rdev) =20 msleep(80); =20 - mutex_unlock(&state->lock); - return 0; } =20 @@ -124,7 +123,7 @@ static int attiny_lcd_power_disable(struct regulator_de= v *rdev) { struct attiny_lcd *state =3D rdev_get_drvdata(rdev); =20 - mutex_lock(&state->lock); + guard(mutex)(&state->lock); =20 regmap_write(rdev->regmap, REG_PWM, 0); usleep_range(5000, 10000); @@ -136,8 +135,6 @@ static int attiny_lcd_power_disable(struct regulator_de= v *rdev) attiny_set_port_state(state, REG_PORTC, 0); msleep(30); =20 - mutex_unlock(&state->lock); - return 0; } =20 @@ -145,19 +142,17 @@ static int attiny_lcd_power_is_enabled(struct regulat= or_dev *rdev) { struct attiny_lcd *state =3D rdev_get_drvdata(rdev); unsigned int data; - int ret, i; + int ret =3D 0, i; =20 - mutex_lock(&state->lock); - - for (i =3D 0; i < 10; i++) { - ret =3D regmap_read(rdev->regmap, REG_PORTC, &data); - if (!ret) - break; - usleep_range(10000, 12000); + scoped_guard(mutex, &state->lock) { + for (i =3D 0; i < 10; i++) { + ret =3D regmap_read(rdev->regmap, REG_PORTC, &data); + if (!ret) + break; + usleep_range(10000, 12000); + } } =20 - mutex_unlock(&state->lock); - if (ret < 0) return ret; =20 @@ -190,7 +185,7 @@ static int attiny_update_status(struct backlight_device= *bl) int brightness =3D backlight_get_brightness(bl); int ret, i; =20 - mutex_lock(&state->lock); + guard(mutex)(&state->lock); =20 for (i =3D 0; i < 10; i++) { ret =3D regmap_write(regmap, REG_PWM, brightness); @@ -198,8 +193,6 @@ static int attiny_update_status(struct backlight_device= *bl) break; } =20 - mutex_unlock(&state->lock); - return ret; } =20 @@ -217,7 +210,7 @@ static void attiny_gpio_set(struct gpio_chip *gc, unsig= ned int off, int val) struct attiny_lcd *state =3D gpiochip_get_data(gc); u8 last_val; =20 - mutex_lock(&state->lock); + guard(mutex)(&state->lock); =20 last_val =3D attiny_get_port_state(state, mappings[off].reg); if (val) @@ -239,8 +232,6 @@ static void attiny_gpio_set(struct gpio_chip *gc, unsig= ned int off, int val) =20 msleep(100); } - - mutex_unlock(&state->lock); } =20 static int attiny_i2c_read(struct i2c_client *client, u8 reg, unsigned int= *buf) --=20 2.45.2 From nobody Thu Dec 18 22:19:00 2025 Received: from mail-wm1-f54.google.com (mail-wm1-f54.google.com [209.85.128.54]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1C30826460D for ; Tue, 8 Apr 2025 07:36:36 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.54 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744097798; cv=none; b=Q/STs8yT07INkf73MCJsRybq135qmmBB4cZh6PLLEs7xQ+zrDlXDFxLCHi59E2Mc7fY2Z0t3w7ch9FBpDO8PZzDWcTV55wCTFKl3zMOeSRYWqxqG1Y6nDynxop3qs/DAkZZEWeHWqlvtGoBZr0G8VS8nieEsRaK1b3c9EGpPTRk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744097798; c=relaxed/simple; bh=05zU1Ccr9yOLMj2iUNDMrlJo9Ujt7vNHa1DQZ+YdkO4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=nEHtgNaXDIUXQnfpcN68nAvoMpPQLrngFifdPSWEsz0vstnsvidfAzvhn5xS9RolbQOSmf9QIaFG/lhxiicFYvV2gBdHR9lG/TEXt0qqR/9YlMR2bbZHa6MMjnfNUmrcSVcaA2O783zH7N1ExkplwOpC0V0RerHsRd6yBymhNww= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=bgdev.pl; spf=none smtp.mailfrom=bgdev.pl; dkim=pass (2048-bit key) header.d=bgdev-pl.20230601.gappssmtp.com header.i=@bgdev-pl.20230601.gappssmtp.com header.b=DxPvCY+z; arc=none smtp.client-ip=209.85.128.54 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=bgdev.pl Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=bgdev.pl Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bgdev-pl.20230601.gappssmtp.com header.i=@bgdev-pl.20230601.gappssmtp.com header.b="DxPvCY+z" Received: by mail-wm1-f54.google.com with SMTP id 5b1f17b1804b1-43cfa7e7f54so32949225e9.1 for ; Tue, 08 Apr 2025 00:36:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1744097795; x=1744702595; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=kM096SgLF/xDM5ehediIIVzZvU9OMbppluTe8DVRK4k=; b=DxPvCY+zw82SJfXyxD4GU16qqay1Rp68SQB3hNSfawfTNfyIPntS3hlb70HXYGpf/K ykQJRNHjdQBeGVXH+ptB/k/wOnmqCR/9bSh9zEDFDI3u3cJ7mmCZ6G9WLOiiE30JFODl 8aY1Lxf61BgxGz7/j5gs0r3ALJ0F6HifnXCsVzdJ9OUNya9fxjP9DZvbck4AV5rHJTOn oSCVf288LJWpF/x+vs1OALsvZTj/euVg8iS50abvnVUfHTDNVcIo0s9P08UlMb3MofiC fITX1TRo8UNI5Z0iHM+6PFmxyrdc9YqN4xi97WvUsKZkkqwCsJs3a7azsyLYWrpZfSh9 0RPw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744097795; x=1744702595; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=kM096SgLF/xDM5ehediIIVzZvU9OMbppluTe8DVRK4k=; b=p59fUXOx1dhVlkk32niFNJgD+clm4POWlxlNH+trhapVZVBE2oNAIn3I0IdudExSag N2NT9GfCbYYDunzuui91uWZFHHffPHHOkp6eFlH11aoMkdyMMAMuBPttEHxS+4D7An9b dovOLA8/+Kph9quQJ8CE4QiET6BuC70vEmmPyhqXA+LORWd5gUqEN8hOIY3oWOQPIgtz UPw3Ddkc41pqMztxDGHdkynMASVRl80Dys53tAsgELHQXSCvlnn7CPIN7CDCU58qoAC0 NSzdhj1JrW9r9s3Fv7G6nGr4t1ACiHr/1VvuatMV3XJ58yBpgiFFiKnekQgTaSsoiLDQ jXkQ== X-Gm-Message-State: AOJu0YzyB1yHyxACZ63jspQ1YteFrVlUgQvBzIMUi7sbgAGwbJ2QFMah n5ZC+6Jtyx+aL7N0kXsUH39HzKrivxQFa2YM/F+QlgRAKTvfHGvlMobGOsNT0xg= X-Gm-Gg: ASbGnctu9ldid2ErMe/lx85KkDsdASLAQDbW1P2uZ908JnBTt2yn9Xt9QbPY8rqEB6F t5JbPwX1+dXWLaiHS/JPAdYd6ZzbfWTJo4ED9hA0lgXcIRRaQpZMId9gAD4diBWrP0Q3Uoe5tzb SFVKEWHyCjpiiA9WweIb+y7fCVdINZnl43+Xx6CgJYKLMRvH60BBqAGK1BlzyQELq/bpVfc0AH5 Tm9cXlootXfZzlW7Gcas07FIyET7bmlsrnvUWwtJPI7Ky9zk+qcOalFH2Cyrij1loOmjbRsEMIK JB3Nz31ApXIrfyQL3nG+TQa7cDAFHjL8jmAeNQ== X-Google-Smtp-Source: AGHT+IGqAZNwvkkT66aidmtMFAuZ998J7V83w2RRytOg8jUYiK+eL0Qx5YxjhhMuBaNCr8BVDL2iRg== X-Received: by 2002:a05:600c:6a8e:b0:43d:174:2668 with SMTP id 5b1f17b1804b1-43f0e4169ecmr17353035e9.0.1744097795460; Tue, 08 Apr 2025 00:36:35 -0700 (PDT) Received: from [127.0.1.1] ([2a01:cb1d:dc:7e00:2adf:eaae:f6ea:1a73]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-39c3020d980sm14287627f8f.61.2025.04.08.00.36.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Apr 2025 00:36:34 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 08 Apr 2025 09:36:31 +0200 Subject: [PATCH 4/4] regulator: rpi-panel-attiny: use new GPIO line value setter callbacks Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250408-gpiochip-set-rv-regulator-v1-4-a18b6154b31a@linaro.org> References: <20250408-gpiochip-set-rv-regulator-v1-0-a18b6154b31a@linaro.org> In-Reply-To: <20250408-gpiochip-set-rv-regulator-v1-0-a18b6154b31a@linaro.org> To: Liam Girdwood , Mark Brown , Linus Walleij , Bartosz Golaszewski Cc: linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org, Bartosz Golaszewski X-Mailer: b4 0.14.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=1508; i=bartosz.golaszewski@linaro.org; h=from:subject:message-id; bh=tGoxqy++nkqQRXjGhwwXyr6+v2LydOiiKnIqwmxDNvw=; b=owEBbQKS/ZANAwAKARGnLqAUcddyAcsmYgBn9NH9ULUrSeUEZg78nVRcumLJX94S2Ad77IrOO t0AeKHmR1OJAjMEAAEKAB0WIQQWnetsC8PEYBPSx58Rpy6gFHHXcgUCZ/TR/QAKCRARpy6gFHHX cjziD/wNd0mAvA0YYUakqeiIb5oRbeS/vBhhpnkYDPNtzT/+nGw7l1BWGaMFfhRiRas8BwKvLuv n99DWRXcxYdY7NGxE7+4mXz4URzMgHztn0FHb9G4Gedhl6tj3jo0bO8FBAXdfvDKsiXEfC5HFU2 yVhAHKQAEABPwuFnhLIVKREohBTkLskPsoZUrT8Vq014TT1TYpAE5qn2N3q6JdTFS0z5qtVRzTE yFftUUlpiH2Dl36GbTtvoJoCWg6QRMxC52KT42nL+7FV2SufUr0ouTZvNBwIwMG15JJN1yYn0Mp YQzSBTiRpmzew/SR4xbvp6vxMsKQtMpyRKOEhRQCNqPNGMZygBftmKJCfZYVQapED+keq2eSf7d lMWMzDAia+/CYAOeyRH6d0L8yxNzSt/Hj0DBdLPlgQa7h+qMhBHkQapEEZTnVXkQRuTZpACA1ON WFhdXL5acJaqjYqMdg7wENAbQrXG7hXdfCOcgXtLPaMc/8R4goa/9ZK2y8Hbgo/5xk9hHM9Nu/W 8IPnlOH+52WE/ctkRfIYMqxynqm7pScYKX2YRO3I5urf08n7AfUYPzzdu2oHVkj1ROUxhMfLtE7 Hbg+JkkNoGVEPtcpnMSUP7TiMrlBk/0V0Tg4kJxSA0Eiu/hVB4J+Hn2g9RSWF7lHpe3OyKgp8fz 2vWBI/S9O9bMJWw== X-Developer-Key: i=bartosz.golaszewski@linaro.org; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 From: Bartosz Golaszewski struct gpio_chip now has callbacks for setting line values that return an integer, allowing to indicate failures. Convert the driver to using them. Signed-off-by: Bartosz Golaszewski --- drivers/regulator/rpi-panel-attiny-regulator.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/regulator/rpi-panel-attiny-regulator.c b/drivers/regul= ator/rpi-panel-attiny-regulator.c index 43a7c4737cb4..58dbf8bffa5d 100644 --- a/drivers/regulator/rpi-panel-attiny-regulator.c +++ b/drivers/regulator/rpi-panel-attiny-regulator.c @@ -205,7 +205,7 @@ static int attiny_gpio_get_direction(struct gpio_chip *= gc, unsigned int off) return GPIO_LINE_DIRECTION_OUT; } =20 -static void attiny_gpio_set(struct gpio_chip *gc, unsigned int off, int va= l) +static int attiny_gpio_set(struct gpio_chip *gc, unsigned int off, int val) { struct attiny_lcd *state =3D gpiochip_get_data(gc); u8 last_val; @@ -232,6 +232,8 @@ static void attiny_gpio_set(struct gpio_chip *gc, unsig= ned int off, int val) =20 msleep(100); } + + return 0; } =20 static int attiny_i2c_read(struct i2c_client *client, u8 reg, unsigned int= *buf) @@ -349,7 +351,7 @@ static int attiny_i2c_probe(struct i2c_client *i2c) state->gc.base =3D -1; state->gc.ngpio =3D NUM_GPIO; =20 - state->gc.set =3D attiny_gpio_set; + state->gc.set_rv =3D attiny_gpio_set; state->gc.get_direction =3D attiny_gpio_get_direction; state->gc.can_sleep =3D true; =20 --=20 2.45.2