Re: [PATCH] leds: pca9532: Extend pca9532 device tree support

From: Jacek Anaszewski
Date: Thu Feb 09 2017 - 16:19:29 EST

Hi Felix,

On 02/09/2017 09:41 AM, Felix Brack wrote:
> Hello Jacek,
> On 08.02.2017 20:42, Jacek Anaszewski wrote:
>> Hi Felix,
>> On 02/08/2017 05:12 PM, Felix Brack wrote:
>>> Hello Jacek,
>>> On 07.02.2017 21:45, Jacek Anaszewski wrote:
>>>> Hi Felix,
>>>> Thanks for the patch.
>>>> On 02/07/2017 07:11 PM, Felix Brack wrote:
>>>>> This patch extends the device tree support for the pca9532 allowing LEDs to blink, dim or even being unchanged, i.e. not being turned off during driver initialization.
>>>> Isn't it possible to apply desired settings with existing LED subsystem
>>>> brightness file, and delay_on/off files exposed by timer trigger?
>>>> Best regards,
>>>> Jacek Anaszewski
>>> This might be a misunderstanding. My patch is not meant to replace
>>> anything for driving the LEDs once the kernel is fully loaded. The LED
>>> subsystem offers quite a lot of possibilities to do this.
>>> My patch mainly deals with the 'default' state of the LEDs immediately
>>> when the driver gets loaded.
>>> Here is an example: I have a system with a LED named 'RUN' which is
>>> turned on steady by U-Boot (indicating "system booting"). When the
>>> PCA9532 driver loads this LED gets turned off due to initialization.
>>> However I would like it remain lit until later a script will make that
>>> 'RUN' LED blink (indicating "system running"). This script will of
>>> course use the existing LED subsystem to do so. To keep the 'RUN' LED
>>> lit I need the DT property 'default-state' being set to 'PCA9532_KEEP'.
>> It looks like all you need is default-state property.
> For the example with keeping the 'RUN' led turned on, yes. However I
> would have to configure PSC and PWM registers to make the 'RUN' LED
> blink, for example.
>> I'd rather avoid exposing prescaler and pwm registers in DT.
> I don't see that exposing PSC and PWM registers to the DT would do any
> harm. Is there something I'm missing here?

It is driver's responsibility to configure registers basing on user
settings. Let's stick to this scheme.

Best regards,
Jacek Anaszewski