aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-pxa/generic.c
diff options
context:
space:
mode:
authoreric miao <eric.y.miao@gmail.com>2007-08-29 05:18:47 -0400
committerRussell King <rmk+kernel@arm.linux.org.uk>2007-10-12 16:15:32 -0400
commit30f0b40844e5add7ad879e2f5939ff498f72f3e6 (patch)
treec899a6cc6b9e3a0d998b6b5e15d3208eae51dcfb /arch/arm/mach-pxa/generic.c
parent37c2f779a4eabf7c6a39e6f9ded0ec3471ed5995 (diff)
[ARM] 4559/1: pxa: make PXA_LAST_GPIO a run-time variable
This definition produces processor specific code in generic function pxa_gpio_mode(), thus creating inconsistencies for support of pxa25x and pxa27x in a single zImage. As David Brownell suggests, make it a run-time variable and initialize at run-time according to the number of GPIOs on the processor. For now the initialization happens in pxa_init_irq_gpio(), since there is already a parameter for that, besides, this is and MUST be earlier than any subsequent calls to pxa_gpio_mode(). Signed-off-by: eric miao <eric.y.miao@gmail.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/mach-pxa/generic.c')
-rw-r--r--arch/arm/mach-pxa/generic.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/arm/mach-pxa/generic.c b/arch/arm/mach-pxa/generic.c
index 1c5413fc6e74..eed95eaf58cd 100644
--- a/arch/arm/mach-pxa/generic.c
+++ b/arch/arm/mach-pxa/generic.c
@@ -71,6 +71,7 @@ EXPORT_SYMBOL(get_memclk_frequency_10khz);
71/* 71/*
72 * Handy function to set GPIO alternate functions 72 * Handy function to set GPIO alternate functions
73 */ 73 */
74int pxa_last_gpio;
74 75
75int pxa_gpio_mode(int gpio_mode) 76int pxa_gpio_mode(int gpio_mode)
76{ 77{
@@ -79,7 +80,7 @@ int pxa_gpio_mode(int gpio_mode)
79 int fn = (gpio_mode & GPIO_MD_MASK_FN) >> 8; 80 int fn = (gpio_mode & GPIO_MD_MASK_FN) >> 8;
80 int gafr; 81 int gafr;
81 82
82 if (gpio > PXA_LAST_GPIO) 83 if (gpio > pxa_last_gpio)
83 return -EINVAL; 84 return -EINVAL;
84 85
85 local_irq_save(flags); 86 local_irq_save(flags);