2020-03-08 17:35:29 +00:00
|
|
|
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;
|
2020-08-19 11:25:42 +00:00
|
|
|
@@ -277,8 +278,10 @@ int led_classdev_register_ext(struct dev
|
2020-03-08 17:35:29 +00:00
|
|
|
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",
|