Re: [PATCH v3 1/2] dt: bindings: lm3692x: Add bindings for lm3692x LED driver
From: Dan Murphy
Date: Thu Nov 16 2017 - 16:42:58 EST
Jacek
On 11/16/2017 02:14 PM, Jacek Anaszewski wrote:
> Hi Dan and Pavel,
>
> On 11/15/2017 11:23 PM, Pavel Machek wrote:
>> Hi!
>>
>>>> Shouldn't the driver be targeted for backlight subsystem then?
>>>>
>>>> Adding backlight maintainers.
>>>>
>>>
>>> Great point! I was not aware of the backlight subsystem.
>>>
>>> Looks like I need to create a back light version as well.
>>>
>>> Like the lp8788 did since this can be used as a LED driver beyond
>>> display back lighting.
>>
>> No, definitely not two drivers for lp8788 hardware.
>
> I agree.
>
>> If that does not yet exist... you want to create glue layer to be able
>> to use LED as a display backlight. (It may already exist, no idea).
>>
>> ...
>>
>> Actually or maybe a LED trigger. Just set LED's trigger to "this is
>> display backlight".
>
> There is one already:
>
> drivers/leds/trigger/ledtrig-backlight.c
>
> It adds a LED class device to the fb_notifier_list
> (drivers/video/fbdev/core/fb_notify.c)
>
> using fb_register_client(). The same is used in
> backlight_device_register (drivers/video/backlight/backlight.c).
>
> Actually why do you want to have this driver in the LED subsystem,
> if it is advertised as "designed for LCD display backlighting"?
Well this is also advertised as a driver for Smart phone and tablet devices. And having worked with the Android lighting
solutions this is the preferred subsystem for Android. The Android OS manages the led brightness based on ALS values and in
turn calls into the driver to control the brightness register through the vendor provided lighting HAL.
I am going to look at the backlight source to figure out how to get the same functionality using the backlight subsystem.
Otherwise I will plug in this driver to the backlight subsystem through the notifier.
>
> As a side note I can say that I've been always wondering why the two
> subsystems for similar type of hardware.
This is my worry too. Why do we need both subsystems to do the same thing?
I don't see either having one advantage over the other.
Dan
>
--
------------------
Dan Murphy