[PATCH] gpio: amd-fch: ionly return allowed values from amd_fch_gpio_get()

Dmitry Torokhov posted 1 patch 1 month, 2 weeks ago
drivers/gpio/gpio-amd-fch.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
[PATCH] gpio: amd-fch: ionly return allowed values from amd_fch_gpio_get()
Posted by Dmitry Torokhov 1 month, 2 weeks ago
As of 86ef402d805d ("gpiolib: sanitize the return value of
gpio_chip::get()") gpiolib requires drivers implementing GPIOs to only
return 0, 1 or negative error for the get() callbacks. Ensure that
amd-fch complies with this requirement.

Fixes: 86ef402d805d ("gpiolib: sanitize the return value of gpio_chip::get()")
Reported-and-tested-by: Tj <tj.iam.tj@proton.me>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
---
 drivers/gpio/gpio-amd-fch.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/drivers/gpio/gpio-amd-fch.c b/drivers/gpio/gpio-amd-fch.c
index e6c6c3ec7656..9f329938202b 100644
--- a/drivers/gpio/gpio-amd-fch.c
+++ b/drivers/gpio/gpio-amd-fch.c
@@ -8,6 +8,7 @@
  *
  */
 
+#include <linux/bitfield.h>
 #include <linux/err.h>
 #include <linux/io.h>
 #include <linux/kernel.h>
@@ -120,15 +121,15 @@ static int amd_fch_gpio_get(struct gpio_chip *gc,
 			    unsigned int offset)
 {
 	unsigned long flags;
-	int ret;
+	u32 val;
 	struct amd_fch_gpio_priv *priv = gpiochip_get_data(gc);
 	void __iomem *ptr = amd_fch_gpio_addr(priv, offset);
 
 	spin_lock_irqsave(&priv->lock, flags);
-	ret = (readl_relaxed(ptr) & AMD_FCH_GPIO_FLAG_READ);
+	val = readl_relaxed(ptr);
 	spin_unlock_irqrestore(&priv->lock, flags);
 
-	return ret;
+	return FIELD_GET(AMD_FCH_GPIO_FLAG_READ, val);
 }
 
 static int amd_fch_gpio_request(struct gpio_chip *chip,
-- 
2.53.0.310.g728cabbaf7-goog


-- 
Dmitry
Re: [PATCH] gpio: amd-fch: ionly return allowed values from amd_fch_gpio_get()
Posted by Bartosz Golaszewski 1 month, 1 week ago
On Tue, 17 Feb 2026 14:11:49 -0800, Dmitry Torokhov wrote:
> As of 86ef402d805d ("gpiolib: sanitize the return value of
> gpio_chip::get()") gpiolib requires drivers implementing GPIOs to only
> return 0, 1 or negative error for the get() callbacks. Ensure that
> amd-fch complies with this requirement.
> 
> 

Applied, thanks!

[1/1] gpio: amd-fch: ionly return allowed values from amd_fch_gpio_get()
      https://git.kernel.org/brgl/c/fbd03587ba732c612b8a569d1cf5bed72bd3a27c

Best regards,
-- 
Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>