Message ID | 20190918145730.22805-2-jjhiblot@ti.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Add a generic driver for LED-based backlight | expand |
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@ti.com> > --- > 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(). > + } > > if (ret) > dev_warn(parent, "Led %s renamed to %s due to name collision", >
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@ti.com> >> --- >> 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", >>
Hi Jean, On 10/2/19 3:58 PM, Jean-Jacques Hiblot wrote: > 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@ti.com> >>> --- >>> 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. I thought that regulator core can do the conversion to of_node itself, but this seems not to be the case. > Is there a problem populating of_node if the LED is indeed described in > the DT ? No, if it is not possible to do it otherwise.
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); + } if (ret) dev_warn(parent, "Led %s renamed to %s due to name collision",
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> --- drivers/leds/led-class.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)