On Wed 2019-07-10 14:39:29, Jean-Jacques Hiblot wrote:OK
From: Tomi Valkeinen <tomi.valkeinen@xxxxxx>Get rid of the "? 1 : 0"?
This patch adds basic support for a kernel driver to get a LED device.
This will be used by the led-backlight driver.
Only OF version is implemented for now, and the behavior is similar to
PWM's of_pwm_get() and pwm_put().
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx>
Signed-off-by: Jean-Jacques Hiblot <jjhiblot@xxxxxx>
@@ -214,6 +215,55 @@ static int led_resume(struct device *dev)
static SIMPLE_DEV_PM_OPS(leds_class_dev_pm_ops, led_suspend, led_resume);
+static int led_match_led_node(struct device *led_dev, const void *data)
+{
+ return led_dev->of_node == data ? 1 : 0;
+}
+ led_node = of_parse_phandle(np, "leds", index);Won't this defer probe "forever" when the driver is not available?
+ if (!led_node)
+ return ERR_PTR(-ENOENT);
+ led_dev = class_find_device(leds_class, NULL, led_node,
+ led_match_led_node);
+ of_node_put(led_node);
+
+ if (!led_dev)
+ return ERR_PTR(-EPROBE_DEFER);