mirror of
				git://git.openwrt.org/openwrt/openwrt.git
				synced 2025-11-03 22:44:27 -05:00 
			
		
		
		
	Fixes issues with loading trigger-sources for usbport trigger from DTS. Signed-off-by: Sungbo Eo <mans0n@gorani.run>
		
			
				
	
	
		
			37 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			37 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
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",
 |