Hi, On 3 November 2011 16:05, Florian Fainelli <f.fainelli@xxxxxxxxx> wrote: > Since eb9ae7f2 (gpio: fix build error in include/asm-generic/gpio.h) > the generic version of gpio.h calls __gpio_{set,get}_value which we > do not define. Get rid of asm-generic/gpio.h and define the missing > stubs directly for BCM47xx to build. > > Reported-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> > CC: Hauke Mehrtens <hauke@xxxxxxxxxx> > Signed-off-by: Florian Fainelli <florian@xxxxxxxxxxx> > --- > diff --git a/arch/mips/include/asm/mach-bcm47xx/gpio.h b/arch/mips/include/asm/mach-bcm47xx/gpio.h > index 76961ca..26cc815 100644 > --- a/arch/mips/include/asm/mach-bcm47xx/gpio.h > +++ b/arch/mips/include/asm/mach-bcm47xx/gpio.h > @@ -36,6 +36,8 @@ static inline int gpio_get_value(unsigned gpio) > return -EINVAL; > } > > +#define gpio_get_value_cansleep gpio_get_value > + > static inline void gpio_set_value(unsigned gpio, int value) > { > switch (bcm47xx_bus_type) { > @@ -54,6 +56,19 @@ static inline void gpio_set_value(unsigned gpio, int value) > } > } > > +#define gpio_set_value_cansleep gpio_set_value > + > +static inline int gpio_cansleep(unsigned gpio) > +{ > + return 0; > +} > + > +static inline int gpio_is_valid(unsigned gpio) > +{ > + return gpio < (BCM47XX_EXTIF_GPIO_LINES + BCM47XX_EXTIF_GPIO_LINES); This looks wrong; did you perhaps mean BCM47XX_EXTIF_GPIO_LINES + BCM47XX_CHIPCO_GPIO_LINES? BCM47XX_CHIPCO_GPIO_LINES (=16) is bigger than (2 * BCM47XX_EXTIF_GPIO_LINES(=5)), which would make the upper 6 chipco gpios always invalid. Regards, Jonas