Hi Sandeep, Joel, On Sun, Sep 4, 2011 at 11:10 PM, <s-paul...@ti.com> wrote: > From: Joel A Fernandes <agnel.j...@gmail.com> > > Read directly from OMAP_GPIO_DATAOUT to get the output state of the GPIO pin > > Signed-off-by: Joel A Fernandes <agnel.j...@gmail.com> > Signed-off-by: Jason Kridner <jkrid...@beagleboard.org> > Signed-off-by: Sandeep Paulraj <s-paul...@ti.com> > --- > arch/arm/cpu/armv7/omap-common/gpio.c | 20 ++++++++++++++++++++ > arch/arm/include/asm/omap_gpio.h | 2 ++ > 2 files changed, 22 insertions(+), 0 deletions(-) > > diff --git a/arch/arm/cpu/armv7/omap-common/gpio.c > b/arch/arm/cpu/armv7/omap-common/gpio.c > index 2fcaf5a..4749524 100644 > --- a/arch/arm/cpu/armv7/omap-common/gpio.c > +++ b/arch/arm/cpu/armv7/omap-common/gpio.c > @@ -151,6 +151,26 @@ int omap_get_gpio_datain(int gpio) > & (1 << get_gpio_index(gpio))) != 0; > } > > +int omap_get_gpio_dataout(int gpio)
This patch added a build warning like this: gpio.c: In function 'omap_get_gpio_dataout': gpio.c:161: warning: assignment discards qualifiers from pointer target type The fix is this: diff --git a/arch/arm/cpu/armv7/omap-common/gpio.c b/arch/arm/cpu/armv7/omap-common/gpio.c index 4749524..c4126fe 100644 --- a/arch/arm/cpu/armv7/omap-common/gpio.c +++ b/arch/arm/cpu/armv7/omap-common/gpio.c @@ -153,7 +153,7 @@ int omap_get_gpio_datain(int gpio) int omap_get_gpio_dataout(int gpio) { - struct gpio_bank *bank; + const struct gpio_bank *bank; void *reg; if (check_gpio(gpio) < 0) > +{ > + struct gpio_bank *bank; > + void *reg; > + > + if (check_gpio(gpio) < 0) > + return -EINVAL; > + bank = get_gpio_bank(gpio); > + reg = bank->base; > + switch (bank->method) { > + case METHOD_GPIO_24XX: > + reg += OMAP_GPIO_DATAOUT; > + break; > + default: > + return -EINVAL; > + } > + return (__raw_readl(reg) > + & (1 << get_gpio_index(gpio))) != 0; > +} > + > static void _reset_gpio(const struct gpio_bank *bank, int gpio) > { > _set_gpio_direction(bank, get_gpio_index(gpio), 1); > diff --git a/arch/arm/include/asm/omap_gpio.h > b/arch/arm/include/asm/omap_gpio.h > index 3089e1c..8741572 100644 > --- a/arch/arm/include/asm/omap_gpio.h > +++ b/arch/arm/include/asm/omap_gpio.h > @@ -61,5 +61,7 @@ void omap_set_gpio_direction(int gpio, int is_input); > void omap_set_gpio_dataout(int gpio, int enable); > /* Get the value of a gpio input */ > int omap_get_gpio_datain(int gpio); > +/* Get the value of a gpio output */ > +int omap_get_gpio_dataout(int gpio); > > #endif /* _GPIO_H_ */ > -- > 1.6.0.4 > > _______________________________________________ > U-Boot mailing list > U-Boot@lists.denx.de > http://lists.denx.de/mailman/listinfo/u-boot > _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot