Creating sysfs brightness for every led channels
From: Raul Piper <hidden>
Date: 2016-09-08 10:56:05
On Thu, Sep 8, 2016 at 1:57 AM, Jacek Anaszewski [off-list ref] wrote:
Hi Raul, On 09/05/2016 08:32 PM, Raul Piper wrote:quoted
Hi, I am trying to send the brightness value ( for 5 channels) by echo "val1val2val3val4val5" > brightness ,How did you infer this format?
Val1 is for channel #1 brightness, Val2 is for channel #2 .I un-parse it in the _set_brightness_ method , but as written I think I have to create a separate brightness sysfs for each channel. Thankyou for the example documentation. But what if I want to change the brightness of all the channels simultaneously?Is it supported? Is the Brightness sysfs implementation guaranteed to change the brightness of the leds as soon as it is written by some user space script.Can we not just store the values every time a channel is written with the brightness value and then sync all the brightness by some other sysfs(custom) with all those values.- In case of simultaneous brightness change?
Please get acquainted with Documentation/leds/leds-class.txt and Documentation/ABI/testing/sysfs-class-led.quoted
But seems like even if I change the brightness type to enum or int in my driver ,I will never be able to send the brightness string because led class defines the brightness value as enum.One LED class device can control one channel.quoted
extern void led_set_brightness(struct led_classdev *led_cdev, enum led_brightness brightness); Only possible way I am finding is to create attributes for each channel like brightness,default trigger,max_brightness and any user defined attributes, but i am not getting how to do this. Can some on please comment or post the link to the example driver. Do i have to call led_class_register for every channel and I have to define every channel in the device tree?Just grep through drivers/leds and Documentation/devicetree/bindings/leds/.
Thank-you for this.
-- Best regards, Jacek Anaszewski
Thanks and Regards, Rp