diff options
Diffstat (limited to 'arch/arm/mach-davinci/include/mach/gpio.h')
-rw-r--r-- | arch/arm/mach-davinci/include/mach/gpio.h | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/arch/arm/mach-davinci/include/mach/gpio.h b/arch/arm/mach-davinci/include/mach/gpio.h index efe3281364e6..ae0745568316 100644 --- a/arch/arm/mach-davinci/include/mach/gpio.h +++ b/arch/arm/mach-davinci/include/mach/gpio.h | |||
@@ -17,6 +17,7 @@ | |||
17 | #include <asm-generic/gpio.h> | 17 | #include <asm-generic/gpio.h> |
18 | 18 | ||
19 | #include <mach/irqs.h> | 19 | #include <mach/irqs.h> |
20 | #include <mach/common.h> | ||
20 | 21 | ||
21 | #define DAVINCI_GPIO_BASE 0x01C67000 | 22 | #define DAVINCI_GPIO_BASE 0x01C67000 |
22 | 23 | ||
@@ -67,15 +68,16 @@ static inline struct gpio_controller *__iomem | |||
67 | __gpio_to_controller(unsigned gpio) | 68 | __gpio_to_controller(unsigned gpio) |
68 | { | 69 | { |
69 | void *__iomem ptr; | 70 | void *__iomem ptr; |
71 | void __iomem *base = davinci_soc_info.gpio_base; | ||
70 | 72 | ||
71 | if (gpio < 32 * 1) | 73 | if (gpio < 32 * 1) |
72 | ptr = IO_ADDRESS(DAVINCI_GPIO_BASE + 0x10); | 74 | ptr = base + 0x10; |
73 | else if (gpio < 32 * 2) | 75 | else if (gpio < 32 * 2) |
74 | ptr = IO_ADDRESS(DAVINCI_GPIO_BASE + 0x38); | 76 | ptr = base + 0x38; |
75 | else if (gpio < 32 * 3) | 77 | else if (gpio < 32 * 3) |
76 | ptr = IO_ADDRESS(DAVINCI_GPIO_BASE + 0x60); | 78 | ptr = base + 0x60; |
77 | else if (gpio < 32 * 4) | 79 | else if (gpio < 32 * 4) |
78 | ptr = IO_ADDRESS(DAVINCI_GPIO_BASE + 0x88); | 80 | ptr = base + 0x88; |
79 | else | 81 | else |
80 | ptr = NULL; | 82 | ptr = NULL; |
81 | return ptr; | 83 | return ptr; |
@@ -142,13 +144,13 @@ static inline int gpio_to_irq(unsigned gpio) | |||
142 | { | 144 | { |
143 | if (gpio >= DAVINCI_N_GPIO) | 145 | if (gpio >= DAVINCI_N_GPIO) |
144 | return -EINVAL; | 146 | return -EINVAL; |
145 | return DAVINCI_N_AINTC_IRQ + gpio; | 147 | return davinci_soc_info.intc_irq_num + gpio; |
146 | } | 148 | } |
147 | 149 | ||
148 | static inline int irq_to_gpio(unsigned irq) | 150 | static inline int irq_to_gpio(unsigned irq) |
149 | { | 151 | { |
150 | /* caller guarantees gpio_to_irq() succeeded */ | 152 | /* caller guarantees gpio_to_irq() succeeded */ |
151 | return irq - DAVINCI_N_AINTC_IRQ; | 153 | return irq - davinci_soc_info.intc_irq_num; |
152 | } | 154 | } |
153 | 155 | ||
154 | #endif /* __DAVINCI_GPIO_H */ | 156 | #endif /* __DAVINCI_GPIO_H */ |