a8c9fc46c790922e6a8e6116e8a66b7a645d7e20
[linux-3.10.git] / arch / xtensa / include / asm / gpio.h
1 /*
2  * Generic GPIO API implementation for xtensa.
3  *
4  * Stolen from x86, which is derived from the generic GPIO API for powerpc:
5  *
6  * Copyright (c) 2007-2008  MontaVista Software, Inc.
7  *
8  * Author: Anton Vorontsov <avorontsov@ru.mvista.com>
9  *
10  * This program is free software; you can redistribute it and/or modify
11  * it under the terms of the GNU General Public License as published by
12  * the Free Software Foundation; either version 2 of the License, or
13  * (at your option) any later version.
14  */
15
16 #ifndef _ASM_XTENSA_GPIO_H
17 #define _ASM_XTENSA_GPIO_H
18
19 #include <asm-generic/gpio.h>
20
21 #ifdef CONFIG_GPIOLIB
22
23 /*
24  * Just call gpiolib.
25  */
26 static inline int gpio_get_value(unsigned int gpio)
27 {
28         return __gpio_get_value(gpio);
29 }
30
31 static inline void gpio_set_value(unsigned int gpio, int value)
32 {
33         __gpio_set_value(gpio, value);
34 }
35
36 static inline int gpio_cansleep(unsigned int gpio)
37 {
38         return __gpio_cansleep(gpio);
39 }
40
41 static inline int gpio_to_irq(unsigned int gpio)
42 {
43         return __gpio_to_irq(gpio);
44 }
45
46 /*
47  * Not implemented, yet.
48  */
49 static inline int irq_to_gpio(unsigned int irq)
50 {
51         return -EINVAL;
52 }
53
54 #endif /* CONFIG_GPIOLIB */
55
56 #endif /* _ASM_XTENSA_GPIO_H */