Re: [RESEND PATCH v17 00/17] Multi Color LED Framework

From: Dan Murphy
Date: Tue Feb 25 2020 - 17:49:56 EST


Hello

On 2/25/20 4:17 PM, Jacek Anaszewski wrote:
On 2/25/20 11:19 AM, Pavel Machek wrote:
Hi!

leds: lp5521: Add multicolor framework multicolor brightness support
leds: lp55xx: Fix checkpatch file permissions issues
leds: lp5523: Fix checkpatch issues in the code
dt: bindings: Update lp55xx binding to recommended LED naming
I have no open comments on this patchset except for a DT change requested by
Shawn Gao but this change should wait till after this patchset is merged.

Is there something holding this up?
Yes... my time; sorry about that.

The fact that it changes API makes it important to get it right, and
hard/impossible to fix it once it is merged... and I don't think this
is the right interface (sorry).

In particular, I don't think having directory per channel is a good
idea. It makes atomic updates impossible (minor),
It is possible via brightness file, although it will need first writing
intensity files, which only will cache colors, and actual write to hw
occurs on write to brightness file. This has been discussed dozen of
times throughout last year, and you even proposed the formula for
calculating per-color-subled brightness basing on global brightness and
intensity set for each color.

I actually just got your reply Pavel.  Unfortunately I don't have the band width to spin any more major framework changes and as you know this has been discussed over and over and over again with multiple iterations and multiple designs.

I still don't agree with some nebulous unbound array being passed into the driver via sysfs. As we have discussed at length in the past this implementation is just as bad if not worse then what I am proposing. I also have provided that particular array implementation and it failed to get any ACKs as it violated sysfs rules and was wrought with corner cases and mismatches of color to intensity values.  And calling the sysfs node channel_intensity and channel_names is not correct this is a LP55xx naming convention and should not be applied.

But as Jacek indicated lets have the sysfs maintainer provide the consultation on the array implementation again.

And as I have stated above my time has run out on trying to get this framework completed so I will just re-write the lp50xx driver against the standard LED class implementation and abandon any hope of actually improving the LED subsystem for multi color ICs.  As I don't have another year or two to debate this interface again and try to implement the code just for it to get another NACK in the end and having to rewrite the framework again.

Dan