lkml.org 
[lkml]   [2009]   [Aug]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Subjectgpiolib: add names file in gpio chip sysfs.
    From
    Date
    Add a 'names' file to the sysfs entries for each chip to show which
    have names.

    Signed-off-by: Ben Dooks <ben@simtec.co.uk>
    CC: David Brownell <dbrownell@users.sourceforge.net>

    ---
    drivers/gpio/gpiolib.c | 21 +++++++++++++++++++++
    1 file changed, 21 insertions(+)

    Index: b/drivers/gpio/gpiolib.c
    ===================================================================
    --- a/drivers/gpio/gpiolib.c 2009-08-03 17:51:40.000000000 +0100
    +++ b/drivers/gpio/gpiolib.c 2009-08-03 17:53:04.000000000 +0100
    @@ -303,6 +303,7 @@ static const struct attribute_group gpio
    * /base ... matching gpio_chip.base (N)
    * /label ... matching gpio_chip.label
    * /ngpio ... matching gpio_chip.ngpio
    + * /names ... matching gpio_chip.names
    */

    static ssize_t chip_base_show(struct device *dev,
    @@ -332,10 +333,30 @@ static ssize_t chip_ngpio_show(struct de
    }
    static DEVICE_ATTR(ngpio, 0444, chip_ngpio_show, NULL);

    +static ssize_t chip_names_show(struct device *dev,
    + struct device_attribute *attr, char *buf)
    +{
    + const struct gpio_chip*chip = dev_get_drvdata(dev);
    + char **names = chip->names;
    + int ptr = 0;
    + int name;
    +
    + if (!names)
    + return -EINVAL;
    +
    + for (name = 0; name < chip->ngpio && ptr < PAGE_SIZE; name++)
    + ptr += snprintf(buf + ptr, PAGE_SIZE - ptr,
    + "%s\n", names[name] ? names[name] : "");
    +
    + return ptr;
    +}
    +DEVICE_ATTR(names, 0444, chip_names_show, NULL);
    +
    static const struct attribute *gpiochip_attrs[] = {
    &dev_attr_base.attr,
    &dev_attr_label.attr,
    &dev_attr_ngpio.attr,
    + &dev_attr_names.attr,
    NULL,
    };

    --


    \
     
     \ /
      Last update: 2009-08-03 18:59    [W:0.022 / U:30.228 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site