Re: [PATCH v7 1/5] leds: populate the device's of_node when possible

From: Jean-Jacques Hiblot
Date: Wed Oct 02 2019 - 09:59:06 EST


Hi Jacek,

On 24/09/2019 23:03, Jacek Anaszewski wrote:
Hi Jean,

Thank you for rebasing the set

On 9/18/19 4:57 PM, Jean-Jacques Hiblot wrote:
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@xxxxxx>
---
drivers/leds/led-class.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/leds/led-class.c b/drivers/leds/led-class.c
index 647b1263c579..c2167b66b61f 100644
--- a/drivers/leds/led-class.c
+++ b/drivers/leds/led-class.c
@@ -276,8 +276,11 @@ int led_classdev_register_ext(struct device *parent,
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;
+ if (is_of_node(init_data->fwnode))
+ led_cdev->dev->of_node = to_of_node(init_data->fwnode);
It would be step backwards. You can do the conversion in the place of
use i.e. in devm_led_get().

Could be done. But it would break another use case I have. I'm also working on the regulator support and for this one, of_node needs to be populated.

Is there a problem populating of_node if the LED is indeed described in the DT ?

JJ


+ }
if (ret)
dev_warn(parent, "Led %s renamed to %s due to name collision",