diff mbox series

[V3] leds: gpio: Add kernel log if devm_fwnode_gpiod_get fails

Message ID 20231202183636.7055-1-wahrenst@gmx.net
State New
Headers show
Series [V3] leds: gpio: Add kernel log if devm_fwnode_gpiod_get fails | expand

Commit Message

Stefan Wahren Dec. 2, 2023, 6:36 p.m. UTC
In case leds-gpio fails to get at least one of possibly many GPIOs
from the DT (e.g. the GPIO is already requested) neither gpiolib nor
the driver does provide any helpful error log:

    leds-gpio: probe of leds failed with error -16

As the driver knows better how to handle errors with such mandatory
GPIOs, let's implement an error log which points to the affected
GPIO.

Signed-off-by: Stefan Wahren <wahrenst@gmx.net>
---

Previous discussion:
https://lore.kernel.org/linux-leds/20231201112330.GD3259151@google.com/T/

Changes in V3:
- drop already applied patch from series
- s/gpio/GPIO/ as suggested by Lee Jones
- improve commit message

Changes in V2:
- replace dev_err with dev_err_probe to handle EPROBE_DEFER properly

 drivers/leds/leds-gpio.c | 2 ++
 1 file changed, 2 insertions(+)

--
2.34.1

Comments

Andy Shevchenko Dec. 4, 2023, 2:03 p.m. UTC | #1
On Sat, Dec 02, 2023 at 07:36:36PM +0100, Stefan Wahren wrote:
> In case leds-gpio fails to get at least one of possibly many GPIOs
> from the DT (e.g. the GPIO is already requested) neither gpiolib nor
> the driver does provide any helpful error log:
> 
>     leds-gpio: probe of leds failed with error -16
> 
> As the driver knows better how to handle errors with such mandatory
> GPIOs, let's implement an error log which points to the affected
> GPIO.

As we have had a consensus,
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Lee Jones Dec. 7, 2023, 4:08 p.m. UTC | #2
On Sat, 02 Dec 2023 19:36:36 +0100, Stefan Wahren wrote:
> In case leds-gpio fails to get at least one of possibly many GPIOs
> from the DT (e.g. the GPIO is already requested) neither gpiolib nor
> the driver does provide any helpful error log:
> 
>     leds-gpio: probe of leds failed with error -16
> 
> As the driver knows better how to handle errors with such mandatory
> GPIOs, let's implement an error log which points to the affected
> GPIO.
> 
> [...]

Applied, thanks!

[1/1] leds: gpio: Add kernel log if devm_fwnode_gpiod_get fails
      commit: 430545cd13d0f554aaadb8b938ac0bdf7a70a413

--
Lee Jones [李琼斯]
diff mbox series

Patch

diff --git a/drivers/leds/leds-gpio.c b/drivers/leds/leds-gpio.c
index 710c319ad312..83fcd7b6afff 100644
--- a/drivers/leds/leds-gpio.c
+++ b/drivers/leds/leds-gpio.c
@@ -172,6 +172,8 @@  static struct gpio_leds_priv *gpio_leds_create(struct device *dev)
 		led.gpiod = devm_fwnode_gpiod_get(dev, child, NULL, GPIOD_ASIS,
 						  NULL);
 		if (IS_ERR(led.gpiod)) {
+			dev_err_probe(dev, PTR_ERR(led.gpiod), "Failed to get GPIO '%pfw'\n",
+				      child);
 			fwnode_handle_put(child);
 			return ERR_CAST(led.gpiod);
 		}