lkml.org 
[lkml]   [2019]   [Sep]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH 5/5] leds: add /sys/class/leds/<led>/current-trigger
    On Sun, Sep 08, 2019 at 09:41:12PM +0900, Akinobu Mita wrote:
    > Reading /sys/class/leds/<led>/trigger returns all available LED triggers.
    > However, this violates the "one value per file" rule of sysfs.
    >
    > This provides /sys/class/leds/<led>/current-trigger which is almost
    > identical to /sys/class/leds/<led>/trigger. The only difference is that
    > 'current-trigger' only shows the current trigger name.
    >
    > This new file follows the "one value per file" rule of sysfs.
    > We can use the /sys/class/triggers directory to get the list of available
    > LED triggers.
    >
    > Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    > Cc: "Rafael J. Wysocki" <rafael@kernel.org>
    > Cc: Jacek Anaszewski <jacek.anaszewski@gmail.com>
    > Cc: Pavel Machek <pavel@ucw.cz>
    > Cc: Dan Murphy <dmurphy@ti.com>
    > Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
    > ---
    > Documentation/ABI/testing/sysfs-class-led | 13 +++++++++++
    > drivers/leds/led-class.c | 7 ++++++
    > drivers/leds/led-triggers.c | 38 +++++++++++++++++++++++++++----
    > drivers/leds/leds.h | 5 ++++
    > 4 files changed, 59 insertions(+), 4 deletions(-)
    >
    > diff --git a/Documentation/ABI/testing/sysfs-class-led b/Documentation/ABI/testing/sysfs-class-led
    > index 14d91af..1a1be10 100644
    > --- a/Documentation/ABI/testing/sysfs-class-led
    > +++ b/Documentation/ABI/testing/sysfs-class-led
    > @@ -70,3 +70,16 @@ Description:
    > This directory contains a number of sub-directories, each
    > representing an LED trigger. The name of the sub-directory
    > matches the LED trigger name.
    > +
    > +What: /sys/class/leds/<led>/current-trigger
    > +Date: September 2019
    > +KernelVersion: 5.5
    > +Contact: linux-leds@vger.kernel.org
    > +Description:
    > + Set the trigger for this LED. A trigger is a kernel based source
    > + of LED events.
    > + Writing the trigger name to this file will change the current
    > + trigger. Trigger specific parameters can appear in
    > + /sys/class/leds/<led> once a given trigger is selected. For
    > + their documentation see sysfs-class-led-trigger-*.
    > + Reading this file will return the current LED trigger name.
    > diff --git a/drivers/leds/led-class.c b/drivers/leds/led-class.c
    > index 04e6c14..388500b 100644
    > --- a/drivers/leds/led-class.c
    > +++ b/drivers/leds/led-class.c
    > @@ -73,12 +73,19 @@ static ssize_t max_brightness_show(struct device *dev,
    > static DEVICE_ATTR_RO(max_brightness);
    >
    > #ifdef CONFIG_LEDS_TRIGGERS
    > +static DEVICE_ATTR(current_trigger, 0644, led_current_trigger_show,
    > + led_current_trigger_store);

    DEVICE_ATTR_RW()?


    > +static struct attribute *led_current_trigger_attrs[] = {
    > + &dev_attr_current_trigger.attr,
    > + NULL,
    > +};
    > static BIN_ATTR(trigger, 0644, led_trigger_read, led_trigger_write, 0);

    BIN_ATTR_RW()?

    And no whitespace?

    thanks,

    gre gk-h

    \
     
     \ /
      Last update: 2019-09-08 15:10    [W:4.489 / U:0.072 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site