Hi Marek, On 3/10/20 6:38 PM, Marek Behun wrote: > Hi, > > I am going to try to send driver for Omnia LEDs again. The last time > there was a problem: on 05/01/2019 Jacek wrote: > >> I wonder if we're doing right merging this driver in this form. >> We break the rule one-led-class-device-per-one-channel. We don't >> have LED multi color support yet, so this should support RGB LEDs >> in the old manner. Or switch to using LED multi color class. > >> Once we will have LED multi color class, we will be able to add the >> support for it to the driver and make the driver configurable to be >> able to expose old interface or the LED multi color one. > >> Moreover, the bindings should use led-sources property for grouping >> three channels under single LED class device. This is certainly to be >> fixed. > > So I am going to try to modify the driver so that each channel creates > one LED class device. Do I understand this correctly then, that this > way when there are three channels (RGB) on one LED, all the 3 device > tree nodes for should have the same reg property, but different > led-sources property? Eg: > > led@0,0 { > reg = <0>; > led-sources = <0>; > label = "omnia::heartbeat::red"; > }; > > led@0,1 { > reg = <0>; > led-sources = <1>; > label = "omnia::heartbeat::green"; > }; > > led@0,2 { > reg = <0>; > led-sources = <2>; > label = "omnia::heartbeat::blue"; > }; > > Or did I misinterpret the led-sources property? This is what I proposed back then, strangely that message wasn't archived by bots, or maybe it resides only in my outbox... -------------- LED sub-node properties: - reg : Must be from 0x0 to 0xb, since there are 12 RGB LEDs on this controller. - label : (optional) see Documentation/devicetree/bindings/leds/common.txt - linux,default-trigger : (optional) see Documentation/devicetree/bindings/leds/common.txt - led-sources : Each child node should describe RGB LED it controls, by listing corresponding iout identifiers: 0 - RGB LED 0: red 1 - RGB LED 0: green 2 - RGB LED 0: blue 3 - RGB LED 1: red 4 - RGB LED 1: green 5 - RGB LED 1: blue 6 - RGB LED 2: red 7 - RGB LED 2: green 8 - RGB LED 2: blue 9 - RGB LED 3: red 10 - RGB LED 3: green 11 - RGB LED 3: blue ... and list all the iouts, maybe other names will be more appropriate for this device, feel free to propose something Example: led-controller@2b { compatible = "cznic,turris-omnia-leds"; reg = <0x2b>; #address-cells = <1>; #size-cells = <0>; led@0 { reg = <0x0>; label = "userB"; linux,default-trigger = "heartbeat"; led-sources = <0 1 2>; }; led@1 { reg = <0x1>; label = "userA"; led-sources = <3 4 5>; }; led@2 { reg = <0x2>; label = "pci3"; led-sources = <6 7 8>; }; led@3 { reg = <0x3>; label = "pci2"; led-sources = <9 10 11>; }; ... -------------- Of course now label should be replaced with color and function properties. I've just reviewed that patch set and realized that we agreed upon setting max_brightness to 1 for all LEDs, right? -- Best regards, Jacek Anaszewski