Thread (4 messages) 4 messages, 3 authors, 2025-09-25

Re: [PATCH] Input: gpio-keys - fix misleading GPIO number

flat view

From: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Date: 2025-09-25 00:07:26
Also in: lkml

On Wed, Sep 24, 2025 at 12:25:29PM +0200, Linus Walleij wrote:
On Wed, Sep 24, 2025 at 8:49 AM Wei [off-list ref] wrote:
quoted
From: Wei Liu <redacted>

The error log prints button->gpio, which is unset and default to 0
in non-legacy configurations, leading to misleading messages.

Use desc_to_gpio() to report the actual global GPIO number.

Signed-off-by: Wei Liu <redacted>
---
 drivers/input/keyboard/gpio_keys.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/input/keyboard/gpio_keys.c b/drivers/input/keyboard/gpio_keys.c
index f9db86da0818..243295a3ea1d 100644
--- a/drivers/input/keyboard/gpio_keys.c
+++ b/drivers/input/keyboard/gpio_keys.c
@@ -584,7 +584,7 @@ static int gpio_keys_setup_key(struct platform_device *pdev,
                                error = irq;
                                dev_err_probe(dev, error,
                                              "Unable to get irq number for GPIO %d\n",
-                                             button->gpio);
+                                             desc_to_gpio(bdata->gpiod));
That's technically a legacy interface.

Can we just not mention the GPIO number?
Yes, there was a patch removing printing this number... We are losing
debug context though.
The only thing that would actually make sense in this kind
of errors is if we add some new interface like:

const char * get_gpiod_debug_string(gpiod);
I assume the char will be dynamically allocated. Freeing it will be
PITA.

I see vsprintf() has %pC for printing clocks and %pg for block devices,
maybe we could have %pGD or similar for GPIO descriptors?

Thanks.

-- 
Dmitry
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help