void __iomem *gpio_in =
(void __iomem *)KSEG1ADDR(AR7_REGS_GPIO + AR7_GPIO_INPUT);
- if (gpio >= AR7_GPIO_MAX)
- return -EINVAL;
-
- return ((readl(gpio_in) & (1 << gpio)) != 0);
+ return readl(gpio_in) & (1 << gpio);
}
static inline void gpio_set_value(unsigned gpio, int value)
{
void __iomem *gpio_out =
(void __iomem *)KSEG1ADDR(AR7_REGS_GPIO + AR7_GPIO_OUTPUT);
- volatile unsigned tmp;
-
- if (gpio >= AR7_GPIO_MAX)
- return;
+ unsigned tmp;
tmp = readl(gpio_out) & ~(1 << gpio);
if (value)
void __iomem *gpio_en =
(void __iomem *)KSEG1ADDR(AR7_REGS_GPIO + AR7_GPIO_ENABLE);
- if (gpio >= AR7_GPIO_MAX)
- return -EINVAL;
-
writel(readl(gpio_en) | (1 << gpio), gpio_en);
return 0;
void __iomem *gpio_en =
(void __iomem *)KSEG1ADDR(AR7_REGS_GPIO + AR7_GPIO_ENABLE);
- if (gpio >= AR7_GPIO_MAX)
- return -EINVAL;
-
writel(readl(gpio_en) & ~(1 << gpio), gpio_en);
return 0;