From nobody Fri Dec 19 02:55:58 2025 Received: from mail-wr1-f47.google.com (mail-wr1-f47.google.com [209.85.221.47]) (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 52F6119E82A for ; Wed, 23 Apr 2025 07:15:19 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.47 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745392523; cv=none; b=f3+VKYZGqSTyVecUBwnDMxplGmddW08UTy49sXgjrGZxzkb8Y0OEEbqfgDLSP0V9VHmRV24P1W3MfwpyLXY1SpwJgDAPhvve7g2pP4GkLm9GswglfxzflQm8zc3r6M8EQloq6CXbyge8KmHaXOb0CBT/8T8HzAjZRMFaiyvmBFU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745392523; c=relaxed/simple; bh=GkZqNijLEREjgRCyxLO9ZWn6Syhz3Qs1P6LxUc7FAUQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=GnQaJF5XD92RDW/EXheTV4t/Sg+Mi8vVX1MlUrsJoGk/DwyQm7K1jte9/T2elba7JJGBPFPtqOprlZhxR0Mxo/Xm8Rge1dYAyq8IJmPJKgPp9JMwVsDiJQreyvRsYlu9AGRG1iFT/zfE4cHTZwcRM8GqGI36j5eSEqDfOOI1ANg= 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=E0NYy58u; arc=none smtp.client-ip=209.85.221.47 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="E0NYy58u" Received: by mail-wr1-f47.google.com with SMTP id ffacd0b85a97d-39d83782ef6so419599f8f.0 for ; Wed, 23 Apr 2025 00:15:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1745392517; x=1745997317; 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=R0bNDTv+LkOZiuFXKOWgCql95LZI/mk8z3mrtaxkHEY=; b=E0NYy58uyqW2qnwuHJX8ueh9k4zi6r5APAOFYbb1ktr8haA+TVZ9Oe6s9rG25LU61d VU+unr6xNI5BV5X6A64MrUlUVsRDinzVTjuqG6TuKC8nmSswGYTaXz7orcd685weWogr 8Ep1vRgjC6/X7z8v8DXTD97Fk0Lty3suTGxS8i0DoYge41GyYjeNYmorV6qXP18AMuP0 Pvv5UJmWKwzL6NQrAkSBtzosZsWNyWbgp+LU3OoBXDmUkyj3Iusp2ZzSi+TrYpCVp89m 3lQHNcSJdm4mcMlHbF4n3zA99udypIC7Ss5pJmd8bLovLf1qm24hkF3Lg0qwqxRDv9yP zJYw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745392517; x=1745997317; 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=R0bNDTv+LkOZiuFXKOWgCql95LZI/mk8z3mrtaxkHEY=; b=ljvz2I19FMswYMd0CtE1lDU5T85b1yiiBFVSNpRCFbRLwMWmNzTYg7I1Tfxsee6s0e 8x008nlH8IWXCwi1J57iawbuEnemD+EpJn8tmMbkPBb0JZGLOFm7lO1QgW2mzn+ZkO85 f8co6chtlixGuDTjuI9xU2g+pZva/+mGmYOdN8UxHNFEGAVD3NRGCrEzFG5he4cVWwIu TRtYS+JBFXbJfK4PO02Z3vnQuwNPHOFCLnRPsCRSJl9Ne8yvf1BMHWGCz/C/Hm5wsLzl 2IbE/4m4Wmx+F2AcFAbQ5hRMN3/lKVZ2lPzcn9Ix+S4tJQc0NIu9KUwUeluW6I9myI9O Tc7Q== X-Forwarded-Encrypted: i=1; AJvYcCVM7KAdm/L7lc2TxK41J2Rnj2J060WCPeW53Ig9wMKSYkpfsPm4e6LvGnbpdp9FcfH19A142Z0wVOEbvNg=@vger.kernel.org X-Gm-Message-State: AOJu0Yw1PO2Oci7uMfXygxNf6oZpR0L31Y7AUCbT8dE4ckK5Uo3wOLZ2 JLWJZBYj635AD+2Rb4yMJjTOdHdCyhnqmJNgNV1uCe275NLPqwJXYuYzWu6RMxDJuW1jSnYsID0 hqss= X-Gm-Gg: ASbGnctB1midhtcjyLujuollXJZCnUkbs/CbvNnCE+gnsJmnoRCyu0pzi2BqdhtlDQv 9MwKtZ3Tb7kZJyUMLxPqNipgmR4ni2X7FEndWf3BF6/14XWOfE/nH/OEHw9ukGVcMnXKCOUHbhe vvVNYnkRf7oR6ScqwsXaNiptnrX5+h8cFqv4P29OJpcYACX3mtsLRGi6jWpmE9+Y4rIICsWzgbo 95mS6TJjtc9mh3mKprXjxCX5pgJ4b8qEx11xbG9FrHkrvH/pv80+gYAZPBzqldvMVZBaz372IC6 lUfSYgEBpBm8uY5k+K6qy8sULDkhSvtWpg== X-Google-Smtp-Source: AGHT+IH9m7S47Z/jCJ7Q3TFpGFMrRhaPorWIcAZkoI6/0ohfBThJXsrLnX1OsA7yjjcCF0WIrr4Zhg== X-Received: by 2002:a05:6000:1a8e:b0:39f:d0a:5b23 with SMTP id ffacd0b85a97d-3a067243e1emr1216191f8f.17.1745392517460; Wed, 23 Apr 2025 00:15:17 -0700 (PDT) Received: from [127.0.1.1] ([2a01:cb1d:dc:7e00:74b0:71bd:6dda:dcc1]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-39efa493446sm17696935f8f.74.2025.04.23.00.15.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 23 Apr 2025 00:15:16 -0700 (PDT) From: Bartosz Golaszewski Date: Wed, 23 Apr 2025 09:15:03 +0200 Subject: [PATCH 01/12] gpio: imx-scu: don't check the 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: <20250423-gpiochip-set-rv-gpio-part2-v1-1-b22245cde81a@linaro.org> References: <20250423-gpiochip-set-rv-gpio-part2-v1-0-b22245cde81a@linaro.org> In-Reply-To: <20250423-gpiochip-set-rv-gpio-part2-v1-0-b22245cde81a@linaro.org> To: Linus Walleij , Bartosz Golaszewski , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Lixu Zhang , Sakari Ailus , Yinbo Zhu Cc: linux-gpio@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Bartosz Golaszewski X-Mailer: b4 0.14.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=1257; i=bartosz.golaszewski@linaro.org; h=from:subject:message-id; bh=sDwXikOtbtT66flaRPMOQLEk1wgtXlmWPUc5xrs2aGM=; b=owEBbQKS/ZANAwAKARGnLqAUcddyAcsmYgBoCJOAJtVfy51LcVaIdW/Da1I0wLQ4NQEa0Ef9t G5TUun9q2KJAjMEAAEKAB0WIQQWnetsC8PEYBPSx58Rpy6gFHHXcgUCaAiTgAAKCRARpy6gFHHX cle/EACTYLfKBloBbJL+EzHJRUixJm8o1vusIAehFajv6F5jqFGdV1ieqz/FHdEKoul2HSfpboN B/VwA/JclRFH+9K71ISjvlxdHUOXVWAeC79M8RCXb2sjR1SL484Vi7SATqK1heYF6HyqgLi5DU9 x5I+yC8SJhMmPkzCqsxF+6jMOZJamDy7JMJpu+6scjGlhAJRpx+mtulebQRcP1MzXS1vxOzfwQh 3HSHO5/1pxJBi8sKMdmSJC0CWJkNWvPbFdcU9QHZTd4QgQjKnmLXo+vSp1zDwt8ZKveMOMkEfuw tXCYwfV6yDWn6AzenUdyisI7KrqI7jPLO573nh25LJpw/XODieasvx10z4wEKC4Kxru84R27Rko 4cxtTyxZ2PaXsKERURrnq573AU1Utt1jpkAazgPp7UCOqwJ4hKBWEz21qTP1Mz+EqupY8X/pgC/ 4vGCUNQ3VMb9eo4dDzS9X0LPH8yzcpC9or77pBIvatjwyn86D/o3wFctdvh+vFuZVDMyA3/MSPH /0vY5IpKOzCtFt4Ba2qHVQ4SnprInqtEYD0kNt3RnB12yFauaAuFcMXTTGlAyheOUDHN68AAIn8 tSoCKbhVVSrrbS2ctGybfv148pl38wC/byXGntzu5EwOvAca2IlqfIyzzJoMBEBZYlA0yeDQhpi DDM1nncdH9HwCPw== X-Developer-Key: i=bartosz.golaszewski@linaro.org; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 From: Bartosz Golaszewski Core GPIO code already does this for drivers, no need to duplicate the check. Signed-off-by: Bartosz Golaszewski Reviewed-by: Linus Walleij Reviewed-by: Peng Fan --- drivers/gpio/gpio-imx-scu.c | 9 --------- 1 file changed, 9 deletions(-) diff --git a/drivers/gpio/gpio-imx-scu.c b/drivers/gpio/gpio-imx-scu.c index 13baf465aedf..403d03f18122 100644 --- a/drivers/gpio/gpio-imx-scu.c +++ b/drivers/gpio/gpio-imx-scu.c @@ -37,9 +37,6 @@ static int imx_scu_gpio_get(struct gpio_chip *chip, unsig= ned int offset) int level; int err; =20 - if (offset >=3D chip->ngpio) - return -EINVAL; - mutex_lock(&priv->lock); =20 /* to read PIN state via scu api */ @@ -60,9 +57,6 @@ static void imx_scu_gpio_set(struct gpio_chip *chip, unsi= gned int offset, int va struct scu_gpio_priv *priv =3D gpiochip_get_data(chip); int err; =20 - if (offset >=3D chip->ngpio) - return; - mutex_lock(&priv->lock); =20 /* to set PIN output level via scu api */ @@ -77,9 +71,6 @@ static void imx_scu_gpio_set(struct gpio_chip *chip, unsi= gned int offset, int va =20 static int imx_scu_gpio_get_direction(struct gpio_chip *chip, unsigned int= offset) { - if (offset >=3D chip->ngpio) - return -EINVAL; - return GPIO_LINE_DIRECTION_OUT; } =20 --=20 2.45.2 From nobody Fri Dec 19 02:55:58 2025 Received: from mail-wr1-f43.google.com (mail-wr1-f43.google.com [209.85.221.43]) (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 42426D27E for ; Wed, 23 Apr 2025 07:15:19 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.43 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745392522; cv=none; b=kNHSsimUtQPMay+eF9DzsfIvrNZlUClQy5s97EpaEg3tbgXB3eGRBg9wl90ld+Gw+p+3AGMkTPpUxNprLNi/j44ZeTNiCHRE2VBn5vu7N5q+CE+le0R2lMRqpuM6f3wm2wQzXOM8V3T8o/jDsA+SGIZ0BOhUwq0nauL7wxJfOlQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745392522; c=relaxed/simple; bh=2cFJXYo0w8FqSMoLTGOzW7U788xqfufg1/ACcV2UDhI=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Lb+t6K1nFrPPhVRmTQ9vTKb6HugpvHzapEXSYFBgVHamG99xthwk/aa+7f2JOd7e4z4u0S5qMzYi0aCvBqQiSNyL5WuaTbDWsugnmyyp9gJAT68ZGYy5zRNGuwtP8coix/Xi8afOROzBi5FkDXaq3pilGaD5xKP6kJRtCKD4C6k= 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=cZX0wPgz; arc=none smtp.client-ip=209.85.221.43 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="cZX0wPgz" Received: by mail-wr1-f43.google.com with SMTP id ffacd0b85a97d-39ac8e7688aso3752010f8f.2 for ; Wed, 23 Apr 2025 00:15:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1745392518; x=1745997318; 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=1jpIbuhGqJno2oGiD2+OmhnBmP+B6R6TyA8FsjUZXAA=; b=cZX0wPgzyn2GdQ6bS+2KAx9wR76eRw2cJUmq28vK7LArhApUA2/i7BcKdkrFUmyPmL K/SsUgM2m60rn1JKy1XIW36en07Lecq2wLwAOg/d82HaUQUuTTUgdyyx+DQK6Ntj+8vq aJ9kh/RY1hws9Do78EJIzMlgkrb6KcymRWnCHmbJaJ/tRItth2zVfPxuMe3zSy+CvjlT SwXFed4whBxJPj2KsASqyyHpMCvxM9fiGv+YgStZCMBHRuUGUZFpvw8hJ4siWhecPvoa +rmq4Ow5l7Ey9g1EYenuOuSP8AzCyNSh02IzgnlhmDEC37Mmbu5qPpmX+sLnVSSK/wZd rT+A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745392518; x=1745997318; 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=1jpIbuhGqJno2oGiD2+OmhnBmP+B6R6TyA8FsjUZXAA=; b=JiACw314hrQr+LPjAaT1K36hSha0/HbMI604WRIgfbX8y3hGGCRRBLsNnUCjTPnWc1 vU4vYjmjFjZAMXSDen5MoQWVbWJT4z1E7gKrH6rINEQfmTlrfZ/WFi4HzSrGh1SVvAB5 w4uJSGfjTcHm/sNl3hG4u77IHz5jvkZ+zV3GxBNHGbGa8aMZXDbbT850TdydAxLXXYnO GVqlFZyh3+1kvdKpuO2/j+q5k21PwuPiBO8tCseNKMYNiDTboilx8+nWSpCpfH4A7bc6 Zp54jsFr+1iDlbo+BsGA/Jgdloypsq6N8EQIP+qpkPJloEq+W7gB7SV3qN9NMGddJpHR HFtA== X-Forwarded-Encrypted: i=1; AJvYcCUb/AoH2zGw10wRnI+lQQ+bs7QmF/QlKSutqYgR3GcmcN+hSHc7zuMdSn/7POU62IylvHrBmKbQCrD4Rvw=@vger.kernel.org X-Gm-Message-State: AOJu0YzP/HoIZcxfFnn5pN/jV9Q16U8NUbQ70mbxFlzxlQ43lnLYKhMH yi45riuJKk6KkPbx3u38j/cNIdMpZ3qOB0pjpPdgLHvvFn4QSzoyONX7FlM4ZYg= X-Gm-Gg: ASbGncv8oQOrimfPkWdr3rzgWNQroufid5TrRfOvncOpi7rmgnN2N6ZxSYW39+72JLK MFghrgjDrG+vi1GSZTy9ND4tehXMnslXu3yYS/tu4/CegJ0mcrdUVfzxxdBrE2AvOndNudF+Bq3 wFYBvJN4J0CtHdoyl1vlWwlxjtu2RovC8OOoqiVBdW5m2PVNlsFm6l6SAUtTPdzDn3Afkcaiduv FLk7SVCK4u0kkAyfpNLvBoabHW35zlkFie0WKUSIs6rSygVAERsBnsfOtBVA+keA9hyHvPRt0dX vfjQr2MjnUKEDK1rVF4/xDxj9W+Tew2uuQ== X-Google-Smtp-Source: AGHT+IGnUpS9ou6nffd7s4SVUQaTSNl4pQx4m4r5Zz5uifmJEfnPn7s/u9+lgkiPgaAvunq1Xc6dfA== X-Received: by 2002:a05:6000:4310:b0:39c:119f:27c4 with SMTP id ffacd0b85a97d-39efba5b778mr13229816f8f.30.1745392518529; Wed, 23 Apr 2025 00:15:18 -0700 (PDT) Received: from [127.0.1.1] ([2a01:cb1d:dc:7e00:74b0:71bd:6dda:dcc1]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-39efa493446sm17696935f8f.74.2025.04.23.00.15.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 23 Apr 2025 00:15:18 -0700 (PDT) From: Bartosz Golaszewski Date: Wed, 23 Apr 2025 09:15:04 +0200 Subject: [PATCH 02/12] gpio: imx-scu: use lock guards 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: <20250423-gpiochip-set-rv-gpio-part2-v1-2-b22245cde81a@linaro.org> References: <20250423-gpiochip-set-rv-gpio-part2-v1-0-b22245cde81a@linaro.org> In-Reply-To: <20250423-gpiochip-set-rv-gpio-part2-v1-0-b22245cde81a@linaro.org> To: Linus Walleij , Bartosz Golaszewski , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Lixu Zhang , Sakari Ailus , Yinbo Zhu Cc: linux-gpio@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Bartosz Golaszewski X-Mailer: b4 0.14.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=1992; i=bartosz.golaszewski@linaro.org; h=from:subject:message-id; bh=MkOnT4yNUZeyHThpCK5EaJBEstX46Cy8bj/Sje8L+og=; b=owEBbQKS/ZANAwAKARGnLqAUcddyAcsmYgBoCJOBKq6/ZTVbZPDWRuhYrH8TZUsVagJXdkY5i QrnwxvwAYeJAjMEAAEKAB0WIQQWnetsC8PEYBPSx58Rpy6gFHHXcgUCaAiTgQAKCRARpy6gFHHX ckEeD/9l4SbUhQKoQaEIERaYqDCzXTHhqB5KuenMgC5r/g5sYiqxqQjudVfEJavtD4haF+6aS9o xBIvX9GLhKUl5ZIikmZsrdlMshgyIY28XvfD/BydQE7ZJUgLGaEW4ZjytZz1E/tb5W1O/0WR0NY hshNdM49zRWRWZX1Nj4xFECkTnuriQt6vmLJPjpTRc9vO6lI6hRu44vwjuC1+TrsGWo8E6drr5H shZ1C+A2LYp6h2edfZQsuuJb5IDheLLXrvKO4LqnN15DZFRU6Y6wTy/WreZUw6PZm7I0cUftKdc 0ScZ/KPtiTI0XPv3J5Q/skCvJBb8trn1KYQCEEo4Mr2kmHiKvQbTocvrnd9vHZm6iiCV9DUqHgE tZMYBL/xY6sxHdGwez2RZp3AwIv45VDRo9qEEPgDwPAjZSPISB9pOVdqLbIcTQqz4dAWvTiPBb2 tlYO46y6cpcw+IgSpYcXNJJR69S76gYbbfqTlXnIbrvHyPBN/aFH/dMKoKT5FPIz1PhwVILoE2Y 6dyGGas9foRrvCR4ndO+4uzKrs8XDjvws3vVumzhIUtsJ0W7NHvpiVOHfg7OW3efAMUSP8oyphB byaiS/R0pIxiZ+DHEKog1C2cE0qzDut0dyfGx+V+wagrqQ3BRdYAo1aT06StAe6hSgK/ej4OGdU +WVTqdlbOWnq5cw== X-Developer-Key: i=bartosz.golaszewski@linaro.org; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 From: Bartosz Golaszewski Simplify the code by using lock guards from cleanup.h with the driver's mutex. Signed-off-by: Bartosz Golaszewski Reviewed-by: Linus Walleij Reviewed-by: Peng Fan --- drivers/gpio/gpio-imx-scu.c | 26 ++++++++++++-------------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/drivers/gpio/gpio-imx-scu.c b/drivers/gpio/gpio-imx-scu.c index 403d03f18122..99df95e65820 100644 --- a/drivers/gpio/gpio-imx-scu.c +++ b/drivers/gpio/gpio-imx-scu.c @@ -6,8 +6,10 @@ * to control the PIN resources on SCU domain. */ =20 +#include #include #include +#include #include #include #include @@ -37,13 +39,11 @@ static int imx_scu_gpio_get(struct gpio_chip *chip, uns= igned int offset) int level; int err; =20 - mutex_lock(&priv->lock); - - /* to read PIN state via scu api */ - err =3D imx_sc_misc_get_control(priv->handle, - scu_rsrc_arr[offset], 0, &level); - mutex_unlock(&priv->lock); - + scoped_guard(mutex, &priv->lock) { + /* to read PIN state via scu api */ + err =3D imx_sc_misc_get_control(priv->handle, + scu_rsrc_arr[offset], 0, &level); + } if (err) { dev_err(priv->dev, "SCU get failed: %d\n", err); return err; @@ -57,13 +57,11 @@ static void imx_scu_gpio_set(struct gpio_chip *chip, un= signed int offset, int va struct scu_gpio_priv *priv =3D gpiochip_get_data(chip); int err; =20 - mutex_lock(&priv->lock); - - /* to set PIN output level via scu api */ - err =3D imx_sc_misc_set_control(priv->handle, - scu_rsrc_arr[offset], 0, value); - mutex_unlock(&priv->lock); - + scoped_guard(mutex, &priv->lock) { + /* to set PIN output level via scu api */ + err =3D imx_sc_misc_set_control(priv->handle, + scu_rsrc_arr[offset], 0, value); + } if (err) dev_err(priv->dev, "SCU set (%d) failed: %d\n", scu_rsrc_arr[offset], err); --=20 2.45.2 From nobody Fri Dec 19 02:55:58 2025 Received: from mail-wr1-f44.google.com (mail-wr1-f44.google.com [209.85.221.44]) (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 15D722676D9 for ; Wed, 23 Apr 2025 07:15:20 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.44 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745392522; cv=none; b=JcAxRnriWO0bBYQut1ZUuQnU5lc/Y7VR7/mHsOXq/zw0fl+Clzl/J0+63wgX6DAGG9AD9gZgK/MBXnWIhlM2Ytys8D+Z0xcoi/+5KrVPTfJvgVpu94wQGtVDCU22GH65F3Qt0U0QQws3TJxmZ2R+YnTX5ilRw9QM3bi5VgD9mdk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745392522; c=relaxed/simple; bh=ckjIG0VOwxvdz4wVKNJf85yLiENSGMM6XOvGw7SNliE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=aXsOeLm8wGQQGMxTRgITgiCCB+D8YwPfTrJPVPE4XERJtX7f5xdZrTlFl8rNevf6D2XhBWagfdkyQteog0D0Xr/ayaAUklCmQnmzRvEzPxnBi4QHwXUSIoT0mtFfixTeOXfdwtoOQ9omBe7SaF9OPYOmVn+G5BJzY/1p0V6E0r4= 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=VHx+yKD+; arc=none smtp.client-ip=209.85.221.44 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="VHx+yKD+" Received: by mail-wr1-f44.google.com with SMTP id ffacd0b85a97d-39c1ee0fd43so5482655f8f.0 for ; Wed, 23 Apr 2025 00:15:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1745392519; x=1745997319; 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=IaaCcWQEpgQqhrIPeRlyBC317ztdMOh1gJCguFqoNso=; b=VHx+yKD+Cn97YdTUU3r3eMPi7f8z8SXffmBTAfU5o4hEATW4U4CwTranQ0nN7I6fwk sHqQP4dGxJI+hCy8uVVlIeefneqAIY0PNjeNkJmaVpZVzoW5DanMd7A2V0c19ppjKMQz +RQWKHV0BX8TkvzD6Gm74XAXEDwartExRVFHFkdz1vXkZW5J6ZJGaGSFLa/LluH1dxEx x+pH3SZKPUtDoUabdh65g3L+zJYDp37iEnZbU1ONeJv6R7lUT3zIIv8/2f3xfGVb6zRJ im0rBxidF/Qulm68KYXIP1ZXH8g+9Xk8b4L6wjhMEVyAm47w0In+lq94AP/4GCyPWvxa VmjA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745392519; x=1745997319; 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=IaaCcWQEpgQqhrIPeRlyBC317ztdMOh1gJCguFqoNso=; b=RTfs7En2RnsH1WajExvjTKsP2lETvxgyDbm5HlbqjSiEf0OrCYs1UQKgAH2lFfVWWb PbAi8B1lZPwK4stUZYvCYimXPLyej5T0cT+M2fE/szC/D3800Xmv0YRpgJChPFfEOKTA Dzsim4UefmXAlyX+7U6MMAAgsZE6mwHoTtyba1VgxUBTAByetnPjdUvzExbHTvfqKvIp N7WNjdTbN1dYrVDITLiR4HXuXmqN9erpYxAXBaQR17nBFN6u60Y2cMUTanxrXyKDCbFe 7ZU/uod8yIS7Th0MhAdjTD9G87eDPwFSEXuPxQINhHrjw7fYey4WuIVmZzJCyDJgr3PE whEw== X-Forwarded-Encrypted: i=1; AJvYcCU5B1mDKCACOIsETmgCBGh6HrRh6CtT+StKOA9xcGUiaAm47qzRKBzhaeWVIJ8OZSKVf9Tp3JH7gzGEIRA=@vger.kernel.org X-Gm-Message-State: AOJu0Yy81/nXQeMVlRGTSyfHQ8v4CJR6ilbiOrwwS8Vg43k5/ewIqXPT uxcgMIjwuy3QU0PjfbZLAeFIgL1HsnuUPF05kcfz06NJSs3zNufdquCX+upmtuI= X-Gm-Gg: ASbGncvQkwUCqHnJEZnsVo2ZsqQZTDcQyAeWOSJELTZ+crGBeVQHmKkmx/cLyxKHWJK BuveYk8EoJDpYeVriBaQSH0zfqAxzwInCcjEexWj+FRIRdV9G8l3FJKkAFFcz6qOxTeY3IzxESq 1GTOfJ/tPKUegmDhZVEOvy4aZQ1DQIVh3yB+rW52ZcovEP3d6XAHJBp2UIPIxIGYxsm9TJToQRt vSoAxjnN8Pb4ot6H6HfaxXw9mZCprcx0FcJS++IhXD3hfy7z6Ymn/+UdmRD6xgnUY6U/CNde+z0 IgPgKm1gJRr4yy+ynEaoY8h410h5RhVCNQ== X-Google-Smtp-Source: AGHT+IHC2rSEasii9FkOaKiL6XIMR2zDQ1U/aLJaI4vDnkPd+Tv6fEi8e3lqW8dmnK/ba6s9rq+Gjg== X-Received: by 2002:a05:6000:2481:b0:391:2e7:67ff with SMTP id ffacd0b85a97d-39efba385bcmr15370237f8f.10.1745392519435; Wed, 23 Apr 2025 00:15:19 -0700 (PDT) Received: from [127.0.1.1] ([2a01:cb1d:dc:7e00:74b0:71bd:6dda:dcc1]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-39efa493446sm17696935f8f.74.2025.04.23.00.15.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 23 Apr 2025 00:15:19 -0700 (PDT) From: Bartosz Golaszewski Date: Wed, 23 Apr 2025 09:15:05 +0200 Subject: [PATCH 03/12] gpio: imx-scu: destroy the mutex in detach path 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: <20250423-gpiochip-set-rv-gpio-part2-v1-3-b22245cde81a@linaro.org> References: <20250423-gpiochip-set-rv-gpio-part2-v1-0-b22245cde81a@linaro.org> In-Reply-To: <20250423-gpiochip-set-rv-gpio-part2-v1-0-b22245cde81a@linaro.org> To: Linus Walleij , Bartosz Golaszewski , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Lixu Zhang , Sakari Ailus , Yinbo Zhu Cc: linux-gpio@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Bartosz Golaszewski X-Mailer: b4 0.14.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=734; i=bartosz.golaszewski@linaro.org; h=from:subject:message-id; bh=A6bOamIB72oLQ5hGEzR33QH/Bp1B4UCeWKdndCamkEk=; b=owEBbQKS/ZANAwAKARGnLqAUcddyAcsmYgBoCJOB+u64B95UsQFPMVESK2lnJJswqucR49QiU qM5uRtHVDiJAjMEAAEKAB0WIQQWnetsC8PEYBPSx58Rpy6gFHHXcgUCaAiTgQAKCRARpy6gFHHX ctxxD/wLXd/qsQ0BHS9BlhvMEx5EIkB868jx8LxJQeZcjlDMcX648FqIzfKRWxNlFmYkizyBzur smmCVpZ2i/RMhIT6Sn2ZGCXayhBTCBqg8uwjgUGkLffr+W9TADoqUxL9rwOJbu52eTuK/2yg0tB uJS8VslXfZbqM44s0YzRxrFhegxdG2mxmjFCZ/4r8d4A86zWCv5wqrELafdwu2YU26wMONIYq1n DC7RgVHjq7wCEKeJS7K6+nIgyBdR46ZOaxfp5FT+1DJLWKmL/MUeSRH8ghe+oPfBbAkOuDH0RkI gZRLAXfIv6xR6goxHaIEzr04Z/i8JgKBWONnrdd/1blua9oeEoTbkdPP7cUk2jx3eq3vSF/HkPE Vh35XevREMqCIOuuNNU93pVXQc4DTRIF6A211n2SZEfwivym3fKjaHXrcfeSSNIYB6vizsyU65x +rkAcc5mPKOytqWK1/AlFGT9PaC4SrczhjUgM9jxQuwzBAeKQQ41tZziXphgGY0MPASvXFg2Yhf A6QeugM7jvnudmzpwy4MwQdH7H0H/TBNb8/NPUwO0NMOYQklfhV377LZU+yl2iiaMZzORqH+Pl0 jrWYliVY2VW1PNVwfhIw8WKqHMuhr/12d/IhPKZ61qYFUQta3cQfZ40Ea9/Om2rjtPsHSpShQZl 432q6n6PUaAKbOw== X-Developer-Key: i=bartosz.golaszewski@linaro.org; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 From: Bartosz Golaszewski Use devm_mutex_init() in order to clean up after the mutex debug data in detach and error path. Signed-off-by: Bartosz Golaszewski Reviewed-by: Linus Walleij Reviewed-by: Peng Fan --- drivers/gpio/gpio-imx-scu.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/gpio/gpio-imx-scu.c b/drivers/gpio/gpio-imx-scu.c index 99df95e65820..cf98b948f804 100644 --- a/drivers/gpio/gpio-imx-scu.c +++ b/drivers/gpio/gpio-imx-scu.c @@ -88,7 +88,10 @@ static int imx_scu_gpio_probe(struct platform_device *pd= ev) return ret; =20 priv->dev =3D dev; - mutex_init(&priv->lock); + + ret =3D devm_mutex_init(&pdev->dev, &priv->lock); + if (ret) + return ret; =20 gc =3D &priv->chip; gc->base =3D -1; --=20 2.45.2 From nobody Fri Dec 19 02:55:58 2025 Received: from mail-wm1-f48.google.com (mail-wm1-f48.google.com [209.85.128.48]) (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 1B437267709 for ; Wed, 23 Apr 2025 07:15:21 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.48 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745392524; cv=none; b=ZTX0Fd0QEoKEgLPlDAJvRhrvyJaQn1ioVvFkswQyWOlxRLPPvQzKnLn1uC+pq/VUPIslQB25Hnn1s+V+7HkZWqsXG2g+49633tvpBkG5XvwM/BiTIbFEgPFms6HukSIPYVop9cjov4UOwbjugfrsSoRZlNPQAW+Nn+nFXfh83PU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745392524; c=relaxed/simple; bh=580JJg8Ww3ZiyIW4O3yV2fBLgEg8aiONXpvmsEP9WsY=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=DjyjorKydCjUy7tBGFPHk5srrYWfmqmwgQ8CbAGx1sPe8bql1ov06kiyDYAY8pwguQwhUvtbjOPm4RSPXam3KbWJRKCZa89hwqa6cFHHsO6ia7qslWCsXLRlUDevlA1iX7m+k8UeQwqoCLeMHtYSKlfsOCxqf/v1nKeYfMh7uvM= 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=jxNoPTEn; arc=none smtp.client-ip=209.85.128.48 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="jxNoPTEn" Received: by mail-wm1-f48.google.com with SMTP id 5b1f17b1804b1-43d04ea9d9aso28371615e9.3 for ; Wed, 23 Apr 2025 00:15:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1745392520; x=1745997320; 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=G2qxZ5SNufiuhH2/QCBic5ml0Ty+5BazjFOvOXbBOTw=; b=jxNoPTEnq/+0Tcaixz3OevV5NG8vqTM9uQvGcOsjPSrn2mrGiOo/D+JGRWVdRjP/Mm KENxEqxLdWgJ6aYajFmmljwqpp6LK7NndDyKwvAjmqviJ7BiwpOXmP8L3b80VKWlXfgK gGhcDL0IsHnLn7gSZzCPAs1T5FE4s/Ke6GMH1ATbXV+mxxaNtEvMMoWNo3fT28+J07K0 Iuv1rGIzDPu7Mlb574+KAMhD5kOmxfmldnf6MoUjhYhWJkPb4mn+B8Ju7xBGuRuyvwdJ 5uWGPj7+wruYp8WDR4Vjjyv9VxguYtxOrhjwmR38PZKdJX1UAS/mdwvqfKd3bAtb1rQS 6yBg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745392520; x=1745997320; 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=G2qxZ5SNufiuhH2/QCBic5ml0Ty+5BazjFOvOXbBOTw=; b=GO/EejKq5vwuplCPx9XnR+vUzBxAcOu2+nj17cHWD/j07C58mFBISxhI2zw/When8k JbF3ARjSoK7fHuHnkph6lQ3krQW0iFbWrM6p+/asbOnGVn3HtnY3CWiynpYcvqucWu+u kUbC0OeexcUsIjGx0+uWuf1BxdV06ViImOKImMZqiHteN8zKkObCYRbPAiXQLXbuZGrD BYjS7L6tqizFZmD7uEskv6R4bEmE8jsnuuIk3AH0+M9SkRODGFdjP/Px0TABUlKta4aA 5BPfNzqmDsG03uRkuk2rMOtJM/qeSz2qTE8Pp9J02uLpzl2hLOZtDmSuYQSyVZQGsk3l QnbA== X-Forwarded-Encrypted: i=1; AJvYcCV7/msEtRUPFNQkx0pdUtgROx6BvvHaAVtCtLxmTEvFCoTLSpy9KYTFJsvcVzvXktr8YFn9Qh2rQha91U0=@vger.kernel.org X-Gm-Message-State: AOJu0YyO/IecNK79ZEmKJP4UWloRRzq/T+TJnILva7EO6+cyhqLrJpgq mKbFDUcuFQtjLRPlYneuLIrSfGQLDrRQtha3GWYsxM/SBucnEse/zThiVwcT8no= X-Gm-Gg: ASbGnctLk3NUgadp9kFGU6XsGtWGvwlBIFrEKh71eLAmCeZPaSsrlDhWL0j/7Q00Urk 5bDg6bNWDk91gXi8cZRTL6oxiwfo3Z24WaVjxzzeRYcGzeoetWFX5ahCKFhsjq1PXaeMRDvUUFe 1jXEUm2cIxTpPizAmnak2397pBDwzKuDRl2UMedKhVlZd674NtcbHOq9jRn/Ix+PNIW1llxF28l 1mFCy7e9dwaeUBtXPU1Iom6gRtb0NSPMDx6undbtle+GeAm4d5UNztZIClhABlEzawG8KQktQsv HoHbiUh4zYWzCYJo+K+/We0DfoJaxNcXWQ== X-Google-Smtp-Source: AGHT+IGX9aP5FGs6mIYBjE2Fy/Cf3MYPL+aEO76HfSyqqWsd5X9AWMYdMfxaiJI4eGNh/jiqHeIceA== X-Received: by 2002:a05:600c:4fcf:b0:440:6a37:be0d with SMTP id 5b1f17b1804b1-4406abb245cmr171540525e9.15.1745392520323; Wed, 23 Apr 2025 00:15:20 -0700 (PDT) Received: from [127.0.1.1] ([2a01:cb1d:dc:7e00:74b0:71bd:6dda:dcc1]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-39efa493446sm17696935f8f.74.2025.04.23.00.15.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 23 Apr 2025 00:15:19 -0700 (PDT) From: Bartosz Golaszewski Date: Wed, 23 Apr 2025 09:15:06 +0200 Subject: [PATCH 04/12] gpio: imx-scu: use new 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: <20250423-gpiochip-set-rv-gpio-part2-v1-4-b22245cde81a@linaro.org> References: <20250423-gpiochip-set-rv-gpio-part2-v1-0-b22245cde81a@linaro.org> In-Reply-To: <20250423-gpiochip-set-rv-gpio-part2-v1-0-b22245cde81a@linaro.org> To: Linus Walleij , Bartosz Golaszewski , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Lixu Zhang , Sakari Ailus , Yinbo Zhu Cc: linux-gpio@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Bartosz Golaszewski X-Mailer: b4 0.14.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=1536; i=bartosz.golaszewski@linaro.org; h=from:subject:message-id; bh=FRmNocCMgDCqyKK3swLP6cODkyyIC7OT79L9GAY0bjI=; b=owEBbQKS/ZANAwAKARGnLqAUcddyAcsmYgBoCJOB/Ov6sr/uWpQe44AZ9kTd5SkCbX39gaQdU ccSZyRED5+JAjMEAAEKAB0WIQQWnetsC8PEYBPSx58Rpy6gFHHXcgUCaAiTgQAKCRARpy6gFHHX cggXEADC9I9dAp8L1/RZQY0dK85ZOpEVf6XAJMrSnBsXrkLU6zw7OZw5gZkWmuoJf4VcHq/ObGx OOhgSlr0WVXDo6p+71iJY1PXUy7IXdkfl3o8/f7H3TRHoczV9Tlc72JuZl/EJopVg3cpI5xRoPS zq7H8TZvPbwH49XwIanfFJCXAORxh8P8YSWVm1rn/oqrMUM35wIXkPe5Mvqq8DWJYWbmHgh5z3L /tq3HhHxfZGOGDZRbGsT1shgiAcVugWAKTafplG8JXQ93NdJjlrlM4Lno+p0DWjUd9JLjleYD+r ZochpLmjlXyaxqH1xATLYR4ZZDAMuji1wbopYnOvFT7HxoAqnRxFkPTSvkBS39wNw8TwsG5XuOO 5TlTkSEfB4W3GyMmWqhv4AvCnIyll2p7V0/2Vkq8OfR2fHJEpKwZfwsWdfBeCFK6BsLwiTZge23 bDWGLZfvXivk+h26DY325XhI+4ZtK/PJaabjA/YAF40tVztEJgXYxNx/7SGj6vFpKTj9MS1hlFz NkdXl9BY3YDy32+JDNv7DYgBWB0L7/hVA1cEX9nz8gQDN3Nq0+toSuigcaC02VYkZgp/cCKC4ZH bgMWCHgNflrBiDi5V/EsYMZBTaQQiiaoYLijx72aN++D6tnudp9Y0o/dqxjScLYfu8xNbjfcupu LRcbpKCJb1Q4l3g== 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 Reviewed-by: Linus Walleij Reviewed-by: Peng Fan --- drivers/gpio/gpio-imx-scu.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/drivers/gpio/gpio-imx-scu.c b/drivers/gpio/gpio-imx-scu.c index cf98b948f804..1693dbf1b777 100644 --- a/drivers/gpio/gpio-imx-scu.c +++ b/drivers/gpio/gpio-imx-scu.c @@ -52,7 +52,8 @@ static int imx_scu_gpio_get(struct gpio_chip *chip, unsig= ned int offset) return level; } =20 -static void imx_scu_gpio_set(struct gpio_chip *chip, unsigned int offset, = int value) +static int imx_scu_gpio_set(struct gpio_chip *chip, unsigned int offset, + int value) { struct scu_gpio_priv *priv =3D gpiochip_get_data(chip); int err; @@ -65,6 +66,8 @@ static void imx_scu_gpio_set(struct gpio_chip *chip, unsi= gned int offset, int va if (err) dev_err(priv->dev, "SCU set (%d) failed: %d\n", scu_rsrc_arr[offset], err); + + return err; } =20 static int imx_scu_gpio_get_direction(struct gpio_chip *chip, unsigned int= offset) @@ -99,7 +102,7 @@ static int imx_scu_gpio_probe(struct platform_device *pd= ev) gc->ngpio =3D ARRAY_SIZE(scu_rsrc_arr); gc->label =3D dev_name(dev); gc->get =3D imx_scu_gpio_get; - gc->set =3D imx_scu_gpio_set; + gc->set_rv =3D imx_scu_gpio_set; gc->get_direction =3D imx_scu_gpio_get_direction; =20 platform_set_drvdata(pdev, priv); --=20 2.45.2 From nobody Fri Dec 19 02:55:58 2025 Received: from mail-wr1-f50.google.com (mail-wr1-f50.google.com [209.85.221.50]) (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 98D0F267F57 for ; Wed, 23 Apr 2025 07:15:23 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.50 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745392525; cv=none; b=NJX2Xi5qDFW6THznej5U2hfqmOEdo83Bmw3h+AT3aNKqVaTJIBYfr0/tvgAH7tW7/rwjCd9+K8TwQKDCXRVOTf3DzhBSX7DyjM+nmTPaOnCnpbsXGrVnqgcD3M2cduIZz87yvjwcWYx+/nG65v1/8NcCjZ1Q9W7vGz1l6YjcWbY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745392525; c=relaxed/simple; bh=XZ6xojvd/sruxF+mCw9vlXl0QAMDn2VLNkwr1xB5uWE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=kwprv1MSVzi4edvnleRmulNTBToa+WHHIzj2TfLa2ZvrIKchEc5nfrQj9fipBdq69aobUDeSvlHMOxVAJVoChVZLKsNfzPCPEZ8uqE2TxCiyTIgcZ0myoVdQIqkOsbXJPp23bJaKeebxNfu0kboqxYqLrxxYgxgcjM1D4AakjWo= 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=J/Jj7Abg; arc=none smtp.client-ip=209.85.221.50 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="J/Jj7Abg" Received: by mail-wr1-f50.google.com with SMTP id ffacd0b85a97d-39c31e4c3e5so4136028f8f.0 for ; Wed, 23 Apr 2025 00:15:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1745392522; x=1745997322; 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=EFMUXD1U+4Z14AqM+HV1w8wuHug1ZmPE1i35Sl+Hm6o=; b=J/Jj7Abg283jnLsj+yavSCkfxvRD7ExsmlBGM917xPKsfa3IUukPWVTPEAv5iH3w0/ jR76KJQ37gw1TDGy4yGwLswamvRQtmG/p1S+0JeqiL1hLcr1J+8PsipSYO7UlXmWdiKF gr4ktZQIzp30FxFJ/XqEiPjPY+J7+CTLoAQ+bUedEcLUDeer+TssqfToxyQfa/VykZwz 4JiEssWMnDUGKymvQnCznbF36mtPzG+Uh8h5OHmevUkS95HN4LFPMOKgRCJ/loBLp96/ nVuI+VBlIHHutN71Zn2wKGveJVcyVWUqGzH2TloWK76Euz/JYmPuE9iQ7wRAG1ext+r6 QuVQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745392522; x=1745997322; 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=EFMUXD1U+4Z14AqM+HV1w8wuHug1ZmPE1i35Sl+Hm6o=; b=Qx6BCWKdql0HmoQDLaGtdpnDV+QR+2Jhqld3JA8V83wcVoQyce6WgyuVsuEA8DNhjS m4PX78VMWO4lUqrvKEY/9W5zbQiw9bLIEI62x44jIEUeGoNl9JHa8ljizLVYN4ajF83y KjY0IoNWfzqyiY6smwMR3JJdqItnOB+YyMD7nQaq91l03YSXmZSp7FpCSE+RgRVFJiKZ OVDVOzX/KRXxtaIbqJlojIoB/mQEWANmt022j4FRvtrKpOzfMYeN/1fjp9AW4xvlcEnA Si/zBfVVPCGnPsF39MYpjt7Tt5Zh1wBVJYPQJv5T8tkzYIU02Ok2utW8fqlumA9NkhFB bLQQ== X-Forwarded-Encrypted: i=1; AJvYcCU0GuJqApU4rpaJzjUaWj9P7KSAWkaipm+dO092Fm6QIy4ZiBBacZ/oGqVPzomoHvBvMvEmYvP1oG2P31Q=@vger.kernel.org X-Gm-Message-State: AOJu0YwtXPCF4r5jMWmVLjb7b7eEmMKnjGybz6Ok8mp7AoTfTwGcOJbF VO931du70pKhRDLkiInxVa1YdB++K+z55ylOmjAW90nnuZnjow8rtL+WZ76ibBM= X-Gm-Gg: ASbGnctFEFtRTOp7LMJAnqEGcvrVKv9TWfFYC52OBTgmPfaESNuiZ8Hh3N93ek8Jj/P RLRye4g1prS83PPcdGexcs/ehc8wIALAA42hfdXviSfg+juvZEri3PthkfiMo/9mt2UdqOIkhEh daJTrkwn8CdzeXs2tfssLsJHGaLHDcnECPczqHuzQJDWdfC8RuN9xReuCeSytEG+S8J7beLza8s /4YVZiAibgX3SaC8aXVDI8y/R49/xa62kk4nNISdGXjJVH/cLnI3NE9D9mgRRVDRlwonIU8RfhY anwWvAZPAHK7iC+Q0jTz0c5oeVU2o5IDog== X-Google-Smtp-Source: AGHT+IHvsBcpeDWfBI/J2ZFwFCxrj5c1G/ZijldBOLJ+QHGBhSPa+tWadnMgTQM8cXeS6fsrFI6NKQ== X-Received: by 2002:adf:f94a:0:b0:39f:6e9:8701 with SMTP id ffacd0b85a97d-39f06e9871dmr8041245f8f.7.1745392521822; Wed, 23 Apr 2025 00:15:21 -0700 (PDT) Received: from [127.0.1.1] ([2a01:cb1d:dc:7e00:74b0:71bd:6dda:dcc1]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-39efa493446sm17696935f8f.74.2025.04.23.00.15.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 23 Apr 2025 00:15:20 -0700 (PDT) From: Bartosz Golaszewski Date: Wed, 23 Apr 2025 09:15:07 +0200 Subject: [PATCH 05/12] gpio: it87: use new 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: <20250423-gpiochip-set-rv-gpio-part2-v1-5-b22245cde81a@linaro.org> References: <20250423-gpiochip-set-rv-gpio-part2-v1-0-b22245cde81a@linaro.org> In-Reply-To: <20250423-gpiochip-set-rv-gpio-part2-v1-0-b22245cde81a@linaro.org> To: Linus Walleij , Bartosz Golaszewski , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Lixu Zhang , Sakari Ailus , Yinbo Zhu Cc: linux-gpio@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Bartosz Golaszewski X-Mailer: b4 0.14.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=1685; i=bartosz.golaszewski@linaro.org; h=from:subject:message-id; bh=yQXPOqcv3YdoDMJN26EWQWwmF6WtRyLx2iAMkZ4jR2Q=; b=owEBbQKS/ZANAwAKARGnLqAUcddyAcsmYgBoCJOB/2C4C8bp0IytZf1fZVlthvBDEJeTwZpbU 1xYV3YMLBeJAjMEAAEKAB0WIQQWnetsC8PEYBPSx58Rpy6gFHHXcgUCaAiTgQAKCRARpy6gFHHX cvFCEACywxkvcnWQIWdFASec3Bgy1BDbBkOwECogN+Tf0BW6jjjtMhLaYlakK70ThJwbwhpvbUk uTcNGfW73G5dusyRfhVo8jV864P9WLKJRvPWN4fY6POTOmkYS8HuSB8y2ySIFdhkY11wIAMaWEr V5GFNUiFTHl5LpHdBfU/iA8u0VAq4PkvdFd2P6sC8l6QPnQK2yRAjaXgtw7l0oDscOTrwr8nkZb zpD3HIqIbp+4DW5XLnmZPFlpv+5GOiIJzKjY4VP38iPJltW3gFZthDg730+RrKm2dYY9dT8XMKX t6veqXdJwNvyWBDvwMj6jlzOMSHcoKL9EI/GN2LQnHD8K14P95f4wN6nJdjzkhIp8kY8NMvAG0M vGDY2MmLZFfx/viAY9H/jX5kELjO4upTXGb0HMpsMNlvPiLh9Obee+3BMN1we/axJVmGCCa5qgp BJTAqJAQWupVylYmsGyeIrDN6oVny1bg9T9J3BXIRKbRFeGY4wLeYXvTICsl3XDDyMyupOjltOI Rt9Z/iBdMS3P0O7JYIvMdF7U1hKFuabfVoQymeyQEgm5dc4F6zOt2WPSJHbUub145QgCVOorCXL K5zAKoQuqxCtTJYGPyTlNwNei70stMpgj1yXWSLNJ7/RNuvDZy0IHUkeqD2TGsRE6ZRsTp5vgV/ xluig4eEUuGwCzw== 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 Reviewed-by: Linus Walleij Reviewed-by: Peng Fan --- drivers/gpio/gpio-it87.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/drivers/gpio/gpio-it87.c b/drivers/gpio/gpio-it87.c index f332341fd4c8..d8184b527bac 100644 --- a/drivers/gpio/gpio-it87.c +++ b/drivers/gpio/gpio-it87.c @@ -213,8 +213,7 @@ static int it87_gpio_direction_in(struct gpio_chip *chi= p, unsigned gpio_num) return rc; } =20 -static void it87_gpio_set(struct gpio_chip *chip, - unsigned gpio_num, int val) +static int it87_gpio_set(struct gpio_chip *chip, unsigned int gpio_num, in= t val) { u8 mask, curr_vals; u16 reg; @@ -228,6 +227,8 @@ static void it87_gpio_set(struct gpio_chip *chip, outb(curr_vals | mask, reg); else outb(curr_vals & ~mask, reg); + + return 0; } =20 static int it87_gpio_direction_out(struct gpio_chip *chip, @@ -249,7 +250,9 @@ static int it87_gpio_direction_out(struct gpio_chip *ch= ip, /* set the output enable bit */ superio_set_mask(mask, group + it87_gpio->output_base); =20 - it87_gpio_set(chip, gpio_num, val); + rc =3D it87_gpio_set(chip, gpio_num, val); + if (rc) + goto exit; =20 superio_exit(); =20 @@ -264,7 +267,7 @@ static const struct gpio_chip it87_template_chip =3D { .request =3D it87_gpio_request, .get =3D it87_gpio_get, .direction_input =3D it87_gpio_direction_in, - .set =3D it87_gpio_set, + .set_rv =3D it87_gpio_set, .direction_output =3D it87_gpio_direction_out, .base =3D -1 }; --=20 2.45.2 From nobody Fri Dec 19 02:55:58 2025 Received: from mail-wm1-f41.google.com (mail-wm1-f41.google.com [209.85.128.41]) (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 6C9E22676E6 for ; Wed, 23 Apr 2025 07:15:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.41 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745392526; cv=none; b=tHa4uJbnWHwE0GsxY1IbXDNpQch++MHjsbU69KDaQTGjpP6zjw6x4VgS3RA4WFFFhAFvtrkIGg0QpvwZB0tE2WMcurJUbVN1U6XlgVbCaJI1/tUoDxR7TVcV5PDFN9pHGWUBo+cEEAKKqFzRVgKOwu20VQd7EtF1FX0s56B5LeM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745392526; c=relaxed/simple; bh=Yz8WOxIm3KcX8ffshwPSeQmdmfycny0IGC1PIWIi2Ws=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=jfnJ59E49Mx5RWijjmz5Kr9p64DqmRzN6CbIctPuBov8bkAJrSQgkWcWKucWSqo9Hzt5/1rEuixSUxH+plo93o+P9HriSwRMbAgz/FYhHhUZ3l0SNmpHNcTvpeXs1zo8ZqUF775XV8GtLx3QcompZqLVZiQr2810By21gHvanHg= 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=s8Inao+H; arc=none smtp.client-ip=209.85.128.41 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="s8Inao+H" Received: by mail-wm1-f41.google.com with SMTP id 5b1f17b1804b1-4394a0c65fcso64606375e9.1 for ; Wed, 23 Apr 2025 00:15:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1745392523; x=1745997323; 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=cOrKi22/dqfrB3rRPsto8GuhAZh+Tay+I6m8tbaX9ss=; b=s8Inao+HBsn/qzLtzG0AMkI1+V8LEHbhpySNhCFQ9yC5vzrTw+H7usY45Gl34JGaLC jDVat0KzWvoeuxvPOC+bZGlGBICNLhrs6W5wg9Bbd+d6AESBynP9eVgWIWvpk5qbSWzN snYRWUDRyS2tml6DR+MJoLNKsYdKihC6AgC8X5WmMr4+Q0hZ/8z7JJmfN2/IU5bC3shf iqcVkHFRif89BDi7VvJE6AXSAkD1CPrc47chrDl6T1dxCTsxm81L+XdjEDKRITP+Mcim iSHD5RYikTfe3KM3cCv+YG8g26wp+rwXn8+QAwzEw9fep1aR/d98YOB11hB2MNnXodXJ JsSw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745392523; x=1745997323; 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=cOrKi22/dqfrB3rRPsto8GuhAZh+Tay+I6m8tbaX9ss=; b=qeSOsa2bzlt5m0+dPIHPtSNlzzX2yrMTMF0pjt00bJapoQAnCH2VA7f8zBVn/12qaJ boa4vsJrAiE3jM65cU3YK/L/XCyaE9wGsFWWfaOD8d985wwx+wnnvfO9gfohHvkz6m/A iZllTLWybn9nvZlwQ8gpoyzbcACOQ2J8eh117fdyxSbyG9MNb7IVWfLvh5sut2Acubn4 SsUUn18QEQGAVJacnUXaOhkAx0n/IlVu3MfbrPEn9Ll9V6BRIUEbdPVBMbDDrTHBMos0 nPY5EsC9mjnDrs/uebKvuqxTrjel5Q6EEZINb+hhK+Io0hKm7VeEkExL8bFMzkIXQHQM 2K6Q== X-Forwarded-Encrypted: i=1; AJvYcCWzehALqssAsPh406QF9bCx1VnGcvXR6kCfG8tQPvZfHZyQTvNXNdf48ydKzFtT4Mt7y79fPHYgNvQp6c4=@vger.kernel.org X-Gm-Message-State: AOJu0Yz5tQp4+rSCz2rWJgF0/Tsi1ot/FzMrOwCO6k3JUAY3rIrvNSzL xZIAxpBOfBMg1GYesDdSxikBHFNnybvUVwwAM3BoiaG1Kz3MPb3jwUO7wc6hboi5vCKphSDmgqM QKpk= X-Gm-Gg: ASbGncv9Xh0GRlBzE0Xix9Vf6ABzwY1N54iueQM4N+YtkTQccI3tG7WWXIz+YpdnyMG HzaW7v0xYhxAN0B7rLYzhEBQICZ+SRm3hs7UalOnnbg+5x2bD2tVNaACYFc35HaOW/SibNKd6CY W7Yy872PvCMhgmlUCrt9H/eJ0vKdaMkCQVntmoQ5YwitYDuq9S7h+iGl6JLVthh7BN5gSziwUrK 1wnQJvi3E2CZC9x5n9p3rBCCIzTnAA/MZBVFs1W7jeDHUy8Phzfjnj3dM60GkacHzXoR2CGD/Yn U3qYGT5Ajih2OhzE3bfoI/aSdBDuB2p25rhuwi8gKOFO X-Google-Smtp-Source: AGHT+IHdkGntLIJpgevULhTBulmEF5ptbiFqEcKnuw1ZYC5LO7PfKcAh/nJQn8PlRTrDNV7n7jcsNA== X-Received: by 2002:a05:6000:1ac9:b0:39b:fa24:950a with SMTP id ffacd0b85a97d-39efbadeb66mr15392672f8f.36.1745392522799; Wed, 23 Apr 2025 00:15:22 -0700 (PDT) Received: from [127.0.1.1] ([2a01:cb1d:dc:7e00:74b0:71bd:6dda:dcc1]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-39efa493446sm17696935f8f.74.2025.04.23.00.15.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 23 Apr 2025 00:15:22 -0700 (PDT) From: Bartosz Golaszewski Date: Wed, 23 Apr 2025 09:15:08 +0200 Subject: [PATCH 06/12] gpio: janz-ttl: use new 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: <20250423-gpiochip-set-rv-gpio-part2-v1-6-b22245cde81a@linaro.org> References: <20250423-gpiochip-set-rv-gpio-part2-v1-0-b22245cde81a@linaro.org> In-Reply-To: <20250423-gpiochip-set-rv-gpio-part2-v1-0-b22245cde81a@linaro.org> To: Linus Walleij , Bartosz Golaszewski , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Lixu Zhang , Sakari Ailus , Yinbo Zhu Cc: linux-gpio@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Bartosz Golaszewski X-Mailer: b4 0.14.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=1427; i=bartosz.golaszewski@linaro.org; h=from:subject:message-id; bh=oGCmkNdKxO8RV4qMx171fBCKku3RxsPW1rRe6wl5k5U=; b=owEBbQKS/ZANAwAKARGnLqAUcddyAcsmYgBoCJOC3ZB4v8rJEF242h0kCZt7/M/4vNi5Q9Irc rSkGUQUQIuJAjMEAAEKAB0WIQQWnetsC8PEYBPSx58Rpy6gFHHXcgUCaAiTggAKCRARpy6gFHHX ci9aD/wMJoqanBDyhWyV2ciSgT4vnvNazG6/H6xjmAw90A83pI0LeE/uBgMTjVvQcXkJ5sq9IYL pMQSAJDO+V6stHMm3pb8C6op4t6h3Uc3VyntOGzonCdXOhYHjtd3z7+1O1AgceR1Sfh+XqzK8Ap RDabrPY6r0T60Q66e9DKH6C/GuUq++t7HdI6+p8bK+4hyg1KsZ2riCv/y6Jv9RDUwkDHeAgSPMi n+xeuvQH4kpG2kutaopWhLWTNt4QLNFjzcR3NR6t7PXKfsVZmXpG3wGWmCs1pazlZaoVTuidua3 JPPn+8N1sO/TF+0t1fMuq7nmhzaXJy6wvGv7qUVzk4yVVZYqHd0TzaWfpTdXmtfcrTyGKVM1zQh WpNYEX+OG/GZqgllUCdo2g2HfGMcvoyyOtsArAdwuUMDRgyasslD5iMmf72CTQBi2h0boA/y5HD JAcVLK498gmhcjsDh8Z2B3G2OWMC4JnTWtyh5nR7PXGa+bL3h23eyxp58LPtNBE49yPAfgYZnkH EYbwRzldFMMFKj+1mPfhV0R4xDhTYuItjYD0wgpt8WkyqXqstGuhJJmEXA71c5ieMeTYtvYPDba LmT0B9ncjdETBR3ARAWI6mdFerI79rP7ovhcgTOb0S2D4kUYBribi4KtAcjp5K+gjNU5ZXZAJ5i 2pDfSwy4Bdlnp6g== 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 Reviewed-by: Linus Walleij Reviewed-by: Peng Fan --- drivers/gpio/gpio-janz-ttl.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/gpio/gpio-janz-ttl.c b/drivers/gpio/gpio-janz-ttl.c index cdf50e4ea165..9f548eda3888 100644 --- a/drivers/gpio/gpio-janz-ttl.c +++ b/drivers/gpio/gpio-janz-ttl.c @@ -76,7 +76,7 @@ static int ttl_get_value(struct gpio_chip *gpio, unsigned= offset) return !!ret; } =20 -static void ttl_set_value(struct gpio_chip *gpio, unsigned offset, int val= ue) +static int ttl_set_value(struct gpio_chip *gpio, unsigned int offset, int = value) { struct ttl_module *mod =3D dev_get_drvdata(gpio->parent); void __iomem *port; @@ -103,6 +103,8 @@ static void ttl_set_value(struct gpio_chip *gpio, unsig= ned offset, int value) =20 iowrite16be(*shadow, port); spin_unlock(&mod->lock); + + return 0; } =20 static void ttl_write_reg(struct ttl_module *mod, u8 reg, u16 val) @@ -169,7 +171,7 @@ static int ttl_probe(struct platform_device *pdev) gpio->parent =3D &pdev->dev; gpio->label =3D pdev->name; gpio->get =3D ttl_get_value; - gpio->set =3D ttl_set_value; + gpio->set_rv =3D ttl_set_value; gpio->owner =3D THIS_MODULE; =20 /* request dynamic allocation */ --=20 2.45.2 From nobody Fri Dec 19 02:55:58 2025 Received: from mail-wr1-f43.google.com (mail-wr1-f43.google.com [209.85.221.43]) (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 99079268FC2 for ; Wed, 23 Apr 2025 07:15:25 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.43 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745392527; cv=none; b=WFzVSjWNCbbd+Xd+GLxMhiuHyhQN3kacsnLh6wuHfSQR2q0izY/AOWsEKMDHursob3ASudppLsBjHKBPwvWdKY1ktqB8iCcYNmoUZ3flEqaEW5++/XfJeMWlFcpWoRalLENKh7iVH5sFt1jg+I+0fCS6w6FshVcCGjLe6qIkw6Q= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745392527; c=relaxed/simple; bh=yRgnB6XWkeKpphZU/tcz+wQT2+c1lDPE3YxdJdOW1tE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=rgimacM2wMqcYvFFyvOx5TItC87eLYEf6XUuvat4JGEKwXshlqICfgl31VzC8xkV7wCjdqXbF1ZRAIXliuyOftWPpx5KTf8PC7PyUJBLwgy+xKA7hlt3iaX+v0jNHHNb1RiVwowge1xRqWWwUNmb6Uj4otm6+t4UWbLebTFEfyk= 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=wHI3gZct; arc=none smtp.client-ip=209.85.221.43 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="wHI3gZct" Received: by mail-wr1-f43.google.com with SMTP id ffacd0b85a97d-39c0dfad22aso4329605f8f.2 for ; Wed, 23 Apr 2025 00:15:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1745392524; x=1745997324; 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=3dUpHlzVQ0Nluzp3HoN5pgyga3apGsC9qYfohIDy0Rw=; b=wHI3gZctCjELGzmeMNNi5SnHuw5Ns8pY4ql2h6g0gSjBQKyytCAo95FvNKHY0aZPWb lOTt9XcGrQGsLljVli/lPt4GgWAelAVZ52MC3KfLRTrjg+l09C6fTM1rJch0QeQGK4CU /6wZz1zK1HwY8gzADxvDSbdUlVMrBHXDxfMK5bVXbzOZkHrhdtcg0sF64XnxujzWGUFP nb3PSGLjtanNS0m9a4iaymyKx0nunKC9tutBKyWcpZV8buYCsefPxpm7VUFd9DZBW3aX HTQoCEl4p+B13eKeolWgd+SvhPFk+KjOcXCC5s+0rv3NOxYETxEAqvHNSuC+9eSxUmWE vkDg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745392524; x=1745997324; 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=3dUpHlzVQ0Nluzp3HoN5pgyga3apGsC9qYfohIDy0Rw=; b=mv0wJaqJMCwyQyEpFMHhYdmoknEqnu3OM25G00RMycjqxyC7vdTMhs3EVQgDEF1EF8 jbg6O8zquXrbvHC9u68UeVq8d+RqPLNG0FObF3WCMfiP5oFqSGbfwXO/VEbpeAIcV8JK tTRUWytpIUzzwccQnZGdBYeld2f3z4kJOFn2a4cF2UpNwJJ6RtGdpOzBz+QY2A3zpBTJ oTcxKlNdGxnKhvj/oKdCROVXfR2mu8Ey2EdGm3VmBJNw9QyL+BBhn2aR5Jbhmcx9ejgl jaMO64HdtlpPUTUGso4CQDMW5R330qI0PEf9ih9zCyQMGJIgzwh8uAcIjDLh5PG2bug+ MNFg== X-Forwarded-Encrypted: i=1; AJvYcCUwCNUZ/aeqxY6WtGR7SLk9CVzBxcX0y3hlyxryZJB+jyCAdYNGyVU/hz0VbALrGr5fEVA100hn0Bjy/NA=@vger.kernel.org X-Gm-Message-State: AOJu0YxM6xgLWi635DlUVGey/A5Mm6yjtmwnXcc7aC7NlZAghZXgOtcg 9kyTsQo5eLKS0+i3Z9gzNIFr6vJTH/T2ERvL8i3BTTmyDDx/9ZmGuuzGXtoHQKY= X-Gm-Gg: ASbGncvmHsvkpJ8mKEhaH8Tmgzri3pFL9FVpmuE+1233c6VXDnzHVjC4rIg4FFXTvjA 9cesUXebW7oWC6qPaOsNBQFKZBwHCR1jN8tgSvG+oqMURtk748pnbaxmWInRqOP+uv59e+nuW1P Sn7qVSqF2r+b8ADP8bjE1c4M/kph+je0Lmmku7ZdCtiD/OdTR813RVzyhY2Ed/HgyKMcoZ5hT7O OFdDv2xvMT6IQkli5AveSIq/iM6T8cHiiOgOXhZRw6vC5vrBrULsRx35Tk+ZTTMjosv0YpBVUgF l9L/1f3O9V6JqnSAuH9OqEUTANN5oQeS42F8VSIt3CMY X-Google-Smtp-Source: AGHT+IH2MsdDNILYCsPMW1ySHRfLwTlUNKKijfetG6ax3upZnauWSGQaIMu5VBaZHo1H5K5p/SAe6w== X-Received: by 2002:a5d:5983:0:b0:39f:ef3:b51b with SMTP id ffacd0b85a97d-39f0ef3b57amr5697581f8f.32.1745392523690; Wed, 23 Apr 2025 00:15:23 -0700 (PDT) Received: from [127.0.1.1] ([2a01:cb1d:dc:7e00:74b0:71bd:6dda:dcc1]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-39efa493446sm17696935f8f.74.2025.04.23.00.15.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 23 Apr 2025 00:15:23 -0700 (PDT) From: Bartosz Golaszewski Date: Wed, 23 Apr 2025 09:15:09 +0200 Subject: [PATCH 07/12] gpio: kempld: use new 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: <20250423-gpiochip-set-rv-gpio-part2-v1-7-b22245cde81a@linaro.org> References: <20250423-gpiochip-set-rv-gpio-part2-v1-0-b22245cde81a@linaro.org> In-Reply-To: <20250423-gpiochip-set-rv-gpio-part2-v1-0-b22245cde81a@linaro.org> To: Linus Walleij , Bartosz Golaszewski , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Lixu Zhang , Sakari Ailus , Yinbo Zhu Cc: linux-gpio@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Bartosz Golaszewski X-Mailer: b4 0.14.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=1705; i=bartosz.golaszewski@linaro.org; h=from:subject:message-id; bh=GEPnmbXoB7fEIW2iO7oP13YH/mpOLXVRPH64FaTpdkA=; b=owEBbQKS/ZANAwAKARGnLqAUcddyAcsmYgBoCJOCWLqOVcCM9B5CKNnljLn3XvSwrTZkEt5m+ EdjAfGiBV6JAjMEAAEKAB0WIQQWnetsC8PEYBPSx58Rpy6gFHHXcgUCaAiTggAKCRARpy6gFHHX crz5EACpKy3hnh8x/i7lz5DRdTzrevhdTvj2GHcaNqpC9nMq/9jQxcxHyV8D4Aa1c4sEmS55ux0 xEHbzaaP+jMTCuDrvmgZYLuXPnj0ff1cVBdlqgXoat5CuZYIhFGjUHZu8TIXRyE98MOmXtM+zpf KR15+MKLF/MFgGPf+pFiFnhZQgiIdMTUgGuYDND1XzyytYPoDWairH7zw5gkYcUMo4PtKwu8hzm ki47tNZZCvyhrwVSrSavZMGN3WH7RrbZakehUkRbsf5zUihpWT8G0DNnMLd/8HjNkj2ljjlEpaK pFUx4muqwiDLXH0i1ggHXDG/c4PJKLo9i+xdghac3TQd6m6LQTA+qNpZ3jl8cwch1hf06Je/l95 c/9adIpl0RriXYQFD8+djuJBhz9g0QNW4pa1Hd9Apr9fbLFjJmvHyyky+yoivb06oIgC7sEImX2 LRyro8kke7ChteD4VA1/U23BKFJSg51Zb6NZRS34JKgO05v8l7VUQf41tUrl+ZTacPXjSJ9r/lh pqjbObBMXu+TTSIsK0AVAf8FMw9eSndey7MuOkQR0sLiabTOSUvbKhO+UgZqkbWRJkZ9VPwQ86w Mq25Am90HWAI+h3TYxDI0hf4uOnIAjD5tyAAygo1CqvmeiCnPmza0EgnN3nD7OTQsBXACgi2MTz oi0POfIjKW5cr4g== 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 Reviewed-by: Linus Walleij Reviewed-by: Peng Fan --- drivers/gpio/gpio-kempld.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/drivers/gpio/gpio-kempld.c b/drivers/gpio/gpio-kempld.c index 4ea15f08e0f4..e38e604baa22 100644 --- a/drivers/gpio/gpio-kempld.c +++ b/drivers/gpio/gpio-kempld.c @@ -63,7 +63,8 @@ static int kempld_gpio_get(struct gpio_chip *chip, unsign= ed offset) return !!kempld_gpio_get_bit(pld, KEMPLD_GPIO_LVL_NUM(offset), offset); } =20 -static void kempld_gpio_set(struct gpio_chip *chip, unsigned offset, int v= alue) +static int kempld_gpio_set(struct gpio_chip *chip, unsigned int offset, + int value) { struct kempld_gpio_data *gpio =3D gpiochip_get_data(chip); struct kempld_device_data *pld =3D gpio->pld; @@ -71,6 +72,8 @@ static void kempld_gpio_set(struct gpio_chip *chip, unsig= ned offset, int value) kempld_get_mutex(pld); kempld_gpio_bitop(pld, KEMPLD_GPIO_LVL_NUM(offset), offset, value); kempld_release_mutex(pld); + + return 0; } =20 static int kempld_gpio_direction_input(struct gpio_chip *chip, unsigned of= fset) @@ -166,7 +169,7 @@ static int kempld_gpio_probe(struct platform_device *pd= ev) chip->direction_output =3D kempld_gpio_direction_output; chip->get_direction =3D kempld_gpio_get_direction; chip->get =3D kempld_gpio_get; - chip->set =3D kempld_gpio_set; + chip->set_rv =3D kempld_gpio_set; chip->ngpio =3D kempld_gpio_pincount(pld); if (chip->ngpio =3D=3D 0) { dev_err(dev, "No GPIO pins detected\n"); --=20 2.45.2 From nobody Fri Dec 19 02:55:58 2025 Received: from mail-wm1-f44.google.com (mail-wm1-f44.google.com [209.85.128.44]) (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 CAA25269819 for ; Wed, 23 Apr 2025 07:15:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.44 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745392529; cv=none; b=jE62JgcJRVncB/fZyC8v+pnPcoHHewlLpjtsnrsgQvWGrh0uDRnZN0g+y+2DQtX/YJ1AD+KrooPgGzOCpS496scoZOWYOEBUuSp0K/4ZfsWejkXOK8YK/iOdEfmzY/i0tK9GL/ivs0HlU09h7x1dPEPMsnk+ZRnTQyShO7aCafE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745392529; c=relaxed/simple; bh=HxZIVHd7Ya/Rp9rdtaZgnyu2HXbkzYuPBcLzfbMctys=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=UO61iFWmvuc9WNx+sj9sJKgh/X31V7erT5kOMO+GkAXmBhXwjv4QyH+lmrSeG/tEOaKK2/pYe2QEFGf/XTR72tjh1gcOVrCSdVK/vQVphkLeFggJsFlHcCnFmXKqBg0xviZCYG5G+K3ohN5g7uiLdRRqJghMUTYeIWLV4OaL99E= 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=qvMwyblT; arc=none smtp.client-ip=209.85.128.44 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="qvMwyblT" Received: by mail-wm1-f44.google.com with SMTP id 5b1f17b1804b1-43cf06eabdaso57715135e9.2 for ; Wed, 23 Apr 2025 00:15:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1745392525; x=1745997325; 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=5A9jSD/uIlp6QoHu76NxtQ37T1ywzmxmW0tNa71VcTc=; b=qvMwyblTF70gdkEepDKYC0ht6T0G/gZPeUP0X7WtLVUGfG/EXh0p4K4F4RbkbWi5NR kGiDZTVNxp9vmB9YXOR3Yz8CvS1pGnbIS3hsT0uFsL0JZUvf9UFa4WKzOF1UyEEux3RA XIVkpOnpCmVu5rl2m+nS/Bp4/k67MiRoQ3KebXMz073R8gjcpbBYEcW3UkQxcCfQTwou hNdmQvAzo6LKazDzx455RXqazEwwauNDRwuQMND28HgSi9fWlRELLeUoXlKX1sLSOUF7 O0y7glq1h2UR+/SqI/ve203QnQwn56e0o6IPhdaXQJGJ2kSkbbGjeG7Vhm4cZKb4yh7I WrEQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745392525; x=1745997325; 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=5A9jSD/uIlp6QoHu76NxtQ37T1ywzmxmW0tNa71VcTc=; b=gnY5H2j7j0oLSooUTsWqivdLfWd3fjux0xJ6CNDEEywx+xd4VSTffXYwAkdipkvoCK ZJW4rXZWxO5RENpK36cAjc6zA+LyZD2PuN2U2QketRMeFZcSmO5ksM4jCZoXUB1HyuGY ClMBxFx2axS+YuGiQEJKfgC+zlXHVrfDNvknJ0XtbOq2JX2rZaqXHFhlaNAJQ6fT6aAF EmRYA0C6TPwGgoZ1tBLuYqPSbzTP1RQZUZTWFgyH2SjsIkFARpQX0M91LIhFRKDaCW+7 la5UR/acihhM4GE7SFq6zSBGopgGDGT4ceWQbeT7QpWw2aMqYg/Wk1j4nQaB98haBjJI MmBQ== X-Forwarded-Encrypted: i=1; AJvYcCWQde3iJUPbf3INOfzydXpICQ/DMeVk+2PB2gLrDcWfZNsit779N/eFiZJMlE4hD1ag0cLjg2jqobMAlHw=@vger.kernel.org X-Gm-Message-State: AOJu0YwlggWIMLAncT5bDnpZip9PFXQVrtrsGSThgxg3OiFBi07wQeGx eN44GSbxO6FtC+T72thmVDkD3XqXVrKuf5ZCPtepueDwjNDmPWJl1pmjq1MOv2g= X-Gm-Gg: ASbGnctV5Fx0Cr/7MMY4liNi4zsa8n5QhgsHLu6PlwBWvBimTRqJZPs+ugtZJTMXxrd RwqutmDIfOCvB5txdQCkFVu3Q2K+Cz/JY9U38RN+PyneeJcYp1I2da3e9+a0ulpgFBYY6L9pP2+ UlrXbJQsbkEgB/flYHtQPmLcmaUYreuSyTEtst3EEQf9sI5ylKsJXx/b30KskCXgRScFbg48y99 U1H5r2HchVNEq9EyG/BKWECzpR4kXKGAwmFI/pcw4huVkWc+l4eIsdIN97EHe73hmPemo5cdmcr paNquZXj8xMnzb3Q1wbUphXSSevU3Dzihg== X-Google-Smtp-Source: AGHT+IEn1spt/h2u5dpKe8vDHbB7DwPQ7hB5lVmJHia8LQyke4IXqZH06mvc9G/kfquH6FxEAPcrzA== X-Received: by 2002:a05:600c:1914:b0:43d:45a:8fc1 with SMTP id 5b1f17b1804b1-4406ab70701mr153653645e9.4.1745392524615; Wed, 23 Apr 2025 00:15:24 -0700 (PDT) Received: from [127.0.1.1] ([2a01:cb1d:dc:7e00:74b0:71bd:6dda:dcc1]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-39efa493446sm17696935f8f.74.2025.04.23.00.15.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 23 Apr 2025 00:15:24 -0700 (PDT) From: Bartosz Golaszewski Date: Wed, 23 Apr 2025 09:15:10 +0200 Subject: [PATCH 08/12] gpio: ljca: use new 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: <20250423-gpiochip-set-rv-gpio-part2-v1-8-b22245cde81a@linaro.org> References: <20250423-gpiochip-set-rv-gpio-part2-v1-0-b22245cde81a@linaro.org> In-Reply-To: <20250423-gpiochip-set-rv-gpio-part2-v1-0-b22245cde81a@linaro.org> To: Linus Walleij , Bartosz Golaszewski , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Lixu Zhang , Sakari Ailus , Yinbo Zhu Cc: linux-gpio@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Bartosz Golaszewski X-Mailer: b4 0.14.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=2030; i=bartosz.golaszewski@linaro.org; h=from:subject:message-id; bh=b4e9Yh21OkyIv9obgoEt9uaVpzJ2jn0uGM1AhPkmL8k=; b=owEBbQKS/ZANAwAKARGnLqAUcddyAcsmYgBoCJOCVzTKB9P3OgjYJzBe1LF+XVaeO2f9Li9su ekmz2jV/HuJAjMEAAEKAB0WIQQWnetsC8PEYBPSx58Rpy6gFHHXcgUCaAiTggAKCRARpy6gFHHX chT0D/9Pz0ea0xoZZIO8L5T7J6QFHTeq5HWhqnCTnNTNkelWPIudJu0KNhs3oCRhcZT/u71VnLL WcJEsXuNcdIoK7140LbEMlu3xYC61N0tP0CCMtrRT4B4Ddv2FQZY9WOE3FaFsluPeeDlaZKjIJI xNbkSCV/U3XJO8dxLCewcUf+ju3Tb/kddy/4qFAC07yNbcjEEKFg8wROjW10gAQDu2L1famCSmL Q9vP0Fiynki7tK7OSm8dDdN4a3oLsmuyx+c79R2h/o0YnvAoivFZXfoe25SwXg0BRkk+hWRtlZP r5c3EhV8g44ZfP6E4D9t2xzFNLpuV3pqruIsgzse5vuIsW2UKLFzeiq5MTArUpDRuj8jiuDNbSO g33fz+nv37+1yzrIzstqCtSuNe0B64gixzlLEmRlLxq2yrM2Dsmr/bMs5upNB4UdlU2/Aoa1wp5 QPqX2giIFEH+huZ65p+6UJoPU067Q/kFuZmGVO/KzrFNMRcO0EWeyspwsBTBBK/+1FdQPADGpI7 gDrHr5UCRdmfoCd4bQLS7C4AosydlvVkfNTnSjgy0JK9ORZcpsKIYzxEnUyHHfv2hSrdqJO98MO 4I0iE2dE1nBKtQKxvrFQRIF8qPKrJtCoHpZMSJci3zKDDWnqShghUOaMKQpof5pYSu/UYM6rADX fYZqx3dLCF4OPIA== 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 Reviewed-by: Linus Walleij Reviewed-by: Peng Fan Reviewed-by: Sakari Ailus --- drivers/gpio/gpio-ljca.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/drivers/gpio/gpio-ljca.c b/drivers/gpio/gpio-ljca.c index 817ecb12d550..61524a9ba765 100644 --- a/drivers/gpio/gpio-ljca.c +++ b/drivers/gpio/gpio-ljca.c @@ -144,8 +144,8 @@ static int ljca_gpio_get_value(struct gpio_chip *chip, = unsigned int offset) return ljca_gpio_read(ljca_gpio, offset); } =20 -static void ljca_gpio_set_value(struct gpio_chip *chip, unsigned int offse= t, - int val) +static int ljca_gpio_set_value(struct gpio_chip *chip, unsigned int offset, + int val) { struct ljca_gpio_dev *ljca_gpio =3D gpiochip_get_data(chip); int ret; @@ -155,6 +155,8 @@ static void ljca_gpio_set_value(struct gpio_chip *chip,= unsigned int offset, dev_err(chip->parent, "set value failed offset: %u val: %d ret: %d\n", offset, val, ret); + + return ret; } =20 static int ljca_gpio_direction_input(struct gpio_chip *chip, unsigned int = offset) @@ -183,7 +185,10 @@ static int ljca_gpio_direction_output(struct gpio_chip= *chip, if (ret) return ret; =20 - ljca_gpio_set_value(chip, offset, val); + ret =3D ljca_gpio_set_value(chip, offset, val); + if (ret) + return ret; + set_bit(offset, ljca_gpio->output_enabled); =20 return 0; @@ -432,7 +437,7 @@ static int ljca_gpio_probe(struct auxiliary_device *aux= dev, ljca_gpio->gc.direction_output =3D ljca_gpio_direction_output; ljca_gpio->gc.get_direction =3D ljca_gpio_get_direction; ljca_gpio->gc.get =3D ljca_gpio_get_value; - ljca_gpio->gc.set =3D ljca_gpio_set_value; + ljca_gpio->gc.set_rv =3D ljca_gpio_set_value; ljca_gpio->gc.set_config =3D ljca_gpio_set_config; ljca_gpio->gc.init_valid_mask =3D ljca_gpio_init_valid_mask; ljca_gpio->gc.can_sleep =3D true; --=20 2.45.2 From nobody Fri Dec 19 02:55:58 2025 Received: from mail-wr1-f49.google.com (mail-wr1-f49.google.com [209.85.221.49]) (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 79DFE26983E for ; Wed, 23 Apr 2025 07:15:27 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.49 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745392530; cv=none; b=tsPZODsTuBCtNqjGSf7PsnP0N79PwEQQm3kWDApXWP/rToaTMYdND7wjkta4aVhM2w9YwvACLI+WTuY/GP1lhkHKik2ncrmQ9cFIhdNViCfEHvQmqB57MNsH4CureMkgSr0ZQBW3HtxygkInwBdi1I19ia4Bu+0nUJ6Ja71FQDs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745392530; c=relaxed/simple; bh=dRmgJRa861MmI7blzQlLwpGi6JFHMnyAWY0K50sqM2g=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=LZ8yUIsUfV2u0CJoqIe4nS+4IQa0pZlEkUB9iKeZyLiBvi8OhGnAvzxXFfL27kYTyCVHPvJZTWgO6XohmbWIELAttI1ZazEQh0+MA8gAEtZyjXTxFlRIpCxQX2pHxuWFDXSev+QrnWtvO1aqfIXwslgsCp9kDrpgWaJoEe9d1Q8= 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=nANj4de8; arc=none smtp.client-ip=209.85.221.49 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="nANj4de8" Received: by mail-wr1-f49.google.com with SMTP id ffacd0b85a97d-39c266c1389so4467055f8f.1 for ; Wed, 23 Apr 2025 00:15:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1745392526; x=1745997326; 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=8ir3eyI8qcGGsO3Ggl/orTJMx3W1xOxCUBEIWWxHP8U=; b=nANj4de82SsjnCkhPuDL7SHPTXUSjaVsPwVhpcApbskINOGTGOra7rZ/kW/0xeCJIc 30RrWf/4woyVQm95rPt2TqepHHBltrPg4TZWQQSD49AU2HCnSqfMdNga/z67FJSnWcgo +Y030nBkiJ+8DP915XbWfdKGb2zpIUPff0tVpgUOb2HP5jUyCapExwT3RlfNq68A/8ba KRgEs+tiMT1NyL/6WCWcafXazVtUcAoAJOS6FIdrfoqVV7RHrbldbJs9/5QT0AWhQdoa gbsp3wSEQa/eyYC5eYD0kkKu2AqNn8A3CPcf1qgsFGvtyIBbuVc4XVf7Nunf0cAcCxWl HwOw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745392526; x=1745997326; 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=8ir3eyI8qcGGsO3Ggl/orTJMx3W1xOxCUBEIWWxHP8U=; b=c842HpRBemGU73Kgrg7QDZ5fcQfB0nSjQgwaD4VnuhY1bNkTLzueDXBn+2YycYVwYW h0d5zIf12diJ66C7+veCbC26oIXRyFdYErMLukkDxa55szLri9ROp4qEQGd+QThFRMDM MuLVE4lxVba6hq4OJqxPhwiPBnC5bSLoEyFt90Otu3gCu7dFISOldm9tp7Uji+CFhZKc YYzlYy8lav6pj9LJL3GRJcvY5BYptqe/UWC5X6V17OtcHku97Yr7sRyiHOxV5xh9XUMX Pc7U7xpvZkklFqyE6DLasyDCvYvtdK28uRdISuwsuhHQebyHSnyaPTAgTjvPz3+Y+Nq/ +nEg== X-Forwarded-Encrypted: i=1; AJvYcCUZG7Mgm5IUzNf6y71sMD31AZYoPr/fGp4/RTI/BuTYJX7TonMB0lOBQC/dkr8MrQ6g2Nl400RyJ1q3VHk=@vger.kernel.org X-Gm-Message-State: AOJu0Yw7DT4QTXsYj3brlQxY1lY1irCXGphn6lUuzv1WRea9UFNcc7Ii eNjdGhusafyJxR8W99QGChW7Ua/oXPy9K/p4maZTl/9fWDT9UQ/uRHk6La7XpCM= X-Gm-Gg: ASbGncsqDI3j5LwZHyLKdsvqNdHCEwfAWC2bYAJvGiQd3yk4GrBm1gHi92G/7h1B7nT LZkdTDenU0qZ33XqqRh801SIF74FDBn1icgV1wpEkBEP9tJg/K7Fv4SxDbf02BKHmGg+N/1kM0J E/ZmNhrQzJyK+en4rSz67aKuY3wCtbM/yRxvI6MUp+PbzgaQqkxXMd6q5WAHzO8h9FyQt3qAjYU EiDuQApXVtNEoDX0FR4LqnD+FKXnqnOKTgK59a+hrEYCYEPvXEObYs/F9Hk0KFX+XviDHtXpJaF iw+Vkm7JcpRv5+0Ey7QcFJlvL/YKrWVt4g== X-Google-Smtp-Source: AGHT+IF6SVfs8RHa2BnADJcSY6J1I9halvCK1KnXR67dc661aBEXTvglED7nQaJPJMMIX/l2j+WJCw== X-Received: by 2002:a05:6000:c08:b0:3a0:65bc:3543 with SMTP id ffacd0b85a97d-3a065bc358amr1886761f8f.35.1745392525708; Wed, 23 Apr 2025 00:15:25 -0700 (PDT) Received: from [127.0.1.1] ([2a01:cb1d:dc:7e00:74b0:71bd:6dda:dcc1]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-39efa493446sm17696935f8f.74.2025.04.23.00.15.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 23 Apr 2025 00:15:25 -0700 (PDT) From: Bartosz Golaszewski Date: Wed, 23 Apr 2025 09:15:11 +0200 Subject: [PATCH 09/12] gpio: logicvc: use new 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: <20250423-gpiochip-set-rv-gpio-part2-v1-9-b22245cde81a@linaro.org> References: <20250423-gpiochip-set-rv-gpio-part2-v1-0-b22245cde81a@linaro.org> In-Reply-To: <20250423-gpiochip-set-rv-gpio-part2-v1-0-b22245cde81a@linaro.org> To: Linus Walleij , Bartosz Golaszewski , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Lixu Zhang , Sakari Ailus , Yinbo Zhu Cc: linux-gpio@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Bartosz Golaszewski X-Mailer: b4 0.14.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=1906; i=bartosz.golaszewski@linaro.org; h=from:subject:message-id; bh=uEXyapUiU2zuU+gAX/AtJAOANlE8Iy85z/xFY4aI4tc=; b=owEBbQKS/ZANAwAKARGnLqAUcddyAcsmYgBoCJOCCFWE0JSqUtSesVr7mzuU1M/ku4tksaurU rUbPU9KQmOJAjMEAAEKAB0WIQQWnetsC8PEYBPSx58Rpy6gFHHXcgUCaAiTggAKCRARpy6gFHHX cmecD/oDvN3BKxrxrluO97/IgXHtepSYXO/eBzaKqLSk46iZdLfN1ELs7wHsUUCRmq2Hcej463z TxWtZwr07ZL908O8pz8zRVVcnJO1yFup+nI+BE7cZ4T7/Pj19/VGw1ho5Th1IVliSLTPDxKv3wE UV75Y1wlMk68b6hXi8hM23v4fz6OXZgdEVCnYPAxYhtntLyBaB4BtG+ThkjKk6d4ss+PUJ17Gdk EyPqUiuMp1mEwIusQp7OsSs4yIpAHNJhCDzNJ/uRmyPQ1f2yXkEz2FVHWApJJxXonw1VRWvpFLq ZG8F8Bk+K0XoBf++3dofAzsCvMyggHSEyAewsW0QmB8skAO926oR8QpVD9gstdjpzKls8ei2q9W Xg9m3Lcquv19Yw9wnZFpRpnNn+XtgJ4cj+83IztRU33NvxcbvFbB9Z9XMNcBj9sz0iAgA6txYgw h5wILlAHqzeoFU7ibGssNASTrg8bH0JSP0ViL5PctN/ye5/i1xGUryRXb650M4S6KRQCSjgL/VK i0RmEiBUqd0Dvr2K5qGV16O1j39J7oVtu60wglI9huydbBqbJG3pMQvi8Bae5FR1Zdj6/a+GLdJ Lcqd053up9xLuw11VFAGN9he49iS8D/z83e2oMdox2G/EHa7hq+p5yQKWQz9+oNDKRmkWne24k1 NSW65Qz796zVw2Q== 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 Reviewed-by: Linus Walleij Reviewed-by: Peng Fan --- drivers/gpio/gpio-logicvc.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/drivers/gpio/gpio-logicvc.c b/drivers/gpio/gpio-logicvc.c index 05d62011f335..19cd2847467c 100644 --- a/drivers/gpio/gpio-logicvc.c +++ b/drivers/gpio/gpio-logicvc.c @@ -61,23 +61,22 @@ static int logicvc_gpio_get(struct gpio_chip *chip, uns= igned offset) return !!(value & bit); } =20 -static void logicvc_gpio_set(struct gpio_chip *chip, unsigned offset, int = value) +static int logicvc_gpio_set(struct gpio_chip *chip, unsigned int offset, + int value) { struct logicvc_gpio *logicvc =3D gpiochip_get_data(chip); unsigned int reg, bit; =20 logicvc_gpio_offset(logicvc, offset, ®, &bit); =20 - regmap_update_bits(logicvc->regmap, reg, bit, value ? bit : 0); + return regmap_update_bits(logicvc->regmap, reg, bit, value ? bit : 0); } =20 static int logicvc_gpio_direction_output(struct gpio_chip *chip, unsigned offset, int value) { /* Pins are always configured as output, so just set the value. */ - logicvc_gpio_set(chip, offset, value); - - return 0; + return logicvc_gpio_set(chip, offset, value); } =20 static struct regmap_config logicvc_gpio_regmap_config =3D { @@ -135,7 +134,7 @@ static int logicvc_gpio_probe(struct platform_device *p= dev) logicvc->chip.ngpio =3D LOGICVC_CTRL_GPIO_BITS + LOGICVC_POWER_CTRL_GPIO_BITS; logicvc->chip.get =3D logicvc_gpio_get; - logicvc->chip.set =3D logicvc_gpio_set; + logicvc->chip.set_rv =3D logicvc_gpio_set; logicvc->chip.direction_output =3D logicvc_gpio_direction_output; =20 return devm_gpiochip_add_data(dev, &logicvc->chip, logicvc); --=20 2.45.2 From nobody Fri Dec 19 02:55:58 2025 Received: from mail-wr1-f47.google.com (mail-wr1-f47.google.com [209.85.221.47]) (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 A146A269CED for ; Wed, 23 Apr 2025 07:15:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.47 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745392530; cv=none; b=OeBWNOT24jGOL+NurFmJ0NRXYdMF9+Gsc8i4VBmFjMb6TvhK4m9CyJ+wl3aEpbPin4/ywHpqQZMOrYMIpiQfr0iL5qwZXzN+CvJ7Aj+CfBM36ImLZr8+YQHjB0fKzGUBX4DO3ODjfJrdDZrdqvC0VkJSTnq1RHgCSC/sNWnRRaA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745392530; c=relaxed/simple; bh=3YefCFbAihyHh6K+CQ9C1No+vZq4v8zZ85pWhxL3XB4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=GMoWAHUFXczS1MdAMuPYss63ylx5Cq8kKg7oYkykr2OWEXMANSQyg0KR4ji/t21BncDpCoYU5M1QIsn7e3uStYHHoJcM+63HizWTvMyL5gRJGDfx2rF5iQsQZPqp2NXj3RfJh/K+DlPiQNuqPuWopm/gNnhpDgDK/zjOzVncaFM= 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=b6VoklWq; arc=none smtp.client-ip=209.85.221.47 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="b6VoklWq" Received: by mail-wr1-f47.google.com with SMTP id ffacd0b85a97d-39d83782ef6so419671f8f.0 for ; Wed, 23 Apr 2025 00:15:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1745392527; x=1745997327; 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=KuO8LXLaj6tGmiK61iwiXl1Q+QX1pLUQ0uBHuTCHujA=; b=b6VoklWqY0rMILQndXC3c/erKO9L84QBAG+WzdaX+xMds9l08NacY1ysLNv1aKEFQh lJfR7olEFvhIP5gsL4dSwd4Q50mnonk0EtmqvpynemsPKraD+K0eKe9YXVKPNUSe8TC0 T3WG+RxGkgqVR1uR02lNYMdHh/AbZ1qtmZId05g02un3wNIKNynaoFN4u+elbx1LJxNk gc07ZY8qaXM/lsWfUmiKmn3UHVGjmRUHpe9OIgNiDoNqy03wuJzSLXoD2lAnUBzgslPh smfWYVTfYNJKvGG/8jG6k6j8Je98hpVuiBkv7WydXVA4WDNC4iL2e8RtW8ZBFxnvgJGB f+yQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745392527; x=1745997327; 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=KuO8LXLaj6tGmiK61iwiXl1Q+QX1pLUQ0uBHuTCHujA=; b=d/NW1DWAY0p8uc1nC/NckJHsA4pAw4EULzqnNIxUCWf68olzBVymp3GaT75B++EBdG kp1SiufdnvPkruoFXrSfNFFDvDhACEGHIs6ihob/ZW89gUIIOXfwhH1D9XyrwRenTfC/ SgOqUojOwhTWF34VFtK7rLNDPIjQH1USrbABSParUk40iq4mnXdGWg8myZaaw9cNrnBf dAIZwR6670MGokaTbX5OGak9TLnNl93bSWC3Xva7ifaGnPoK4CMHiRjQn8qt8iC8cIxB vlbhtx4phwqXcU8EGd/N8RVEGb6CXwa9bBQMiOKRZ2U5CYFMV7vLOYaBQHEMn0NddUTr cB4A== X-Forwarded-Encrypted: i=1; AJvYcCWh4AfnFr8MxLvXQiez4rrcYhnamzXbev+WIY+q6cd22Rm5wK33hKVfVhR7cgUOvTfGppgWdby4foPpdbw=@vger.kernel.org X-Gm-Message-State: AOJu0YyXtGQu2YLqiyG9OPqSNx09eFsT7toUNfg1Zp+KYZ+RjZxzHXt3 8oqGL2nUFbwDBSgivo2tNybIa6bNR0zI1Q1O2uwNYkHBaDmkUFUpc1gA1I/YRqE= X-Gm-Gg: ASbGnctvHKqZg/QThrcDFTNR1mTYfHemgOUnLCXM3QV0hxVpj97J14/qS60qSofVeay JhK7du39WhRuwo3kVfhaTvN9YwcO4cDJIXwDtiR9Vcfii8WEZCH7CEG0jB1sjkiDMx9PDcjLxWz KPC5IUn+om6gmFUfhdywedc1D7/TOXX28AR7HQdccdbOjba4+/6Q1PTzOITbx+RpZ5WBKXzMoWq njqoNnluxKOq6E0TF6QFR/WXAhVWtmtgsMPdWTJ/u/dkHYElZYJqxTdik+RoeGpH4p2bbmCwHra BZ2lAdlzE6Xe8ZD8MVH5+ikFkoL/woJ1QA== X-Google-Smtp-Source: AGHT+IEJRBYVe9vXo1X/mEloHEs7WsK7MXg+lLpQw/AFSEfrHU1wIu1UQhzy4bP2erJ227bIHP3Apg== X-Received: by 2002:a05:6000:4021:b0:391:952:c74a with SMTP id ffacd0b85a97d-3a06723a77emr1339241f8f.8.1745392526817; Wed, 23 Apr 2025 00:15:26 -0700 (PDT) Received: from [127.0.1.1] ([2a01:cb1d:dc:7e00:74b0:71bd:6dda:dcc1]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-39efa493446sm17696935f8f.74.2025.04.23.00.15.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 23 Apr 2025 00:15:26 -0700 (PDT) From: Bartosz Golaszewski Date: Wed, 23 Apr 2025 09:15:12 +0200 Subject: [PATCH 10/12] gpio: loongson-64bit: use new 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: <20250423-gpiochip-set-rv-gpio-part2-v1-10-b22245cde81a@linaro.org> References: <20250423-gpiochip-set-rv-gpio-part2-v1-0-b22245cde81a@linaro.org> In-Reply-To: <20250423-gpiochip-set-rv-gpio-part2-v1-0-b22245cde81a@linaro.org> To: Linus Walleij , Bartosz Golaszewski , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Lixu Zhang , Sakari Ailus , Yinbo Zhu Cc: linux-gpio@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Bartosz Golaszewski X-Mailer: b4 0.14.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=1726; i=bartosz.golaszewski@linaro.org; h=from:subject:message-id; bh=sigjjIPTEY3ikG0qReuX5eSm0UPDZcBac77WahmCDlo=; b=owEBbQKS/ZANAwAKARGnLqAUcddyAcsmYgBoCJOC4b/5tUNY2cHVsO6pHKhqejDv85KHLO6gw b2r1E71uD+JAjMEAAEKAB0WIQQWnetsC8PEYBPSx58Rpy6gFHHXcgUCaAiTggAKCRARpy6gFHHX chWAD/9un4OKo68l/qCfaj3bETsvGglEXhCUTJemJZqJFSZuU/K+Qldmd41zqaqM+EkjJpwS2BR cy1gvC6hQF5drLpuYsUOiQGdjyoDKrNObRhJQmnC2IhOrvyu1bUPl81+e4j+lvq3tIKqM5dtgZU 9zgjBrcKB2gTl8SHuyLswt0FYgUshgyLQ9O4McyxSF4diZjdC+5c2gIhKKtdlhQjZmlBXqY9UWn 35S+Xm81VR+EzOSPUaTiLS9vvOyg4JZjmgaaaUrsNWf7+tmAUMMg2HwaC78AMqVgIsbfNXApPM2 +k/535/Cg1jNF76IFdB3/lfiK7P3WLjMOBbPG66lqwMc48NEmKwrkjDSHwdhH7gHqrcy9bB8P19 wzP0WrsER1d+nNz3P74oJFSO2KDf5F0qkl59SGD0m47YvV54m/byQMrVM0wz9k6+aMOlJjSAONZ gyusViuBzXKGErs2QWF7i1s0Cn3gGi/9LZo7UhiTBZDL7aoKLbJCoZjmHoCuQEXoibNzf5lWRo/ m1vj3a6HQsGSe6c5P3oA6OSFznrzG9HBXR9rRF+5wOegFmNVzy6AdRp6zF9uOcol+30SbMglzu1 tT37Iuw5qBsxXN0tB40X+ZW/WZ0uOF1Qh+USPi2u062RO8LVv4bLaasO/UGGAuI8v5FJmpgUR+9 kUvTSREDdS8oLoA== 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 Reviewed-by: Linus Walleij Reviewed-by: Peng Fan --- drivers/gpio/gpio-loongson-64bit.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/gpio/gpio-loongson-64bit.c b/drivers/gpio/gpio-loongso= n-64bit.c index a9a93036f08f..26227669f026 100644 --- a/drivers/gpio/gpio-loongson-64bit.c +++ b/drivers/gpio/gpio-loongson-64bit.c @@ -105,7 +105,7 @@ static int loongson_gpio_get_direction(struct gpio_chip= *chip, unsigned int pin) return GPIO_LINE_DIRECTION_OUT; } =20 -static void loongson_gpio_set(struct gpio_chip *chip, unsigned int pin, in= t value) +static int loongson_gpio_set(struct gpio_chip *chip, unsigned int pin, int= value) { unsigned long flags; struct loongson_gpio_chip *lgpio =3D to_loongson_gpio_chip(chip); @@ -113,6 +113,8 @@ static void loongson_gpio_set(struct gpio_chip *chip, u= nsigned int pin, int valu spin_lock_irqsave(&lgpio->lock, flags); loongson_commit_level(lgpio, pin, value); spin_unlock_irqrestore(&lgpio->lock, flags); + + return 0; } =20 static int loongson_gpio_to_irq(struct gpio_chip *chip, unsigned int offse= t) @@ -155,7 +157,7 @@ static int loongson_gpio_init(struct device *dev, struc= t loongson_gpio_chip *lgp lgpio->chip.get =3D loongson_gpio_get; lgpio->chip.get_direction =3D loongson_gpio_get_direction; lgpio->chip.direction_output =3D loongson_gpio_direction_output; - lgpio->chip.set =3D loongson_gpio_set; + lgpio->chip.set_rv =3D loongson_gpio_set; lgpio->chip.parent =3D dev; spin_lock_init(&lgpio->lock); } --=20 2.45.2 From nobody Fri Dec 19 02:55:58 2025 Received: from mail-wr1-f54.google.com (mail-wr1-f54.google.com [209.85.221.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 A982326A0D0 for ; Wed, 23 Apr 2025 07:15:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.54 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745392531; cv=none; b=hRChItLPuY09E463Cq7VGQbXyNXsVP7N2k1jeHalk3n3UNdLG5xAwyHmB6Tz+VuLjncp5bNUmbYeDeImHsbvMdTN56yZGzcra+8L5l3cUOkOUq7nA9PfCo7B16SGM/9afuv+evO/osL2Ax3h77zow+4BnGTdjgRWveHWSSy86/o= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745392531; c=relaxed/simple; bh=7C+LNsVab5vr5HZgHbL9vCFP4eASEkV4s77Udtvpj3Y=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=J0G0So/D/dBprEbQd+WAujRJgIf8i9t3IGX62WRSYUWAH5I2GRq7hzaxpk5Whj2rUbD5oRlvWtPBPDhroLLAEU+tZHz27xBbLniJsiatMVGZ7M8XljB7akIApo69U/uQXHuLH5f1AUUXmFuj8DP3lP0GvT7JVQCiWDYQ+cektHw= 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=oQHeLvfF; arc=none smtp.client-ip=209.85.221.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="oQHeLvfF" Received: by mail-wr1-f54.google.com with SMTP id ffacd0b85a97d-39c31e4c3e5so4136094f8f.0 for ; Wed, 23 Apr 2025 00:15:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1745392528; x=1745997328; 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=9MPclfNXGHsV8MZaXGNXPoIUNkZUY12DESp/EGnzFtA=; b=oQHeLvfFLYHwKtKPkckT95AKZxSGGJTSpXA5mAp1TaIof/NxnCLVtsQEwJzA6PFViU rTgMZcss9MiZH1c6pILEhiJDHi+oOVejDb54CeIqJnVvczYoKZ4mVAMOnOMeFXcKDe2h iiPUqGxCcKb5OoBwCYNqCg6AvyJBRt7rBNIA52cxhvbO6vbvrgGDfZVT/ALSTJC+9OHr E/G8KcNU2NXHm46p++ze1Y+0p+1geZzQGE4hAKrJwY7VIqTGPK6yF2rZCZNKlh9vdfJb nsOXPJ9d3pihVnzSKmOwkzwTgRlv1xgXRIVFVwztdSN+iIWXmDH/+xWjqfAQd7P5ohRs tsrA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745392528; x=1745997328; 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=9MPclfNXGHsV8MZaXGNXPoIUNkZUY12DESp/EGnzFtA=; b=pb00ZVzLPtcWqbXhtBONdZuDe7NOUA36a4v63DuFnexKl5pwqN3afBHCZth7yr+I54 7pkdypzprPhnDjOf899oxkFT6ishFv0tLD45mdI66w9x0xS97yhThoOgtDZFo8jLrtSc 3Yf+sZoqU4FX0GfAm5LS4HpgTcFdEzI4B6lOIg0RU5AIcfQ0A1Qngi6RPG5FnBCnOowe 4t9HCTOiwPHbEdizqbfPa9XeMlQTqQtbrmny7qUq2kkpati508EwsGuTl/yVLHfmOYHq JY2RnkzdLIyIU0X5HbeTdV6C7u9wDOTNPkTrWw7rRR3InpZHn11Tbf1xZnRwjS94eOXh SdqQ== X-Forwarded-Encrypted: i=1; AJvYcCWnRfyigHLOOJLJEVsU1CbPtwC+dZkd2By5OaQDbuVZF61pkly79m3HjfTFVC5yFUW3PCsF1UUtDmeTgws=@vger.kernel.org X-Gm-Message-State: AOJu0Yz2lolnh5t4UX4gJAV7R0dmEvAHlcJwFMjuA0oNble+QtNjNddC AEGttxsXY79CMMO1bNtfJIySzZ7eu2P7QhLOIZSj/yB3J5+G98fE3hsP078jxI0= X-Gm-Gg: ASbGncut56fXXQPVo0R1ZqEZadcVPS88BUG+IulEB6LRChdSyHTKmRvSacEuLloeYli EAB4AL8TwbkMr59e8OQ6YySsOBQoQDt0elXYVZz+3jzry7E5sCddaEMe+IHH0phNBkgM9TiYISj QGZbMYN4yPiPifFYl1Ad9BheXy/j0tFOKBKwxAYHILkTGwgUVI3f/+jO2/mwpReICtZldKtrpgz kFo9otJ5LLR2p/rbba0laI+ZG0Nai1YvgUJs5atA9lDCBArb/ycIEB2uwgJv+oiVpKQiRwqP636 3xi4ZcxAdXCPTTwlS6lpifR8vpKG2i7O0w== X-Google-Smtp-Source: AGHT+IE+EYnrfW54icqKEGRQVESmbeO48iqpEBpeyStDk2tewi09mNWNZhnFX5SLcVdwpUyDg1P6zw== X-Received: by 2002:a05:6000:228a:b0:39d:6f2b:e74d with SMTP id ffacd0b85a97d-39efbae02a8mr15795824f8f.39.1745392527777; Wed, 23 Apr 2025 00:15:27 -0700 (PDT) Received: from [127.0.1.1] ([2a01:cb1d:dc:7e00:74b0:71bd:6dda:dcc1]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-39efa493446sm17696935f8f.74.2025.04.23.00.15.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 23 Apr 2025 00:15:27 -0700 (PDT) From: Bartosz Golaszewski Date: Wed, 23 Apr 2025 09:15:13 +0200 Subject: [PATCH 11/12] gpio: loongson: use new 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: <20250423-gpiochip-set-rv-gpio-part2-v1-11-b22245cde81a@linaro.org> References: <20250423-gpiochip-set-rv-gpio-part2-v1-0-b22245cde81a@linaro.org> In-Reply-To: <20250423-gpiochip-set-rv-gpio-part2-v1-0-b22245cde81a@linaro.org> To: Linus Walleij , Bartosz Golaszewski , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Lixu Zhang , Sakari Ailus , Yinbo Zhu Cc: linux-gpio@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Bartosz Golaszewski X-Mailer: b4 0.14.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=1521; i=bartosz.golaszewski@linaro.org; h=from:subject:message-id; bh=99W25ILmVjnRf/yi2U9/4v/maPAhA/fNyMvWAd93oJw=; b=owEBbQKS/ZANAwAKARGnLqAUcddyAcsmYgBoCJODuW1HwT5L1heIPW8u0acldNLxdbYmai+QB lCwyKbDCsqJAjMEAAEKAB0WIQQWnetsC8PEYBPSx58Rpy6gFHHXcgUCaAiTgwAKCRARpy6gFHHX coNPEADBSAcxIsHdv3O6rLXDUMyohTqVcWNFYAMTwTqpb1HtgvRkHOabZqgoyERJ6y2hD9u1xeT LH5bBYVhdTXqAJSrMktvY/zTtO4hBbdFE1xgJLwB1qE+SsxnNL376z1PEoIWyJ1NZv6ZvhepPJH h5ckAt+F9XLL3pD03wOQXRXl7sUmsEbXEb72stmtgYIs2XE7o/5QRHWvmORaLInPdeCCV64w+NO pE1nmuWlRyZcNJ12iMJcmDeI93N+N/rIk0Wr0z4rk7gjiv2wsUvZMgKicQMeI43XEhfcsgdloQa vQ1KjIPR69EU42UH7WjYSlhdcn0nvU48In+PnIzDTk1EY5X87IEnShhQD8rCfiV8QYdfyQq9dHb 2iSyRO9phbOJmQu8kfNbUuQrlwqJtvs6k9BlCVJ863HuyqBFhB0hvcxchOjIKZKhobV1in6uSxi lNxKCwfcmT82uYTDXRo8xvU6OosAsEg3jdNbREVJ19+WFQaQXSpGxKoW8VyNC1FFEWckucx4j/R UN/ChK+jIEeoK9VbnyYII9PSqWi9f63XZrDfA0WmATPC7zWUoRJ5AiyOQZgLWfjEJYTvxXyOWqp qvTPJyXN6SalFAOVDoHuVF1QdSMM0BV4ey6hVpSqGNN/BDvOZMQw7aqCot8ow8ftgamkYh/zsOP pxsEDKbDN+/kk4g== 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 Reviewed-by: Linus Walleij Reviewed-by: Peng Fan --- drivers/gpio/gpio-loongson.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/drivers/gpio/gpio-loongson.c b/drivers/gpio/gpio-loongson.c index a42145873cc9..8f3668169ebf 100644 --- a/drivers/gpio/gpio-loongson.c +++ b/drivers/gpio/gpio-loongson.c @@ -48,8 +48,8 @@ static int loongson_gpio_get_value(struct gpio_chip *chip= , unsigned gpio) return !!(val & BIT(gpio + LOONGSON_GPIO_IN_OFFSET)); } =20 -static void loongson_gpio_set_value(struct gpio_chip *chip, - unsigned gpio, int value) +static int loongson_gpio_set_value(struct gpio_chip *chip, unsigned int gp= io, + int value) { u32 val; =20 @@ -61,6 +61,8 @@ static void loongson_gpio_set_value(struct gpio_chip *chi= p, val &=3D ~BIT(gpio); LOONGSON_GPIODATA =3D val; spin_unlock(&gpio_lock); + + return 0; } =20 static int loongson_gpio_direction_input(struct gpio_chip *chip, unsigned = gpio) @@ -104,7 +106,7 @@ static int loongson_gpio_probe(struct platform_device *= pdev) gc->base =3D 0; gc->ngpio =3D LOONGSON_N_GPIO; gc->get =3D loongson_gpio_get_value; - gc->set =3D loongson_gpio_set_value; + gc->set_rv =3D loongson_gpio_set_value; gc->direction_input =3D loongson_gpio_direction_input; gc->direction_output =3D loongson_gpio_direction_output; =20 --=20 2.45.2 From nobody Fri Dec 19 02:55:58 2025 Received: from mail-wr1-f49.google.com (mail-wr1-f49.google.com [209.85.221.49]) (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 8095726AA93 for ; Wed, 23 Apr 2025 07:15:30 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.49 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745392532; cv=none; b=CFgMs4eHeo0waA9dAkU/Vxy+H6q0WR8YO62uOVETWFwTiwNgY4LXh6ZZzjc3zGj6g4RuIdQ3CBOSIx67izPKK01DN9qKB92JG2ooCH3Yu9N4gVVAGfHSJfsRf2rXG1tPzfMgqLhBtQyoWlOH1lbujb3OknnhTGFzqC8ZCAt3RnQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745392532; c=relaxed/simple; bh=sl1wLB7qfa5cmKKEREVGzg9gBscjJ57jgLR48mBriYo=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=omzehrFcWSCv2SU6xrG2byulD2TajOCskXjFzf6svJpkFoLeXbtEJb5WrW7urJLAzsrkU++I+qyEK7iCeOS8cGGprV0blK8MsLapIxB6IGDsIzab3Pc845BHoOa7ieRdn+u+iXzPkh6+Hw/lP9ja3SApjQLHsaae14GGdNusMBA= 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=BXDG2Dwr; arc=none smtp.client-ip=209.85.221.49 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="BXDG2Dwr" Received: by mail-wr1-f49.google.com with SMTP id ffacd0b85a97d-39c1efc457bso3880766f8f.2 for ; Wed, 23 Apr 2025 00:15:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1745392528; x=1745997328; 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=nDPnLb9e7MtlJKq+kitIrFY2UoRe6RaLIN9ni7aHQLA=; b=BXDG2DwrSe54Os8xMKyG5ZugMVHd57apd5M1lZBamZl3be4590IrFrDJa/mKS/wL2I dFePDMdrU3KtmaaCQED/1Tf4et0KhjtBDHfPAFRAn6h7H/wqUMN9TQ7MXNOhGhf3IpWD i7V+95z/06mHc44oWk8urafLeOmGsQPqJAvjRZeWgcqPRyPKYnNBJHkn7UzdeWZD9XsV p2fYvB99jFyaQefkRt+BrUrbj399wAS3oA8ZhsO85VHar0VWm+skvFwCobsB/WDt+wuO BCklaax6LFNG9ZM0H4umN5oO11NvvGdSDuGFtIoTQ0J08Uk5bWjyupyR6tCBz9UXr13I bssQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745392528; x=1745997328; 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=nDPnLb9e7MtlJKq+kitIrFY2UoRe6RaLIN9ni7aHQLA=; b=hJ2Y8FWQ59WgWrOKhCB8PCMdewjaEOytTxgbRZQN21J0aapnxAWm8wm/XgRLJyGBQi gep0ogGk554WCSI1sOI8rAicLYHRSrDnSnD9QFHnob3GAsf8bXywprdOqI6vQ5AeTAzd Bi0b2XpQbP9hFGZLXYqAqRI88uD3L8aUas+NPNDzXtnLVIgRDMM66FiGfNd2g62kTsFA HfjxyU1hbQHn8RH1YzWxZ1JZGBaMKz1eaZDAenYDZcAJms/uU5/zmGtFAy/cMJP5MJxl hKlPp2DnhWfObbI3hosu4bxx/gLAw8LLxsSuFDzGRen04YdgISkdTUMhnF38x05EgnAz wMcw== X-Forwarded-Encrypted: i=1; AJvYcCXQvDAKwW2hpvE8kffkFtoGPgx0HEATUauYp/c7pujIrD+4HxwxnPjCerJaKdQmNE3ykGT9GGKVvh5p44I=@vger.kernel.org X-Gm-Message-State: AOJu0Yyint5CwOfp/0u3IPQ+QKwn6w37nYcawJJLIwTVwtmz6KqR2PjM NGPDU8xxfxESszR6P9n8om8f64Cc6maipTzJcOfedzfZ8XcDFUIWqe+SE/bvTkY= X-Gm-Gg: ASbGncvV8ryxzWvZDSodcN/+DCbwl+4MTcRqVh6/lO8kI/UdK/KtrqKJlbGsE44cU6c fUf1aYGsh8LI7oV37r+iIV+xZRUiPEWbKZPPAZi74TDzAOv6xq8IYeE/Vdd22VIkNJjf0GnMKg5 9pV6PRdheN1lVd+hafLgelcVgF0wxoxDWhuhpQHploJwatCROZ/9RAy6E5Q4zY3/z6mcBGTEOR6 CaWaeKOax3TbBW1+ODSUTstLKuyOIt2rBRes8KHeuIF7w5dd3BZ67+Jqf3QVn+FetF/Q3eAU3p5 QWxRQksfdKWJ6A1jxA6WINIP/ZenK2zhMg== X-Google-Smtp-Source: AGHT+IG4ElSHC7IwlTsGTLIS8AFpJo6V3IEFvD0t8DPJXLGCbfVBAFrUXLFfWQ80OqkPgdRhHCCGkA== X-Received: by 2002:a5d:47cf:0:b0:391:3b11:d604 with SMTP id ffacd0b85a97d-39efbaf6f60mr15814842f8f.54.1745392528677; Wed, 23 Apr 2025 00:15:28 -0700 (PDT) Received: from [127.0.1.1] ([2a01:cb1d:dc:7e00:74b0:71bd:6dda:dcc1]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-39efa493446sm17696935f8f.74.2025.04.23.00.15.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 23 Apr 2025 00:15:28 -0700 (PDT) From: Bartosz Golaszewski Date: Wed, 23 Apr 2025 09:15:14 +0200 Subject: [PATCH 12/12] gpio: lp3943: use new 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: <20250423-gpiochip-set-rv-gpio-part2-v1-12-b22245cde81a@linaro.org> References: <20250423-gpiochip-set-rv-gpio-part2-v1-0-b22245cde81a@linaro.org> In-Reply-To: <20250423-gpiochip-set-rv-gpio-part2-v1-0-b22245cde81a@linaro.org> To: Linus Walleij , Bartosz Golaszewski , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Lixu Zhang , Sakari Ailus , Yinbo Zhu Cc: linux-gpio@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Bartosz Golaszewski X-Mailer: b4 0.14.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=1908; i=bartosz.golaszewski@linaro.org; h=from:subject:message-id; bh=FKv0jedtK8ZiOafLuePhziFUAqITUizBRiw5s9uuJh4=; b=owEBbQKS/ZANAwAKARGnLqAUcddyAcsmYgBoCJODsx6BmS5Uu3epYT6N1MlKACyMV3s6UBiz6 5RntwZ/tcOJAjMEAAEKAB0WIQQWnetsC8PEYBPSx58Rpy6gFHHXcgUCaAiTgwAKCRARpy6gFHHX ckvDD/9EH2Cq8MY5MoOXZTt6EMH1AEYUaKFr0FsHiSrhY9sp8VAZlwuAebQrfiTazzJ54yI1HAA zxk/F2yLuHJo5SxVJs7u6h+/0wf5MNJhKNr05ZJQdTzhn3M0KsE2MJDCzvf189nXA3B5BlBysbF KLaDTCGPJBGO9DjOm3BakFKHwT+YN53PZFKNlZkpjg2q9EkmGgondq0BFDC21gw5BDK8NCpBYwd YEYQ38fp/o/YGTlg4Dia8DPwYwmzI2mzyG7H/HnGGlWbqd/OqaHf4zx39t+kcKq6JQtdnn0s9SK 1/SEkXmveDecJYUqkS7ckKP3EUD7nZcEReypoLwPhYn8Gi3veJVeEXns3Bfz9tnQororc28L1b5 z+ZS+HTK2fV2O2HThQThzilNSepFKOq6Q23mFIiRnP7JpEKRRd27GgfknT6+xC6Dya2e4ZZ+KKO +UuGlTDBQFU48+cNeuJVfJYXNZroT6fbFjMpPUAZ0B/FU622qgWCjtX2Okt8O5bHdu9l88Xv2wV FHf/+EB8a06+atxP5WHtqCSfEv48CirSDeUCg1w+qeQicvBiJ7JmJKXm/u3OEGPAH3toIq3ktI8 KTWWXlFIIUkIlVM15leFB/hrsHmBZgrOaLWx4zbAy8YNfAKZh4e3P9pPkKNRtXI58kWPncyMps6 vqDvC+FesU7V9xQ== 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 Reviewed-by: Linus Walleij Reviewed-by: Peng Fan --- drivers/gpio/gpio-lp3943.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/drivers/gpio/gpio-lp3943.c b/drivers/gpio/gpio-lp3943.c index 8e58242f5123..52ab3ac4844c 100644 --- a/drivers/gpio/gpio-lp3943.c +++ b/drivers/gpio/gpio-lp3943.c @@ -147,7 +147,8 @@ static int lp3943_gpio_get(struct gpio_chip *chip, unsi= gned int offset) return lp3943_get_gpio_out_status(lp3943_gpio, chip, offset); } =20 -static void lp3943_gpio_set(struct gpio_chip *chip, unsigned int offset, i= nt value) +static int lp3943_gpio_set(struct gpio_chip *chip, unsigned int offset, + int value) { struct lp3943_gpio *lp3943_gpio =3D gpiochip_get_data(chip); u8 data; @@ -157,15 +158,19 @@ static void lp3943_gpio_set(struct gpio_chip *chip, u= nsigned int offset, int val else data =3D LP3943_GPIO_OUT_LOW; =20 - lp3943_gpio_set_mode(lp3943_gpio, offset, data); + return lp3943_gpio_set_mode(lp3943_gpio, offset, data); } =20 static int lp3943_gpio_direction_output(struct gpio_chip *chip, unsigned i= nt offset, int value) { struct lp3943_gpio *lp3943_gpio =3D gpiochip_get_data(chip); + int ret; + + ret =3D lp3943_gpio_set(chip, offset, value); + if (ret) + return ret; =20 - lp3943_gpio_set(chip, offset, value); lp3943_gpio->input_mask &=3D ~BIT(offset); =20 return 0; @@ -179,7 +184,7 @@ static const struct gpio_chip lp3943_gpio_chip =3D { .direction_input =3D lp3943_gpio_direction_input, .get =3D lp3943_gpio_get, .direction_output =3D lp3943_gpio_direction_output, - .set =3D lp3943_gpio_set, + .set_rv =3D lp3943_gpio_set, .base =3D -1, .ngpio =3D LP3943_MAX_GPIO, .can_sleep =3D 1, --=20 2.45.2