Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
gpio.h
Go to the documentation of this file.
1 /*
2  * include/asm-mips/pmc-sierra/msp71xx/gpio.h
3  *
4  * This program is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License version 2 as
6  * published by the Free Software Foundation.
7  *
8  * @author Patrick Glass <[email protected]>
9  */
10 
11 #ifndef __PMC_MSP71XX_GPIO_H
12 #define __PMC_MSP71XX_GPIO_H
13 
14 /* Max number of gpio's is 28 on chip plus 3 banks of I2C IO Expanders */
15 #define ARCH_NR_GPIOS (28 + (3 * 8))
16 
17 /* new generic GPIO API - see Documentation/gpio.txt */
18 #include <asm-generic/gpio.h>
19 
20 #define gpio_get_value __gpio_get_value
21 #define gpio_set_value __gpio_set_value
22 #define gpio_cansleep __gpio_cansleep
23 
24 /* Setup calls for the gpio and gpio extended */
25 extern void msp71xx_init_gpio(void);
26 extern void msp71xx_init_gpio_extended(void);
27 extern int msp71xx_set_output_drive(unsigned gpio, int value);
28 
29 /* Custom output drive functionss */
30 static inline int gpio_set_output_drive(unsigned gpio, int value)
31 {
32  return msp71xx_set_output_drive(gpio, value);
33 }
34 
35 /* IRQ's are not supported for gpio lines */
36 static inline int gpio_to_irq(unsigned gpio)
37 {
38  return -EINVAL;
39 }
40 
41 static inline int irq_to_gpio(unsigned irq)
42 {
43  return -EINVAL;
44 }
45 
46 #endif /* __PMC_MSP71XX_GPIO_H */