lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Wed, 9 Oct 2019 19:43:10 -0500
From:   Dan Murphy <dmurphy@...com>
To:     Bjorn Andersson <bjorn.andersson@...aro.org>
CC:     Jacek Anaszewski <jacek.anaszewski@...il.com>,
        Pavel Machek <pavel@....cz>,
        Linux LED Subsystem <linux-leds@...r.kernel.org>,
        lkml <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH v11 04/16] leds: multicolor: Introduce a multicolor class
 definition

Bjorn

On 10/9/19 6:25 PM, Bjorn Andersson wrote:
> On Wed 09 Oct 13:44 PDT 2019, Dan Murphy wrote:
>
>> Bjorn
>>
>> On 10/9/19 3:11 PM, Bjorn Andersson wrote:
>>> On Tue, Oct 8, 2019 at 1:49 PM Dan Murphy <dmurphy@...com> wrote:
>>>> Introduce a multicolor class that groups colored LEDs
>>>> within a LED node.
>>>>
>>>> The multi color class groups monochrome LEDs and allows controlling two
>>>> aspects of the final combined color: hue and lightness. The former is
>>>> controlled via <color>_intensity files and the latter is controlled
>>>> via brightness file.
>>>>
>>> Thanks for making progress on this, it's been the one outstanding
>>> question mark for the long overdue respin of the Qualcomm LPG driver.
>>> But while it works for the LPG, in that it has outputs named "RGB" I
>>> have boards with "generic" LED drivers that are connected to RGB LEDs.
>>> So per your proposed solution we would need to add the additional
>> You don't have to add the MC class to those drivers.  This is an optional
>> framework but if you wanted to use the framework for specific devices then
>> yes you would need to add that support. This is why I did the LP55xx patches
>> to demonstrate the feasibility since the LP50xx has the MC class
>> intelligence already.
>>
> Correct me if I've misunderstood something, but if I have a product
> using e.g. lm3533 connected to an RGB LED then the correct way to
> represent this towards userspace is to introduce the MC class in the
> lm3533 LED driver, no?
>
Not necessarily.  If the RGB LED is to be used as a RGB module and not 
as independent LEDs.

For instance on smartphones if you had that RGB module connected to the 
LM3533 and needed to mix colors to give different status indicators then 
yes you would use the MC class.  As the MC class presents and treats the 
module as a single LED with individual color mixing control knobs.

If you were using each LED for a separate use cases then you would want 
to present these as individual LEDs as done today.


>> The LP55xx driver can register to the LED class and/or the MC LED class
>> pending on the DT organization.
>>
> Understood.
>
>> I don't plan on going through all of TI's RGB drivers and retrofitting them
>> to the MC class.  I do have to update the GPIO LED driver to use the class
>> but that work is still pending.
>>
>> I may also update the Motorola PCAP driver as well since I have a Droid4 to
>> test.
>>
> My concern with this is that being connected to a RGB LED is not a
> property of the controller, but the system design and the proposed
> implementation makes it a property of each controller.
>
> I'm not saying that the proposed path is wrong, I'm saying that we have
> 83 files named leds-*.c in drivers/leds and this adaption needs to
> happen on each one.

Agreed.  I would expect the adoption to be done on a case by case basis 
driven by usage and need.


>
>
> And I'm not saying I expect you to do this.

Phew.  I did not think you were. I will only convert drivers that I can 
could test.


>
>>> mc_class handling to every single LED driver that might be used to
>>> sink current into an RGB LED.
>>>
>>> I also don't see anything preventing hardware designers from feeding
>>> single RGB LEDs from multiple different LED controllers, something the
>>> current proposal would prohibit.
>> What do you mean by a single RGB LED? Are you referring to a RGB module?
>>
>> http://wiki.sunfounder.cc/index.php?title=RGB_LED_Module
>>
> Yes
>
>> There is no prevention for HW designers to put a driver on each LED output
>> but I am not sure why they would incur
>>
>> the additional BOM cost seems quite silly unless you have an unlimited
>> budget ;)
>>
> So if you have a system with e.g. 8 PWM channels on one PMIC and a
> single PWM available on a different PMIC then you're saying that the
> hardware guys would be silly to believe that they can drive 3 RGB LEDS
> off this?

OK I must have removed my question to you on presenting a use case.   
Grouping LEDs across multiple devices would an issue yes but we would 
need a design or hardware to develop a good solution.


>
>> If they did design the system that way then the SW would need to revert back
>> to the standard LED class as it is done today.
>>
> If that is the agreed upon design then I'll continue to adapt my LED
> drivers to the MC class.

For now this is the basic design. We are willing to take other 
suggestions.  We appreciate the feedback.

Dan


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ