lkml.org 
[lkml]   [2011]   [Mar]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v5 3/4] gpio: pca953x: Implement get_direction() hook
    Date
    Adding the get_direction() function allows the accurate GPIO pin
    direction data to be shown in sysfs. Previously, the direction was
    was always initialized to 'unknown'.

    Cc: Alek Du <alek.du@intel.com>
    Cc: Samuel Ortiz <sameo@linux.intel.com>
    Cc: David Brownell <dbrownell@users.sourceforge.net>
    Cc: Eric Miao <eric.y.miao@gmail.com>
    Cc: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
    Cc: Mark Brown <broonie@opensource.wolfsonmicro.com>
    Cc: Joe Perches <joe@perches.com>
    Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
    Cc: Grant Likely <grant.likely@secretlab.ca>
    Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
    ---
    Changes since v1:
    - None

    Changes since v2:
    - Use GPIOF_DIR_* defines

    Changes since v3:
    - None

    Change since V4:
    - None

    drivers/gpio/pca953x.c | 10 ++++++++++
    1 files changed, 10 insertions(+), 0 deletions(-)

    diff --git a/drivers/gpio/pca953x.c b/drivers/gpio/pca953x.c
    index b473429..b93611f 100644
    --- a/drivers/gpio/pca953x.c
    +++ b/drivers/gpio/pca953x.c
    @@ -168,6 +168,15 @@ exit:
    return ret;
    }

    +static int pca953x_gpio_get_direction(struct gpio_chip *gc, unsigned off)
    +{
    + struct pca953x_chip *chip;
    +
    + chip = container_of(gc, struct pca953x_chip, gpio_chip);
    +
    + return chip->reg_direction & (1u << off) ? GPIOF_DIR_IN : GPIOF_DIR_OUT;
    +}
    +
    static int pca953x_gpio_get_value(struct gpio_chip *gc, unsigned off)
    {
    struct pca953x_chip *chip;
    @@ -221,6 +230,7 @@ static void pca953x_setup_gpio(struct pca953x_chip *chip, int gpios)

    gc->direction_input = pca953x_gpio_direction_input;
    gc->direction_output = pca953x_gpio_direction_output;
    + gc->get_direction = pca953x_gpio_get_direction;
    gc->get = pca953x_gpio_get_value;
    gc->set = pca953x_gpio_set_value;
    gc->can_sleep = 1;
    --
    1.7.0.4
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2011-03-02 00:33    [W:0.024 / U:4.808 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site