Merge branch 'for-linus' of git://www.atmel.no/~hskinnemoen/linux/kernel/avr32
[sfrench/cifs-2.6.git] / include / asm-avr32 / arch-at32ap / gpio.h
1 #ifndef __ASM_AVR32_ARCH_GPIO_H
2 #define __ASM_AVR32_ARCH_GPIO_H
3
4 #include <linux/compiler.h>
5 #include <asm/irq.h>
6
7
8 /* Arch-neutral GPIO API */
9 int __must_check gpio_request(unsigned int gpio, const char *label);
10 void gpio_free(unsigned int gpio);
11
12 int gpio_direction_input(unsigned int gpio);
13 int gpio_direction_output(unsigned int gpio);
14 int gpio_get_value(unsigned int gpio);
15 void gpio_set_value(unsigned int gpio, int value);
16
17 static inline int gpio_to_irq(unsigned int gpio)
18 {
19         return gpio + GPIO_IRQ_BASE;
20 }
21
22 static inline int irq_to_gpio(unsigned int irq)
23 {
24         return irq - GPIO_IRQ_BASE;
25 }
26
27 #endif /* __ASM_AVR32_ARCH_GPIO_H */