blob: 94b6cdf532e207f210fffa131dfd34e2fa82e414 [file] [log] [blame]
Vegard Nossum77ef50a2008-06-18 17:08:48 +02001#ifndef ASM_X86__MACH_RDC321X__GPIO_H
2#define ASM_X86__MACH_RDC321X__GPIO_H
Florian Fainelli5e3a77e2008-01-30 13:33:36 +01003
Uwe Kleine-Königfbdbf702008-09-15 22:02:43 +02004#include <linux/kernel.h>
Florian Fainelli5e3a77e2008-01-30 13:33:36 +01005
6extern int rdc_gpio_get_value(unsigned gpio);
7extern void rdc_gpio_set_value(unsigned gpio, int value);
8extern int rdc_gpio_direction_input(unsigned gpio);
9extern int rdc_gpio_direction_output(unsigned gpio, int value);
Florian Fainellib2ef7492008-03-26 22:39:15 +010010extern int rdc_gpio_request(unsigned gpio, const char *label);
11extern void rdc_gpio_free(unsigned gpio);
12extern void __init rdc321x_gpio_setup(void);
Florian Fainelli5e3a77e2008-01-30 13:33:36 +010013
14/* Wrappers for the arch-neutral GPIO API */
15
16static inline int gpio_request(unsigned gpio, const char *label)
17{
Florian Fainellib2ef7492008-03-26 22:39:15 +010018 return rdc_gpio_request(gpio, label);
Florian Fainelli5e3a77e2008-01-30 13:33:36 +010019}
20
21static inline void gpio_free(unsigned gpio)
22{
Uwe Kleine-Königfbdbf702008-09-15 22:02:43 +020023 might_sleep();
Florian Fainellib2ef7492008-03-26 22:39:15 +010024 rdc_gpio_free(gpio);
Florian Fainelli5e3a77e2008-01-30 13:33:36 +010025}
26
27static inline int gpio_direction_input(unsigned gpio)
28{
29 return rdc_gpio_direction_input(gpio);
30}
31
32static inline int gpio_direction_output(unsigned gpio, int value)
33{
34 return rdc_gpio_direction_output(gpio, value);
35}
36
37static inline int gpio_get_value(unsigned gpio)
38{
39 return rdc_gpio_get_value(gpio);
40}
41
42static inline void gpio_set_value(unsigned gpio, int value)
43{
44 rdc_gpio_set_value(gpio, value);
45}
46
47static inline int gpio_to_irq(unsigned gpio)
48{
49 return gpio;
50}
51
52static inline int irq_to_gpio(unsigned irq)
53{
54 return irq;
55}
56
57/* For cansleep */
58#include <asm-generic/gpio.h>
59
Vegard Nossum77ef50a2008-06-18 17:08:48 +020060#endif /* ASM_X86__MACH_RDC321X__GPIO_H */