[PATCH] leds: gpio: set led_dat->gpiod pointer for OF defined GPIO leds
From: Liviu Dudau
Date: Wed Oct 17 2018 - 20:14:42 EST
Commit 45d4c6de4e49 ("leds: gpio: Try to lookup gpiod from device")
removed the common code path that set the led_dat->gpiod pointer in
create_gpio_led(), but only added it back for the devices that have
a valid gpio_led_platform_data structure. Calling gpio_leds_create()
in gpio_led_probe() is not enough to get a valid gpiod pointer.
Fortunately enough, gpio_leds_create() already gets the needed pointer,
we just need to assign it to the relevant gpio_led_data structure.
Fixes: 45d4c6de4e49 ("leds: gpio: Try to lookup gpiod from device")
Cc: Linus Walleij <linus.walleij@xxxxxxxxxx>
Cc: Jacek Anaszewski <jacek.anaszewski@xxxxxxxxx>
Signed-off-by: Liviu Dudau <liviu@xxxxxxxxxxx>
---
Hi,
I found this issue while testing linux-next-20181017, I don't know how
stable the leds for-next tree is in terms of commit IDs, if that gets
rebased then the Fixes commit ID needs updating.
Best regards,
Liviu
drivers/leds/leds-gpio.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/leds/leds-gpio.c b/drivers/leds/leds-gpio.c
index 32fa752565bc..45e012093865 100644
--- a/drivers/leds/leds-gpio.c
+++ b/drivers/leds/leds-gpio.c
@@ -163,6 +163,8 @@ static struct gpio_leds_priv *gpio_leds_create(struct platform_device *pdev)
return ERR_CAST(led.gpiod);
}
+ led_dat->gpiod = led.gpiod;
+
fwnode_property_read_string(child, "linux,default-trigger",
&led.default_trigger);
--
2.19.0