Hi Oleh, On 7/9/19 12:00 AM, Oleh Kravchenko wrote: > Hello Jacek, > > 11.06.19 22:52, Jacek Anaszewski пише: >> On 6/11/19 2:01 PM, Pavel Machek wrote: >>> Hi! >>> >>>>> I just want to clerify - for now LEDs board has 2 from 3 LEDs with effect function. >>>>> >>>>> 1. Screen frame led is just blinking, so blink_set() is fit well to this. >>>>> 2. Pipe led actually consist from 3 leds and when effect is enabled next pattern is used: >>>>> >>>>> ^ >>>>> | >>>>> LED1 > OFF ON ON ON >>>>> | >>>>> LED2 > OFF OFF ON ON >>>>> | >>>>> LED3 > OFF OFF OFF ON >>>>> | >>>>> +----^----^----^----^----> time >>>> >>>> Pattern trigger applies to a single LED so it won't fit for this >>>> pattern. >>>> >>>> Currently we don't support patterns spanning on multiple LEDs, >>>> so you would have to come up with your own solution. >>>> >>>> What I can recommend is a trigger that would be created by your driver >>>> and would activate this sequence. >>> >>> Yes, please. >>> >>> While adding custom files to sysfs may appear easier, we'll need >>> "led-specific-triggers" for other reasons. >> >> For what reasons exactly? >> >> This is similar to the generic hw trigger support proposed by >> Marek Behun. In the reply to that patch I asked some questions [0]. >> So far the mechanism looks too me awkward and not introducing any >> novelty besides requiring one more step - setting the trigger. >> >>> And for the record... Handling 3 LEDs as one is not something usual in >>> the LED subsystem; I guess it makes sense in your specific case, but >>> hopefully noone will copy that design. >>> >>> (I guess they are not individually controllable?) >>> >>> Pavel >>> >> >> [0] https://www.spinics.net/lists/linux-leds/msg12269.html >> > > I just figure out that this Pipe LED actually consist from 5 LEDs, not 3 :) > And supports next level 'brightness' from SPI driver: > - '0' Off > - '1' On > - '2' Cascade (waterfall down) > -'3' InverseCascade (waterfall up) > - '4' Bounce > - '5' InverseBounce > > Please advice, can I proceed with sys attribute file to set '2'..'5' levels? It looks like pattern trigger is the most appropriate solution for the effects 2-5. Your driver will need to implement pattern_set op for the LEDs supporting the effects, and then the effect will be enabled after writing required sequence to the hw_pattern file. You will need to come up with a sequence of values that the driver will recognize as a request of enabling given hardware effect. Please compare drivers/leds/leds-sc27xx-bltc.c and its ABI documentation [0] for reference. See also hw_pattern file description in [1]. [0] Documentation/ABI/testing/sysfs-class-led-driver-sc27xx [1] Documentation/ABI/testing/sysfs-class-led-trigger-pattern -- Best regards, Jacek Anaszewski