123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- #ifndef __ASM_AVR32_ARCH_GPIO_H
- #define __ASM_AVR32_ARCH_GPIO_H
- #include <linux/compiler.h>
- #include <asm/irq.h>
- /* Some GPIO chips can manage IRQs; some can't. The exact numbers can
- * be changed if needed, but for the moment they're not configurable.
- */
- #define ARCH_NR_GPIOS (NR_GPIO_IRQS + 2 * 32)
- /* Arch-neutral GPIO API, supporting both "native" and external GPIOs. */
- #include <asm-generic/gpio.h>
- static inline int gpio_get_value(unsigned int gpio)
- {
- return __gpio_get_value(gpio);
- }
- static inline void gpio_set_value(unsigned int gpio, int value)
- {
- __gpio_set_value(gpio, value);
- }
- static inline int gpio_cansleep(unsigned int gpio)
- {
- return __gpio_cansleep(gpio);
- }
- static inline int gpio_to_irq(unsigned int gpio)
- {
- if (gpio < NR_GPIO_IRQS)
- return gpio + GPIO_IRQ_BASE;
- return -EINVAL;
- }
- static inline int irq_to_gpio(unsigned int irq)
- {
- return irq - GPIO_IRQ_BASE;
- }
- #endif /* __ASM_AVR32_ARCH_GPIO_H */
|