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 efe3281364e..ae074556831 100644 --- a/arch/arm/mach-davinci/include/mach/gpio.h +++ b/arch/arm/mach-davinci/include/mach/gpio.h @@ -17,6 +17,7 @@  #include <asm-generic/gpio.h>  #include <mach/irqs.h> +#include <mach/common.h>  #define DAVINCI_GPIO_BASE 0x01C67000 @@ -67,15 +68,16 @@ static inline struct gpio_controller *__iomem  __gpio_to_controller(unsigned gpio)  {  	void *__iomem ptr; +	void __iomem *base = davinci_soc_info.gpio_base;  	if (gpio < 32 * 1) -		ptr = IO_ADDRESS(DAVINCI_GPIO_BASE + 0x10); +		ptr = base + 0x10;  	else if (gpio < 32 * 2) -		ptr = IO_ADDRESS(DAVINCI_GPIO_BASE + 0x38); +		ptr = base + 0x38;  	else if (gpio < 32 * 3) -		ptr = IO_ADDRESS(DAVINCI_GPIO_BASE + 0x60); +		ptr = base + 0x60;  	else if (gpio < 32 * 4) -		ptr = IO_ADDRESS(DAVINCI_GPIO_BASE + 0x88); +		ptr = base + 0x88;  	else  		ptr = NULL;  	return ptr; @@ -142,13 +144,13 @@ static inline int gpio_to_irq(unsigned gpio)  {  	if (gpio >= DAVINCI_N_GPIO)  		return -EINVAL; -	return DAVINCI_N_AINTC_IRQ + gpio; +	return davinci_soc_info.intc_irq_num + gpio;  }  static inline int irq_to_gpio(unsigned irq)  {  	/* caller guarantees gpio_to_irq() succeeded */ -	return irq - DAVINCI_N_AINTC_IRQ; +	return irq - davinci_soc_info.intc_irq_num;  }  #endif				/* __DAVINCI_GPIO_H */  |