diff --git a/target/linux/generic/backport-5.4/801-v5.6-leds-populate-the-device-s-of_node.patch b/target/linux/generic/backport-5.4/801-v5.6-leds-populate-the-device-s-of_node.patch new file mode 100644 index 00000000000..4136bc4e122 --- /dev/null +++ b/target/linux/generic/backport-5.4/801-v5.6-leds-populate-the-device-s-of_node.patch @@ -0,0 +1,36 @@ +From 7a349e8c535d7327bf80710323c725df47149b8d Mon Sep 17 00:00:00 2001 +From: Jean-Jacques Hiblot +Date: Sun, 5 Jan 2020 23:31:14 +0100 +Subject: [PATCH] leds: populate the device's of_node + +If initialization data is available and its fwnode is actually a +of_node, store this information in the led device's structure. This +will allow the device to use or provide OF-based API such (devm_xxx). + +Signed-off-by: Jean-Jacques Hiblot +Signed-off-by: Pavel Machek +[backport to 5.4] +--- + +--- a/drivers/leds/led-class.c ++++ b/drivers/leds/led-class.c +@@ -19,6 +19,7 @@ + #include + #include + #include ++#include + #include "leds.h" + + static struct class *leds_class; +@@ -276,8 +277,10 @@ int led_classdev_register_ext(struct dev + mutex_unlock(&led_cdev->led_access); + return PTR_ERR(led_cdev->dev); + } +- if (init_data && init_data->fwnode) ++ if (init_data && init_data->fwnode) { + led_cdev->dev->fwnode = init_data->fwnode; ++ led_cdev->dev->of_node = to_of_node(init_data->fwnode); ++ } + + if (ret) + dev_warn(parent, "Led %s renamed to %s due to name collision",