aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSungbo Eo <mans0n@gorani.run>2020-03-09 02:35:29 +0900
committerPetr Štetiar <ynezz@true.cz>2020-03-09 00:53:50 +0100
commit04a87fedda522895766d7de6f3aeb03c6b3dc3b4 (patch)
treed9478fb5b2bd18403566571e8d95c43bbbf3e8f5
parent6256ca323235a9e0601796a45c5ebb9a70373362 (diff)
downloadupstream-04a87fedda522895766d7de6f3aeb03c6b3dc3b4.tar.gz
upstream-04a87fedda522895766d7de6f3aeb03c6b3dc3b4.tar.bz2
upstream-04a87fedda522895766d7de6f3aeb03c6b3dc3b4.zip
kernel: 5.4: backport led register fix
Fixes issues with loading trigger-sources for usbport trigger from DTS. Signed-off-by: Sungbo Eo <mans0n@gorani.run>
-rw-r--r--target/linux/generic/backport-5.4/801-v5.6-leds-populate-the-device-s-of_node.patch36
1 files changed, 36 insertions, 0 deletions
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 0000000000..4136bc4e12
--- /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 <jjhiblot@ti.com>
+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 <jjhiblot@ti.com>
+Signed-off-by: Pavel Machek <pavel@ucw.cz>
+[backport to 5.4]
+---
+
+--- a/drivers/leds/led-class.c
++++ b/drivers/leds/led-class.c
+@@ -19,6 +19,7 @@
+ #include <linux/spinlock.h>
+ #include <linux/timer.h>
+ #include <uapi/linux/uleds.h>
++#include <linux/of.h>
+ #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",