diff options
Diffstat (limited to 'arch/arm/mach-pxa')
74 files changed, 441 insertions, 516 deletions
diff --git a/arch/arm/mach-pxa/am200epd.c b/arch/arm/mach-pxa/am200epd.c index 4cb069fd9af2..ccdac4b6a469 100644 --- a/arch/arm/mach-pxa/am200epd.c +++ b/arch/arm/mach-pxa/am200epd.c | |||
@@ -138,7 +138,7 @@ static void am200_cleanup(struct metronomefb_par *par) | |||
138 | { | 138 | { |
139 | int i; | 139 | int i; |
140 | 140 | ||
141 | free_irq(IRQ_GPIO(RDY_GPIO_PIN), par); | 141 | free_irq(PXA_GPIO_TO_IRQ(RDY_GPIO_PIN), par); |
142 | 142 | ||
143 | for (i = 0; i < ARRAY_SIZE(gpios); i++) | 143 | for (i = 0; i < ARRAY_SIZE(gpios); i++) |
144 | gpio_free(gpios[i]); | 144 | gpio_free(gpios[i]); |
@@ -292,7 +292,7 @@ static int am200_setup_irq(struct fb_info *info) | |||
292 | { | 292 | { |
293 | int ret; | 293 | int ret; |
294 | 294 | ||
295 | ret = request_irq(IRQ_GPIO(RDY_GPIO_PIN), am200_handle_irq, | 295 | ret = request_irq(PXA_GPIO_TO_IRQ(RDY_GPIO_PIN), am200_handle_irq, |
296 | IRQF_DISABLED|IRQF_TRIGGER_FALLING, | 296 | IRQF_DISABLED|IRQF_TRIGGER_FALLING, |
297 | "AM200", info->par); | 297 | "AM200", info->par); |
298 | if (ret) | 298 | if (ret) |
diff --git a/arch/arm/mach-pxa/am300epd.c b/arch/arm/mach-pxa/am300epd.c index fa8bad235d9f..76c4b9494031 100644 --- a/arch/arm/mach-pxa/am300epd.c +++ b/arch/arm/mach-pxa/am300epd.c | |||
@@ -176,7 +176,7 @@ static void am300_cleanup(struct broadsheetfb_par *par) | |||
176 | { | 176 | { |
177 | int i; | 177 | int i; |
178 | 178 | ||
179 | free_irq(IRQ_GPIO(RDY_GPIO_PIN), par); | 179 | free_irq(PXA_GPIO_TO_IRQ(RDY_GPIO_PIN), par); |
180 | 180 | ||
181 | for (i = 0; i < ARRAY_SIZE(gpios); i++) | 181 | for (i = 0; i < ARRAY_SIZE(gpios); i++) |
182 | gpio_free(gpios[i]); | 182 | gpio_free(gpios[i]); |
@@ -240,7 +240,7 @@ static int am300_setup_irq(struct fb_info *info) | |||
240 | int ret; | 240 | int ret; |
241 | struct broadsheetfb_par *par = info->par; | 241 | struct broadsheetfb_par *par = info->par; |
242 | 242 | ||
243 | ret = request_irq(IRQ_GPIO(RDY_GPIO_PIN), am300_handle_irq, | 243 | ret = request_irq(PXA_GPIO_TO_IRQ(RDY_GPIO_PIN), am300_handle_irq, |
244 | IRQF_DISABLED|IRQF_TRIGGER_RISING, | 244 | IRQF_DISABLED|IRQF_TRIGGER_RISING, |
245 | "AM300", par); | 245 | "AM300", par); |
246 | if (ret) | 246 | if (ret) |
diff --git a/arch/arm/mach-pxa/balloon3.c b/arch/arm/mach-pxa/balloon3.c index 82514f5c38f1..c35456f02acb 100644 --- a/arch/arm/mach-pxa/balloon3.c +++ b/arch/arm/mach-pxa/balloon3.c | |||
@@ -13,6 +13,7 @@ | |||
13 | * published by the Free Software Foundation. | 13 | * published by the Free Software Foundation. |
14 | */ | 14 | */ |
15 | 15 | ||
16 | #include <linux/export.h> | ||
16 | #include <linux/init.h> | 17 | #include <linux/init.h> |
17 | #include <linux/platform_device.h> | 18 | #include <linux/platform_device.h> |
18 | #include <linux/interrupt.h> | 19 | #include <linux/interrupt.h> |
@@ -179,7 +180,7 @@ static unsigned long balloon3_ac97_pin_config[] __initdata = { | |||
179 | }; | 180 | }; |
180 | 181 | ||
181 | static struct ucb1400_pdata vpac270_ucb1400_pdata = { | 182 | static struct ucb1400_pdata vpac270_ucb1400_pdata = { |
182 | .irq = IRQ_GPIO(BALLOON3_GPIO_CODEC_IRQ), | 183 | .irq = PXA_GPIO_TO_IRQ(BALLOON3_GPIO_CODEC_IRQ), |
183 | }; | 184 | }; |
184 | 185 | ||
185 | 186 | ||
diff --git a/arch/arm/mach-pxa/capc7117.c b/arch/arm/mach-pxa/capc7117.c index c2f0be040d27..c91727d1fe09 100644 --- a/arch/arm/mach-pxa/capc7117.c +++ b/arch/arm/mach-pxa/capc7117.c | |||
@@ -50,8 +50,8 @@ static struct resource capc7117_ide_resources[] = { | |||
50 | .flags = IORESOURCE_MEM | 50 | .flags = IORESOURCE_MEM |
51 | }, | 51 | }, |
52 | [2] = { | 52 | [2] = { |
53 | .start = gpio_to_irq(mfp_to_gpio(MFP_PIN_GPIO76)), | 53 | .start = PXA_GPIO_TO_IRQ(mfp_to_gpio(MFP_PIN_GPIO76)), |
54 | .end = gpio_to_irq(mfp_to_gpio(MFP_PIN_GPIO76)), | 54 | .end = PXA_GPIO_TO_IRQ(mfp_to_gpio(MFP_PIN_GPIO76)), |
55 | .flags = IORESOURCE_IRQ | IRQF_TRIGGER_RISING | 55 | .flags = IORESOURCE_IRQ | IRQF_TRIGGER_RISING |
56 | } | 56 | } |
57 | }; | 57 | }; |
@@ -80,7 +80,7 @@ static void __init capc7117_ide_init(void) | |||
80 | static struct plat_serial8250_port ti16c752_platform_data[] = { | 80 | static struct plat_serial8250_port ti16c752_platform_data[] = { |
81 | [0] = { | 81 | [0] = { |
82 | .mapbase = 0x14000000, | 82 | .mapbase = 0x14000000, |
83 | .irq = gpio_to_irq(mfp_to_gpio(MFP_PIN_GPIO78)), | 83 | .irq = PXA_GPIO_TO_IRQ(mfp_to_gpio(MFP_PIN_GPIO78)), |
84 | .irqflags = IRQF_TRIGGER_RISING, | 84 | .irqflags = IRQF_TRIGGER_RISING, |
85 | .flags = TI16C752_FLAGS, | 85 | .flags = TI16C752_FLAGS, |
86 | .iotype = UPIO_MEM, | 86 | .iotype = UPIO_MEM, |
@@ -89,7 +89,7 @@ static struct plat_serial8250_port ti16c752_platform_data[] = { | |||
89 | }, | 89 | }, |
90 | [1] = { | 90 | [1] = { |
91 | .mapbase = 0x14000040, | 91 | .mapbase = 0x14000040, |
92 | .irq = gpio_to_irq(mfp_to_gpio(MFP_PIN_GPIO79)), | 92 | .irq = PXA_GPIO_TO_IRQ(mfp_to_gpio(MFP_PIN_GPIO79)), |
93 | .irqflags = IRQF_TRIGGER_RISING, | 93 | .irqflags = IRQF_TRIGGER_RISING, |
94 | .flags = TI16C752_FLAGS, | 94 | .flags = TI16C752_FLAGS, |
95 | .iotype = UPIO_MEM, | 95 | .iotype = UPIO_MEM, |
@@ -98,7 +98,7 @@ static struct plat_serial8250_port ti16c752_platform_data[] = { | |||
98 | }, | 98 | }, |
99 | [2] = { | 99 | [2] = { |
100 | .mapbase = 0x14000080, | 100 | .mapbase = 0x14000080, |
101 | .irq = gpio_to_irq(mfp_to_gpio(MFP_PIN_GPIO80)), | 101 | .irq = PXA_GPIO_TO_IRQ(mfp_to_gpio(MFP_PIN_GPIO80)), |
102 | .irqflags = IRQF_TRIGGER_RISING, | 102 | .irqflags = IRQF_TRIGGER_RISING, |
103 | .flags = TI16C752_FLAGS, | 103 | .flags = TI16C752_FLAGS, |
104 | .iotype = UPIO_MEM, | 104 | .iotype = UPIO_MEM, |
@@ -107,7 +107,7 @@ static struct plat_serial8250_port ti16c752_platform_data[] = { | |||
107 | }, | 107 | }, |
108 | [3] = { | 108 | [3] = { |
109 | .mapbase = 0x140000c0, | 109 | .mapbase = 0x140000c0, |
110 | .irq = gpio_to_irq(mfp_to_gpio(MFP_PIN_GPIO81)), | 110 | .irq = PXA_GPIO_TO_IRQ(mfp_to_gpio(MFP_PIN_GPIO81)), |
111 | .irqflags = IRQF_TRIGGER_RISING, | 111 | .irqflags = IRQF_TRIGGER_RISING, |
112 | .flags = TI16C752_FLAGS, | 112 | .flags = TI16C752_FLAGS, |
113 | .iotype = UPIO_MEM, | 113 | .iotype = UPIO_MEM, |
diff --git a/arch/arm/mach-pxa/cm-x270.c b/arch/arm/mach-pxa/cm-x270.c index 13518a705399..431ef56700c4 100644 --- a/arch/arm/mach-pxa/cm-x270.c +++ b/arch/arm/mach-pxa/cm-x270.c | |||
@@ -33,7 +33,7 @@ | |||
33 | /* GPIO IRQ usage */ | 33 | /* GPIO IRQ usage */ |
34 | #define GPIO83_MMC_IRQ (83) | 34 | #define GPIO83_MMC_IRQ (83) |
35 | 35 | ||
36 | #define CMX270_MMC_IRQ IRQ_GPIO(GPIO83_MMC_IRQ) | 36 | #define CMX270_MMC_IRQ PXA_GPIO_TO_IRQ(GPIO83_MMC_IRQ) |
37 | 37 | ||
38 | /* MMC power enable */ | 38 | /* MMC power enable */ |
39 | #define GPIO105_MMC_POWER (105) | 39 | #define GPIO105_MMC_POWER (105) |
@@ -380,7 +380,7 @@ static struct spi_board_info cm_x270_spi_devices[] __initdata = { | |||
380 | .modalias = "libertas_spi", | 380 | .modalias = "libertas_spi", |
381 | .max_speed_hz = 13000000, | 381 | .max_speed_hz = 13000000, |
382 | .bus_num = 2, | 382 | .bus_num = 2, |
383 | .irq = gpio_to_irq(95), | 383 | .irq = PXA_GPIO_TO_IRQ(95), |
384 | .chip_select = 0, | 384 | .chip_select = 0, |
385 | .controller_data = &cm_x270_libertas_chip, | 385 | .controller_data = &cm_x270_libertas_chip, |
386 | .platform_data = &cm_x270_libertas_pdata, | 386 | .platform_data = &cm_x270_libertas_pdata, |
diff --git a/arch/arm/mach-pxa/cm-x2xx.c b/arch/arm/mach-pxa/cm-x2xx.c index ec170a552c23..8fa4ad27edf3 100644 --- a/arch/arm/mach-pxa/cm-x2xx.c +++ b/arch/arm/mach-pxa/cm-x2xx.c | |||
@@ -58,8 +58,8 @@ extern void cmx270_init(void); | |||
58 | #define CMX255_GPIO_IT8152_IRQ (0) | 58 | #define CMX255_GPIO_IT8152_IRQ (0) |
59 | #define CMX270_GPIO_IT8152_IRQ (22) | 59 | #define CMX270_GPIO_IT8152_IRQ (22) |
60 | 60 | ||
61 | #define CMX255_ETHIRQ IRQ_GPIO(GPIO22_ETHIRQ) | 61 | #define CMX255_ETHIRQ PXA_GPIO_TO_IRQ(GPIO22_ETHIRQ) |
62 | #define CMX270_ETHIRQ IRQ_GPIO(GPIO10_ETHIRQ) | 62 | #define CMX270_ETHIRQ PXA_GPIO_TO_IRQ(GPIO10_ETHIRQ) |
63 | 63 | ||
64 | #if defined(CONFIG_DM9000) || defined(CONFIG_DM9000_MODULE) | 64 | #if defined(CONFIG_DM9000) || defined(CONFIG_DM9000_MODULE) |
65 | static struct resource cmx255_dm9000_resource[] = { | 65 | static struct resource cmx255_dm9000_resource[] = { |
diff --git a/arch/arm/mach-pxa/cm-x300.c b/arch/arm/mach-pxa/cm-x300.c index 7236974da0b7..4b981b82d2a5 100644 --- a/arch/arm/mach-pxa/cm-x300.c +++ b/arch/arm/mach-pxa/cm-x300.c | |||
@@ -64,7 +64,7 @@ | |||
64 | #define GPIO82_MMC_IRQ (82) | 64 | #define GPIO82_MMC_IRQ (82) |
65 | #define GPIO85_MMC_WP (85) | 65 | #define GPIO85_MMC_WP (85) |
66 | 66 | ||
67 | #define CM_X300_MMC_IRQ IRQ_GPIO(GPIO82_MMC_IRQ) | 67 | #define CM_X300_MMC_IRQ PXA_GPIO_TO_IRQ(GPIO82_MMC_IRQ) |
68 | 68 | ||
69 | #define GPIO95_RTC_CS (95) | 69 | #define GPIO95_RTC_CS (95) |
70 | #define GPIO96_RTC_WR (96) | 70 | #define GPIO96_RTC_WR (96) |
@@ -229,8 +229,8 @@ static struct resource dm9000_resources[] = { | |||
229 | .flags = IORESOURCE_MEM, | 229 | .flags = IORESOURCE_MEM, |
230 | }, | 230 | }, |
231 | [2] = { | 231 | [2] = { |
232 | .start = IRQ_GPIO(mfp_to_gpio(MFP_PIN_GPIO99)), | 232 | .start = PXA_GPIO_TO_IRQ(mfp_to_gpio(MFP_PIN_GPIO99)), |
233 | .end = IRQ_GPIO(mfp_to_gpio(MFP_PIN_GPIO99)), | 233 | .end = PXA_GPIO_TO_IRQ(mfp_to_gpio(MFP_PIN_GPIO99)), |
234 | .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHEDGE, | 234 | .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHEDGE, |
235 | } | 235 | } |
236 | }; | 236 | }; |
diff --git a/arch/arm/mach-pxa/colibri-pxa270-income.c b/arch/arm/mach-pxa/colibri-pxa270-income.c index 80538b8806ed..248804bb2c9d 100644 --- a/arch/arm/mach-pxa/colibri-pxa270-income.c +++ b/arch/arm/mach-pxa/colibri-pxa270-income.c | |||
@@ -183,7 +183,7 @@ static inline void income_lcd_init(void) {} | |||
183 | /****************************************************************************** | 183 | /****************************************************************************** |
184 | * Backlight | 184 | * Backlight |
185 | ******************************************************************************/ | 185 | ******************************************************************************/ |
186 | #if defined(CONFIG_BACKLIGHT_PWM) || defined(CONFIG_BACKLIGHT_PWM__MODULE) | 186 | #if defined(CONFIG_BACKLIGHT_PWM) || defined(CONFIG_BACKLIGHT_PWM_MODULE) |
187 | static struct platform_pwm_backlight_data income_backlight_data = { | 187 | static struct platform_pwm_backlight_data income_backlight_data = { |
188 | .pwm_id = 0, | 188 | .pwm_id = 0, |
189 | .max_brightness = 0x3ff, | 189 | .max_brightness = 0x3ff, |
diff --git a/arch/arm/mach-pxa/colibri-pxa270.c b/arch/arm/mach-pxa/colibri-pxa270.c index 6a685165c9f2..29d5d541f602 100644 --- a/arch/arm/mach-pxa/colibri-pxa270.c +++ b/arch/arm/mach-pxa/colibri-pxa270.c | |||
@@ -218,8 +218,8 @@ static struct resource colibri_pxa270_dm9000_resources[] = { | |||
218 | .flags = IORESOURCE_MEM, | 218 | .flags = IORESOURCE_MEM, |
219 | }, | 219 | }, |
220 | { | 220 | { |
221 | .start = gpio_to_irq(GPIO114_COLIBRI_PXA270_ETH_IRQ), | 221 | .start = PXA_GPIO_TO_IRQ(GPIO114_COLIBRI_PXA270_ETH_IRQ), |
222 | .end = gpio_to_irq(GPIO114_COLIBRI_PXA270_ETH_IRQ), | 222 | .end = PXA_GPIO_TO_IRQ(GPIO114_COLIBRI_PXA270_ETH_IRQ), |
223 | .flags = IORESOURCE_IRQ | IRQF_TRIGGER_RISING, | 223 | .flags = IORESOURCE_IRQ | IRQF_TRIGGER_RISING, |
224 | }, | 224 | }, |
225 | }; | 225 | }; |
@@ -249,7 +249,7 @@ static pxa2xx_audio_ops_t colibri_pxa270_ac97_pdata = { | |||
249 | }; | 249 | }; |
250 | 250 | ||
251 | static struct ucb1400_pdata colibri_pxa270_ucb1400_pdata = { | 251 | static struct ucb1400_pdata colibri_pxa270_ucb1400_pdata = { |
252 | .irq = gpio_to_irq(GPIO113_COLIBRI_PXA270_TS_IRQ), | 252 | .irq = PXA_GPIO_TO_IRQ(GPIO113_COLIBRI_PXA270_TS_IRQ), |
253 | }; | 253 | }; |
254 | 254 | ||
255 | static struct platform_device colibri_pxa270_ucb1400_device = { | 255 | static struct platform_device colibri_pxa270_ucb1400_device = { |
diff --git a/arch/arm/mach-pxa/colibri-pxa300.c b/arch/arm/mach-pxa/colibri-pxa300.c index c01059a61f33..0846d210cb05 100644 --- a/arch/arm/mach-pxa/colibri-pxa300.c +++ b/arch/arm/mach-pxa/colibri-pxa300.c | |||
@@ -78,8 +78,8 @@ static struct resource colibri_asix_resource[] = { | |||
78 | .flags = IORESOURCE_MEM, | 78 | .flags = IORESOURCE_MEM, |
79 | }, | 79 | }, |
80 | [1] = { | 80 | [1] = { |
81 | .start = gpio_to_irq(COLIBRI_ETH_IRQ_GPIO), | 81 | .start = PXA_GPIO_TO_IRQ(COLIBRI_ETH_IRQ_GPIO), |
82 | .end = gpio_to_irq(COLIBRI_ETH_IRQ_GPIO), | 82 | .end = PXA_GPIO_TO_IRQ(COLIBRI_ETH_IRQ_GPIO), |
83 | .flags = IORESOURCE_IRQ | IRQF_TRIGGER_FALLING, | 83 | .flags = IORESOURCE_IRQ | IRQF_TRIGGER_FALLING, |
84 | } | 84 | } |
85 | }; | 85 | }; |
diff --git a/arch/arm/mach-pxa/colibri-pxa320.c b/arch/arm/mach-pxa/colibri-pxa320.c index 5028f2300d50..6ad3359063af 100644 --- a/arch/arm/mach-pxa/colibri-pxa320.c +++ b/arch/arm/mach-pxa/colibri-pxa320.c | |||
@@ -115,8 +115,8 @@ static struct resource colibri_asix_resource[] = { | |||
115 | .flags = IORESOURCE_MEM, | 115 | .flags = IORESOURCE_MEM, |
116 | }, | 116 | }, |
117 | [1] = { | 117 | [1] = { |
118 | .start = gpio_to_irq(COLIBRI_ETH_IRQ_GPIO), | 118 | .start = PXA_GPIO_TO_IRQ(COLIBRI_ETH_IRQ_GPIO), |
119 | .end = gpio_to_irq(COLIBRI_ETH_IRQ_GPIO), | 119 | .end = PXA_GPIO_TO_IRQ(COLIBRI_ETH_IRQ_GPIO), |
120 | .flags = IORESOURCE_IRQ | IRQF_TRIGGER_FALLING, | 120 | .flags = IORESOURCE_IRQ | IRQF_TRIGGER_FALLING, |
121 | } | 121 | } |
122 | }; | 122 | }; |
diff --git a/arch/arm/mach-pxa/corgi.c b/arch/arm/mach-pxa/corgi.c index 9d4dc5970b9c..11f1e735966e 100644 --- a/arch/arm/mach-pxa/corgi.c +++ b/arch/arm/mach-pxa/corgi.c | |||
@@ -436,6 +436,14 @@ static struct platform_device corgiled_device = { | |||
436 | }; | 436 | }; |
437 | 437 | ||
438 | /* | 438 | /* |
439 | * Corgi Audio | ||
440 | */ | ||
441 | static struct platform_device corgi_audio_device = { | ||
442 | .name = "corgi-audio", | ||
443 | .id = -1, | ||
444 | }; | ||
445 | |||
446 | /* | ||
439 | * MMC/SD Device | 447 | * MMC/SD Device |
440 | * | 448 | * |
441 | * The card detect interrupt isn't debounced so we delay it by 250ms | 449 | * The card detect interrupt isn't debounced so we delay it by 250ms |
@@ -531,7 +539,7 @@ static struct spi_board_info corgi_spi_devices[] = { | |||
531 | .chip_select = 0, | 539 | .chip_select = 0, |
532 | .platform_data = &corgi_ads7846_info, | 540 | .platform_data = &corgi_ads7846_info, |
533 | .controller_data= &corgi_ads7846_chip, | 541 | .controller_data= &corgi_ads7846_chip, |
534 | .irq = gpio_to_irq(CORGI_GPIO_TP_INT), | 542 | .irq = PXA_GPIO_TO_IRQ(CORGI_GPIO_TP_INT), |
535 | }, { | 543 | }, { |
536 | .modalias = "corgi-lcd", | 544 | .modalias = "corgi-lcd", |
537 | .max_speed_hz = 50000, | 545 | .max_speed_hz = 50000, |
@@ -641,6 +649,7 @@ static struct platform_device *devices[] __initdata = { | |||
641 | &corgifb_device, | 649 | &corgifb_device, |
642 | &corgikbd_device, | 650 | &corgikbd_device, |
643 | &corgiled_device, | 651 | &corgiled_device, |
652 | &corgi_audio_device, | ||
644 | &sharpsl_nand_device, | 653 | &sharpsl_nand_device, |
645 | &sharpsl_rom_device, | 654 | &sharpsl_rom_device, |
646 | }; | 655 | }; |
diff --git a/arch/arm/mach-pxa/corgi_pm.c b/arch/arm/mach-pxa/corgi_pm.c index 29034778bfda..39e265cfc86d 100644 --- a/arch/arm/mach-pxa/corgi_pm.c +++ b/arch/arm/mach-pxa/corgi_pm.c | |||
@@ -15,6 +15,7 @@ | |||
15 | #include <linux/kernel.h> | 15 | #include <linux/kernel.h> |
16 | #include <linux/delay.h> | 16 | #include <linux/delay.h> |
17 | #include <linux/gpio.h> | 17 | #include <linux/gpio.h> |
18 | #include <linux/gpio-pxa.h> | ||
18 | #include <linux/interrupt.h> | 19 | #include <linux/interrupt.h> |
19 | #include <linux/platform_device.h> | 20 | #include <linux/platform_device.h> |
20 | #include <linux/apm-emulation.h> | 21 | #include <linux/apm-emulation.h> |
@@ -40,7 +41,9 @@ static struct gpio charger_gpios[] = { | |||
40 | { CORGI_GPIO_ADC_TEMP_ON, GPIOF_OUT_INIT_LOW, "ADC Temp On" }, | 41 | { CORGI_GPIO_ADC_TEMP_ON, GPIOF_OUT_INIT_LOW, "ADC Temp On" }, |
41 | { CORGI_GPIO_CHRG_ON, GPIOF_OUT_INIT_LOW, "Charger On" }, | 42 | { CORGI_GPIO_CHRG_ON, GPIOF_OUT_INIT_LOW, "Charger On" }, |
42 | { CORGI_GPIO_CHRG_UKN, GPIOF_OUT_INIT_LOW, "Charger Unknown" }, | 43 | { CORGI_GPIO_CHRG_UKN, GPIOF_OUT_INIT_LOW, "Charger Unknown" }, |
44 | { CORGI_GPIO_AC_IN, GPIOF_IN, "Charger Detection" }, | ||
43 | { CORGI_GPIO_KEY_INT, GPIOF_IN, "Key Interrupt" }, | 45 | { CORGI_GPIO_KEY_INT, GPIOF_IN, "Key Interrupt" }, |
46 | { CORGI_GPIO_WAKEUP, GPIOF_IN, "System wakeup notification" }, | ||
44 | }; | 47 | }; |
45 | 48 | ||
46 | static void corgi_charger_init(void) | 49 | static void corgi_charger_init(void) |
@@ -90,7 +93,12 @@ static int corgi_should_wakeup(unsigned int resume_on_alarm) | |||
90 | { | 93 | { |
91 | int is_resume = 0; | 94 | int is_resume = 0; |
92 | 95 | ||
93 | dev_dbg(sharpsl_pm.dev, "GPLR0 = %x,%x\n", GPLR0, PEDR); | 96 | dev_dbg(sharpsl_pm.dev, "PEDR = %x, GPIO_AC_IN = %d, " |
97 | "GPIO_CHRG_FULL = %d, GPIO_KEY_INT = %d, GPIO_WAKEUP = %d\n", | ||
98 | PEDR, gpio_get_value(CORGI_GPIO_AC_IN), | ||
99 | gpio_get_value(CORGI_GPIO_CHRG_FULL), | ||
100 | gpio_get_value(CORGI_GPIO_KEY_INT), | ||
101 | gpio_get_value(CORGI_GPIO_WAKEUP)); | ||
94 | 102 | ||
95 | if ((PEDR & GPIO_bit(CORGI_GPIO_AC_IN))) { | 103 | if ((PEDR & GPIO_bit(CORGI_GPIO_AC_IN))) { |
96 | if (sharpsl_pm.machinfo->read_devdata(SHARPSL_STATUS_ACIN)) { | 104 | if (sharpsl_pm.machinfo->read_devdata(SHARPSL_STATUS_ACIN)) { |
@@ -124,14 +132,21 @@ static int corgi_should_wakeup(unsigned int resume_on_alarm) | |||
124 | 132 | ||
125 | static unsigned long corgi_charger_wakeup(void) | 133 | static unsigned long corgi_charger_wakeup(void) |
126 | { | 134 | { |
127 | return ~GPLR0 & ( GPIO_bit(CORGI_GPIO_AC_IN) | GPIO_bit(CORGI_GPIO_KEY_INT) | GPIO_bit(CORGI_GPIO_WAKEUP) ); | 135 | unsigned long ret; |
136 | |||
137 | ret = (!gpio_get_value(CORGI_GPIO_AC_IN) << GPIO_bit(CORGI_GPIO_AC_IN)) | ||
138 | | (!gpio_get_value(CORGI_GPIO_KEY_INT) | ||
139 | << GPIO_bit(CORGI_GPIO_KEY_INT)) | ||
140 | | (!gpio_get_value(CORGI_GPIO_WAKEUP) | ||
141 | << GPIO_bit(CORGI_GPIO_WAKEUP)); | ||
142 | return ret; | ||
128 | } | 143 | } |
129 | 144 | ||
130 | unsigned long corgipm_read_devdata(int type) | 145 | unsigned long corgipm_read_devdata(int type) |
131 | { | 146 | { |
132 | switch(type) { | 147 | switch(type) { |
133 | case SHARPSL_STATUS_ACIN: | 148 | case SHARPSL_STATUS_ACIN: |
134 | return ((GPLR(CORGI_GPIO_AC_IN) & GPIO_bit(CORGI_GPIO_AC_IN)) != 0); | 149 | return !gpio_get_value(CORGI_GPIO_AC_IN); |
135 | case SHARPSL_STATUS_LOCK: | 150 | case SHARPSL_STATUS_LOCK: |
136 | return gpio_get_value(sharpsl_pm.machinfo->gpio_batlock); | 151 | return gpio_get_value(sharpsl_pm.machinfo->gpio_batlock); |
137 | case SHARPSL_STATUS_CHRGFULL: | 152 | case SHARPSL_STATUS_CHRGFULL: |
diff --git a/arch/arm/mach-pxa/devices.c b/arch/arm/mach-pxa/devices.c index 2e0425404de5..18fd177073f4 100644 --- a/arch/arm/mach-pxa/devices.c +++ b/arch/arm/mach-pxa/devices.c | |||
@@ -415,9 +415,29 @@ static struct resource pxa_rtc_resources[] = { | |||
415 | }, | 415 | }, |
416 | }; | 416 | }; |
417 | 417 | ||
418 | static struct resource sa1100_rtc_resources[] = { | ||
419 | [0] = { | ||
420 | .start = 0x40900000, | ||
421 | .end = 0x409000ff, | ||
422 | .flags = IORESOURCE_MEM, | ||
423 | }, | ||
424 | [1] = { | ||
425 | .start = IRQ_RTC1Hz, | ||
426 | .end = IRQ_RTC1Hz, | ||
427 | .flags = IORESOURCE_IRQ, | ||
428 | }, | ||
429 | [2] = { | ||
430 | .start = IRQ_RTCAlrm, | ||
431 | .end = IRQ_RTCAlrm, | ||
432 | .flags = IORESOURCE_IRQ, | ||
433 | }, | ||
434 | }; | ||
435 | |||
418 | struct platform_device sa1100_device_rtc = { | 436 | struct platform_device sa1100_device_rtc = { |
419 | .name = "sa1100-rtc", | 437 | .name = "sa1100-rtc", |
420 | .id = -1, | 438 | .id = -1, |
439 | .num_resources = ARRAY_SIZE(sa1100_rtc_resources), | ||
440 | .resource = sa1100_rtc_resources, | ||
421 | }; | 441 | }; |
422 | 442 | ||
423 | struct platform_device pxa_device_rtc = { | 443 | struct platform_device pxa_device_rtc = { |
@@ -1051,6 +1071,36 @@ struct platform_device pxa3xx_device_ssp4 = { | |||
1051 | }; | 1071 | }; |
1052 | #endif /* CONFIG_PXA3xx || CONFIG_PXA95x */ | 1072 | #endif /* CONFIG_PXA3xx || CONFIG_PXA95x */ |
1053 | 1073 | ||
1074 | struct resource pxa_resource_gpio[] = { | ||
1075 | { | ||
1076 | .start = 0x40e00000, | ||
1077 | .end = 0x40e0ffff, | ||
1078 | .flags = IORESOURCE_MEM, | ||
1079 | }, { | ||
1080 | .start = IRQ_GPIO0, | ||
1081 | .end = IRQ_GPIO0, | ||
1082 | .name = "gpio0", | ||
1083 | .flags = IORESOURCE_IRQ, | ||
1084 | }, { | ||
1085 | .start = IRQ_GPIO1, | ||
1086 | .end = IRQ_GPIO1, | ||
1087 | .name = "gpio1", | ||
1088 | .flags = IORESOURCE_IRQ, | ||
1089 | }, { | ||
1090 | .start = IRQ_GPIO_2_x, | ||
1091 | .end = IRQ_GPIO_2_x, | ||
1092 | .name = "gpio_mux", | ||
1093 | .flags = IORESOURCE_IRQ, | ||
1094 | }, | ||
1095 | }; | ||
1096 | |||
1097 | struct platform_device pxa_device_gpio = { | ||
1098 | .name = "pxa-gpio", | ||
1099 | .id = -1, | ||
1100 | .num_resources = ARRAY_SIZE(pxa_resource_gpio), | ||
1101 | .resource = pxa_resource_gpio, | ||
1102 | }; | ||
1103 | |||
1054 | /* pxa2xx-spi platform-device ID equals respective SSP platform-device ID + 1. | 1104 | /* pxa2xx-spi platform-device ID equals respective SSP platform-device ID + 1. |
1055 | * See comment in arch/arm/mach-pxa/ssp.c::ssp_probe() */ | 1105 | * See comment in arch/arm/mach-pxa/ssp.c::ssp_probe() */ |
1056 | void __init pxa2xx_set_spi_info(unsigned id, struct pxa2xx_spi_master *info) | 1106 | void __init pxa2xx_set_spi_info(unsigned id, struct pxa2xx_spi_master *info) |
diff --git a/arch/arm/mach-pxa/devices.h b/arch/arm/mach-pxa/devices.h index 2fd5a8b35757..1475db107254 100644 --- a/arch/arm/mach-pxa/devices.h +++ b/arch/arm/mach-pxa/devices.h | |||
@@ -16,6 +16,7 @@ extern struct platform_device pxa_device_ficp; | |||
16 | extern struct platform_device sa1100_device_rtc; | 16 | extern struct platform_device sa1100_device_rtc; |
17 | extern struct platform_device pxa_device_rtc; | 17 | extern struct platform_device pxa_device_rtc; |
18 | extern struct platform_device pxa_device_ac97; | 18 | extern struct platform_device pxa_device_ac97; |
19 | extern struct platform_device pxa_device_gpio; | ||
19 | 20 | ||
20 | extern struct platform_device pxa27x_device_i2c_power; | 21 | extern struct platform_device pxa27x_device_i2c_power; |
21 | extern struct platform_device pxa27x_device_ohci; | 22 | extern struct platform_device pxa27x_device_ohci; |
diff --git a/arch/arm/mach-pxa/em-x270.c b/arch/arm/mach-pxa/em-x270.c index bd396ba67af7..d80c0ba9a095 100644 --- a/arch/arm/mach-pxa/em-x270.c +++ b/arch/arm/mach-pxa/em-x270.c | |||
@@ -70,7 +70,7 @@ | |||
70 | /* common GPIOs */ | 70 | /* common GPIOs */ |
71 | #define GPIO11_NAND_CS (11) | 71 | #define GPIO11_NAND_CS (11) |
72 | #define GPIO41_ETHIRQ (41) | 72 | #define GPIO41_ETHIRQ (41) |
73 | #define EM_X270_ETHIRQ IRQ_GPIO(GPIO41_ETHIRQ) | 73 | #define EM_X270_ETHIRQ PXA_GPIO_TO_IRQ(GPIO41_ETHIRQ) |
74 | #define GPIO115_WLAN_PWEN (115) | 74 | #define GPIO115_WLAN_PWEN (115) |
75 | #define GPIO19_WLAN_STRAP (19) | 75 | #define GPIO19_WLAN_STRAP (19) |
76 | #define GPIO9_USB_VBUS_EN (9) | 76 | #define GPIO9_USB_VBUS_EN (9) |
@@ -805,7 +805,7 @@ static struct spi_board_info em_x270_spi_devices[] __initdata = { | |||
805 | .modalias = "libertas_spi", | 805 | .modalias = "libertas_spi", |
806 | .max_speed_hz = 13000000, | 806 | .max_speed_hz = 13000000, |
807 | .bus_num = 2, | 807 | .bus_num = 2, |
808 | .irq = IRQ_GPIO(116), | 808 | .irq = PXA_GPIO_TO_IRQ(116), |
809 | .chip_select = 0, | 809 | .chip_select = 0, |
810 | .controller_data = &em_x270_libertas_chip, | 810 | .controller_data = &em_x270_libertas_chip, |
811 | .platform_data = &em_x270_libertas_pdata, | 811 | .platform_data = &em_x270_libertas_pdata, |
@@ -1203,7 +1203,7 @@ static struct da903x_platform_data em_x270_da9030_info = { | |||
1203 | 1203 | ||
1204 | static struct i2c_board_info em_x270_i2c_pmic_info = { | 1204 | static struct i2c_board_info em_x270_i2c_pmic_info = { |
1205 | I2C_BOARD_INFO("da9030", 0x49), | 1205 | I2C_BOARD_INFO("da9030", 0x49), |
1206 | .irq = IRQ_GPIO(0), | 1206 | .irq = PXA_GPIO_TO_IRQ(0), |
1207 | .platform_data = &em_x270_da9030_info, | 1207 | .platform_data = &em_x270_da9030_info, |
1208 | }; | 1208 | }; |
1209 | 1209 | ||
diff --git a/arch/arm/mach-pxa/eseries.c b/arch/arm/mach-pxa/eseries.c index 69473db97758..4cb2391a782e 100644 --- a/arch/arm/mach-pxa/eseries.c +++ b/arch/arm/mach-pxa/eseries.c | |||
@@ -119,8 +119,8 @@ struct resource eseries_tmio_resources[] = { | |||
119 | .flags = IORESOURCE_MEM, | 119 | .flags = IORESOURCE_MEM, |
120 | }, | 120 | }, |
121 | [1] = { | 121 | [1] = { |
122 | .start = IRQ_GPIO(GPIO_ESERIES_TMIO_IRQ), | 122 | .start = PXA_GPIO_TO_IRQ(GPIO_ESERIES_TMIO_IRQ), |
123 | .end = IRQ_GPIO(GPIO_ESERIES_TMIO_IRQ), | 123 | .end = PXA_GPIO_TO_IRQ(GPIO_ESERIES_TMIO_IRQ), |
124 | .flags = IORESOURCE_IRQ, | 124 | .flags = IORESOURCE_IRQ, |
125 | }, | 125 | }, |
126 | }; | 126 | }; |
@@ -528,12 +528,18 @@ static struct platform_device e740_t7l66xb_device = { | |||
528 | .resource = eseries_tmio_resources, | 528 | .resource = eseries_tmio_resources, |
529 | }; | 529 | }; |
530 | 530 | ||
531 | static struct platform_device e740_audio_device = { | ||
532 | .name = "e740-audio", | ||
533 | .id = -1, | ||
534 | }; | ||
535 | |||
531 | /* ----------------------------------------------------------------------- */ | 536 | /* ----------------------------------------------------------------------- */ |
532 | 537 | ||
533 | static struct platform_device *e740_devices[] __initdata = { | 538 | static struct platform_device *e740_devices[] __initdata = { |
534 | &e740_fb_device, | 539 | &e740_fb_device, |
535 | &e740_t7l66xb_device, | 540 | &e740_t7l66xb_device, |
536 | &e7xx_gpio_vbus, | 541 | &e7xx_gpio_vbus, |
542 | &e740_audio_device, | ||
537 | }; | 543 | }; |
538 | 544 | ||
539 | static void __init e740_init(void) | 545 | static void __init e740_init(void) |
@@ -722,12 +728,18 @@ static struct platform_device e750_tc6393xb_device = { | |||
722 | .resource = eseries_tmio_resources, | 728 | .resource = eseries_tmio_resources, |
723 | }; | 729 | }; |
724 | 730 | ||
731 | static struct platform_device e750_audio_device = { | ||
732 | .name = "e750-audio", | ||
733 | .id = -1, | ||
734 | }; | ||
735 | |||
725 | /* ------------------------------------------------------------- */ | 736 | /* ------------------------------------------------------------- */ |
726 | 737 | ||
727 | static struct platform_device *e750_devices[] __initdata = { | 738 | static struct platform_device *e750_devices[] __initdata = { |
728 | &e750_fb_device, | 739 | &e750_fb_device, |
729 | &e750_tc6393xb_device, | 740 | &e750_tc6393xb_device, |
730 | &e7xx_gpio_vbus, | 741 | &e7xx_gpio_vbus, |
742 | &e750_audio_device, | ||
731 | }; | 743 | }; |
732 | 744 | ||
733 | static void __init e750_init(void) | 745 | static void __init e750_init(void) |
@@ -929,12 +941,18 @@ static struct platform_device e800_tc6393xb_device = { | |||
929 | .resource = eseries_tmio_resources, | 941 | .resource = eseries_tmio_resources, |
930 | }; | 942 | }; |
931 | 943 | ||
944 | static struct platform_device e800_audio_device = { | ||
945 | .name = "e800-audio", | ||
946 | .id = -1, | ||
947 | }; | ||
948 | |||
932 | /* ----------------------------------------------------------------------- */ | 949 | /* ----------------------------------------------------------------------- */ |
933 | 950 | ||
934 | static struct platform_device *e800_devices[] __initdata = { | 951 | static struct platform_device *e800_devices[] __initdata = { |
935 | &e800_fb_device, | 952 | &e800_fb_device, |
936 | &e800_tc6393xb_device, | 953 | &e800_tc6393xb_device, |
937 | &e800_gpio_vbus, | 954 | &e800_gpio_vbus, |
955 | &e800_audio_device, | ||
938 | }; | 956 | }; |
939 | 957 | ||
940 | static void __init e800_init(void) | 958 | static void __init e800_init(void) |
diff --git a/arch/arm/mach-pxa/hx4700.c b/arch/arm/mach-pxa/hx4700.c index ce16bdae96de..fb9b62dcf4ca 100644 --- a/arch/arm/mach-pxa/hx4700.c +++ b/arch/arm/mach-pxa/hx4700.c | |||
@@ -252,8 +252,8 @@ static struct resource asic3_resources[] = { | |||
252 | .flags = IORESOURCE_MEM, | 252 | .flags = IORESOURCE_MEM, |
253 | }, | 253 | }, |
254 | [1] = { | 254 | [1] = { |
255 | .start = gpio_to_irq(GPIO12_HX4700_ASIC3_IRQ), | 255 | .start = PXA_GPIO_TO_IRQ(GPIO12_HX4700_ASIC3_IRQ), |
256 | .end = gpio_to_irq(GPIO12_HX4700_ASIC3_IRQ), | 256 | .end = PXA_GPIO_TO_IRQ(GPIO12_HX4700_ASIC3_IRQ), |
257 | .flags = IORESOURCE_IRQ, | 257 | .flags = IORESOURCE_IRQ, |
258 | }, | 258 | }, |
259 | /* SD part */ | 259 | /* SD part */ |
@@ -263,8 +263,8 @@ static struct resource asic3_resources[] = { | |||
263 | .flags = IORESOURCE_MEM, | 263 | .flags = IORESOURCE_MEM, |
264 | }, | 264 | }, |
265 | [3] = { | 265 | [3] = { |
266 | .start = gpio_to_irq(GPIO66_HX4700_ASIC3_nSDIO_IRQ), | 266 | .start = PXA_GPIO_TO_IRQ(GPIO66_HX4700_ASIC3_nSDIO_IRQ), |
267 | .end = gpio_to_irq(GPIO66_HX4700_ASIC3_nSDIO_IRQ), | 267 | .end = PXA_GPIO_TO_IRQ(GPIO66_HX4700_ASIC3_nSDIO_IRQ), |
268 | .flags = IORESOURCE_IRQ, | 268 | .flags = IORESOURCE_IRQ, |
269 | }, | 269 | }, |
270 | }; | 270 | }; |
@@ -587,7 +587,7 @@ static struct spi_board_info tsc2046_board_info[] __initdata = { | |||
587 | .modalias = "ads7846", | 587 | .modalias = "ads7846", |
588 | .bus_num = 2, | 588 | .bus_num = 2, |
589 | .max_speed_hz = 2600000, /* 100 kHz sample rate */ | 589 | .max_speed_hz = 2600000, /* 100 kHz sample rate */ |
590 | .irq = gpio_to_irq(GPIO58_HX4700_TSC2046_nPENIRQ), | 590 | .irq = PXA_GPIO_TO_IRQ(GPIO58_HX4700_TSC2046_nPENIRQ), |
591 | .platform_data = &tsc2046_info, | 591 | .platform_data = &tsc2046_info, |
592 | .controller_data = &tsc2046_chip, | 592 | .controller_data = &tsc2046_chip, |
593 | }, | 593 | }, |
@@ -635,15 +635,15 @@ static struct resource power_supply_resources[] = { | |||
635 | .name = "ac", | 635 | .name = "ac", |
636 | .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHEDGE | | 636 | .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHEDGE | |
637 | IORESOURCE_IRQ_LOWEDGE, | 637 | IORESOURCE_IRQ_LOWEDGE, |
638 | .start = gpio_to_irq(GPIOD9_nAC_IN), | 638 | .start = PXA_GPIO_TO_IRQ(GPIOD9_nAC_IN), |
639 | .end = gpio_to_irq(GPIOD9_nAC_IN), | 639 | .end = PXA_GPIO_TO_IRQ(GPIOD9_nAC_IN), |
640 | }, | 640 | }, |
641 | [1] = { | 641 | [1] = { |
642 | .name = "usb", | 642 | .name = "usb", |
643 | .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHEDGE | | 643 | .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHEDGE | |
644 | IORESOURCE_IRQ_LOWEDGE, | 644 | IORESOURCE_IRQ_LOWEDGE, |
645 | .start = gpio_to_irq(GPIOD14_nUSBC_DETECT), | 645 | .start = PXA_GPIO_TO_IRQ(GPIOD14_nUSBC_DETECT), |
646 | .end = gpio_to_irq(GPIOD14_nUSBC_DETECT), | 646 | .end = PXA_GPIO_TO_IRQ(GPIOD14_nUSBC_DETECT), |
647 | }, | 647 | }, |
648 | }; | 648 | }; |
649 | 649 | ||
diff --git a/arch/arm/mach-pxa/icontrol.c b/arch/arm/mach-pxa/icontrol.c index e239b82c99d7..67400192ed3b 100644 --- a/arch/arm/mach-pxa/icontrol.c +++ b/arch/arm/mach-pxa/icontrol.c | |||
@@ -86,7 +86,7 @@ static struct spi_board_info mcp251x_board_info[] = { | |||
86 | .chip_select = 0, | 86 | .chip_select = 0, |
87 | .platform_data = &mcp251x_info, | 87 | .platform_data = &mcp251x_info, |
88 | .controller_data = &mcp251x_chip_info1, | 88 | .controller_data = &mcp251x_chip_info1, |
89 | .irq = gpio_to_irq(ICONTROL_MCP251x_nIRQ1) | 89 | .irq = PXA_GPIO_TO_IRQ(ICONTROL_MCP251x_nIRQ1) |
90 | }, | 90 | }, |
91 | { | 91 | { |
92 | .modalias = "mcp2515", | 92 | .modalias = "mcp2515", |
@@ -95,7 +95,7 @@ static struct spi_board_info mcp251x_board_info[] = { | |||
95 | .chip_select = 1, | 95 | .chip_select = 1, |
96 | .platform_data = &mcp251x_info, | 96 | .platform_data = &mcp251x_info, |
97 | .controller_data = &mcp251x_chip_info2, | 97 | .controller_data = &mcp251x_chip_info2, |
98 | .irq = gpio_to_irq(ICONTROL_MCP251x_nIRQ2) | 98 | .irq = PXA_GPIO_TO_IRQ(ICONTROL_MCP251x_nIRQ2) |
99 | }, | 99 | }, |
100 | { | 100 | { |
101 | .modalias = "mcp2515", | 101 | .modalias = "mcp2515", |
@@ -104,7 +104,7 @@ static struct spi_board_info mcp251x_board_info[] = { | |||
104 | .chip_select = 0, | 104 | .chip_select = 0, |
105 | .platform_data = &mcp251x_info, | 105 | .platform_data = &mcp251x_info, |
106 | .controller_data = &mcp251x_chip_info3, | 106 | .controller_data = &mcp251x_chip_info3, |
107 | .irq = gpio_to_irq(ICONTROL_MCP251x_nIRQ3) | 107 | .irq = PXA_GPIO_TO_IRQ(ICONTROL_MCP251x_nIRQ3) |
108 | }, | 108 | }, |
109 | { | 109 | { |
110 | .modalias = "mcp2515", | 110 | .modalias = "mcp2515", |
@@ -113,7 +113,7 @@ static struct spi_board_info mcp251x_board_info[] = { | |||
113 | .chip_select = 1, | 113 | .chip_select = 1, |
114 | .platform_data = &mcp251x_info, | 114 | .platform_data = &mcp251x_info, |
115 | .controller_data = &mcp251x_chip_info4, | 115 | .controller_data = &mcp251x_chip_info4, |
116 | .irq = gpio_to_irq(ICONTROL_MCP251x_nIRQ4) | 116 | .irq = PXA_GPIO_TO_IRQ(ICONTROL_MCP251x_nIRQ4) |
117 | } | 117 | } |
118 | }; | 118 | }; |
119 | 119 | ||
diff --git a/arch/arm/mach-pxa/idp.c b/arch/arm/mach-pxa/idp.c index fbabd84e110c..8af1840e12cc 100644 --- a/arch/arm/mach-pxa/idp.c +++ b/arch/arm/mach-pxa/idp.c | |||
@@ -75,8 +75,8 @@ static struct resource smc91x_resources[] = { | |||
75 | .flags = IORESOURCE_MEM, | 75 | .flags = IORESOURCE_MEM, |
76 | }, | 76 | }, |
77 | [1] = { | 77 | [1] = { |
78 | .start = IRQ_GPIO(4), | 78 | .start = PXA_GPIO_TO_IRQ(4), |
79 | .end = IRQ_GPIO(4), | 79 | .end = PXA_GPIO_TO_IRQ(4), |
80 | .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHEDGE, | 80 | .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHEDGE, |
81 | } | 81 | } |
82 | }; | 82 | }; |
diff --git a/arch/arm/mach-pxa/include/mach/balloon3.h b/arch/arm/mach-pxa/include/mach/balloon3.h index 6d7eab3d0867..f02fa1e6ba86 100644 --- a/arch/arm/mach-pxa/include/mach/balloon3.h +++ b/arch/arm/mach-pxa/include/mach/balloon3.h | |||
@@ -172,9 +172,9 @@ enum balloon3_features { | |||
172 | /* Balloon3 Interrupts */ | 172 | /* Balloon3 Interrupts */ |
173 | #define BALLOON3_IRQ(x) (IRQ_BOARD_START + (x)) | 173 | #define BALLOON3_IRQ(x) (IRQ_BOARD_START + (x)) |
174 | 174 | ||
175 | #define BALLOON3_AUX_NIRQ IRQ_GPIO(BALLOON3_GPIO_AUX_NIRQ) | 175 | #define BALLOON3_AUX_NIRQ PXA_GPIO_TO_IRQ(BALLOON3_GPIO_AUX_NIRQ) |
176 | #define BALLOON3_CODEC_IRQ IRQ_GPIO(BALLOON3_GPIO_CODEC_IRQ) | 176 | #define BALLOON3_CODEC_IRQ PXA_GPIO_TO_IRQ(BALLOON3_GPIO_CODEC_IRQ) |
177 | #define BALLOON3_S0_CD_IRQ IRQ_GPIO(BALLOON3_GPIO_S0_CD) | 177 | #define BALLOON3_S0_CD_IRQ PXA_GPIO_TO_IRQ(BALLOON3_GPIO_S0_CD) |
178 | 178 | ||
179 | #define BALLOON3_NR_IRQS (IRQ_BOARD_START + 16) | 179 | #define BALLOON3_NR_IRQS (IRQ_BOARD_START + 16) |
180 | 180 | ||
diff --git a/arch/arm/mach-pxa/include/mach/corgi.h b/arch/arm/mach-pxa/include/mach/corgi.h index 5dfd1195a5a7..f3c3493b468d 100644 --- a/arch/arm/mach-pxa/include/mach/corgi.h +++ b/arch/arm/mach-pxa/include/mach/corgi.h | |||
@@ -66,18 +66,18 @@ | |||
66 | /* | 66 | /* |
67 | * Corgi Interrupts | 67 | * Corgi Interrupts |
68 | */ | 68 | */ |
69 | #define CORGI_IRQ_GPIO_KEY_INT IRQ_GPIO(0) | 69 | #define CORGI_IRQ_GPIO_KEY_INT PXA_GPIO_TO_IRQ(0) |
70 | #define CORGI_IRQ_GPIO_AC_IN IRQ_GPIO(1) | 70 | #define CORGI_IRQ_GPIO_AC_IN PXA_GPIO_TO_IRQ(1) |
71 | #define CORGI_IRQ_GPIO_WAKEUP IRQ_GPIO(3) | 71 | #define CORGI_IRQ_GPIO_WAKEUP PXA_GPIO_TO_IRQ(3) |
72 | #define CORGI_IRQ_GPIO_AK_INT IRQ_GPIO(4) | 72 | #define CORGI_IRQ_GPIO_AK_INT PXA_GPIO_TO_IRQ(4) |
73 | #define CORGI_IRQ_GPIO_TP_INT IRQ_GPIO(5) | 73 | #define CORGI_IRQ_GPIO_TP_INT PXA_GPIO_TO_IRQ(5) |
74 | #define CORGI_IRQ_GPIO_nSD_DETECT IRQ_GPIO(9) | 74 | #define CORGI_IRQ_GPIO_nSD_DETECT PXA_GPIO_TO_IRQ(9) |
75 | #define CORGI_IRQ_GPIO_nSD_INT IRQ_GPIO(10) | 75 | #define CORGI_IRQ_GPIO_nSD_INT PXA_GPIO_TO_IRQ(10) |
76 | #define CORGI_IRQ_GPIO_MAIN_BAT_LOW IRQ_GPIO(11) | 76 | #define CORGI_IRQ_GPIO_MAIN_BAT_LOW PXA_GPIO_TO_IRQ(11) |
77 | #define CORGI_IRQ_GPIO_CF_CD IRQ_GPIO(14) | 77 | #define CORGI_IRQ_GPIO_CF_CD PXA_GPIO_TO_IRQ(14) |
78 | #define CORGI_IRQ_GPIO_CHRG_FULL IRQ_GPIO(16) /* Battery fully charged */ | 78 | #define CORGI_IRQ_GPIO_CHRG_FULL PXA_GPIO_TO_IRQ(16) /* Battery fully charged */ |
79 | #define CORGI_IRQ_GPIO_CF_IRQ IRQ_GPIO(17) | 79 | #define CORGI_IRQ_GPIO_CF_IRQ PXA_GPIO_TO_IRQ(17) |
80 | #define CORGI_IRQ_GPIO_KEY_SENSE(a) IRQ_GPIO(58+(a)) /* Keyboard Sense lines */ | 80 | #define CORGI_IRQ_GPIO_KEY_SENSE(a) PXA_GPIO_TO_IRQ(58+(a)) /* Keyboard Sense lines */ |
81 | 81 | ||
82 | 82 | ||
83 | /* | 83 | /* |
@@ -98,7 +98,7 @@ | |||
98 | CORGI_SCP_MIC_BIAS ) | 98 | CORGI_SCP_MIC_BIAS ) |
99 | #define CORGI_SCOOP_IO_OUT ( CORGI_SCP_MUTE_L | CORGI_SCP_MUTE_R ) | 99 | #define CORGI_SCOOP_IO_OUT ( CORGI_SCP_MUTE_L | CORGI_SCP_MUTE_R ) |
100 | 100 | ||
101 | #define CORGI_SCOOP_GPIO_BASE (NR_BUILTIN_GPIO) | 101 | #define CORGI_SCOOP_GPIO_BASE (PXA_NR_BUILTIN_GPIO) |
102 | #define CORGI_GPIO_LED_GREEN (CORGI_SCOOP_GPIO_BASE + 0) | 102 | #define CORGI_GPIO_LED_GREEN (CORGI_SCOOP_GPIO_BASE + 0) |
103 | #define CORGI_GPIO_SWA (CORGI_SCOOP_GPIO_BASE + 1) /* Hinge Switch A */ | 103 | #define CORGI_GPIO_SWA (CORGI_SCOOP_GPIO_BASE + 1) /* Hinge Switch A */ |
104 | #define CORGI_GPIO_SWB (CORGI_SCOOP_GPIO_BASE + 2) /* Hinge Switch B */ | 104 | #define CORGI_GPIO_SWB (CORGI_SCOOP_GPIO_BASE + 2) /* Hinge Switch B */ |
diff --git a/arch/arm/mach-pxa/include/mach/csb726.h b/arch/arm/mach-pxa/include/mach/csb726.h index 747ab1a71f2f..2628e7b72116 100644 --- a/arch/arm/mach-pxa/include/mach/csb726.h +++ b/arch/arm/mach-pxa/include/mach/csb726.h | |||
@@ -19,8 +19,8 @@ | |||
19 | #define CSB726_FLASH_SIZE (64 * 1024 * 1024) | 19 | #define CSB726_FLASH_SIZE (64 * 1024 * 1024) |
20 | #define CSB726_FLASH_uMON (8 * 1024 * 1024) | 20 | #define CSB726_FLASH_uMON (8 * 1024 * 1024) |
21 | 21 | ||
22 | #define CSB726_IRQ_LAN gpio_to_irq(CSB726_GPIO_IRQ_LAN) | 22 | #define CSB726_IRQ_LAN PXA_GPIO_TO_IRQ(CSB726_GPIO_IRQ_LAN) |
23 | #define CSB726_IRQ_SM501 gpio_to_irq(CSB726_GPIO_IRQ_SM501) | 23 | #define CSB726_IRQ_SM501 PXA_GPIO_TO_IRQ(CSB726_GPIO_IRQ_SM501) |
24 | 24 | ||
25 | #endif | 25 | #endif |
26 | 26 | ||
diff --git a/arch/arm/mach-pxa/include/mach/gpio-pxa.h b/arch/arm/mach-pxa/include/mach/gpio-pxa.h deleted file mode 100644 index 41b4c93a96c2..000000000000 --- a/arch/arm/mach-pxa/include/mach/gpio-pxa.h +++ /dev/null | |||
@@ -1,133 +0,0 @@ | |||
1 | /* | ||
2 | * Written by Philipp Zabel <philipp.zabel@gmail.com> | ||
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 as published by | ||
6 | * the Free Software Foundation; either version 2 of the License, or | ||
7 | * (at your option) any later version. | ||
8 | * | ||
9 | * This program is distributed in the hope that it will be useful, | ||
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
12 | * GNU General Public License for more details. | ||
13 | * | ||
14 | * You should have received a copy of the GNU General Public License | ||
15 | * along with this program; if not, write to the Free Software | ||
16 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
17 | * | ||
18 | */ | ||
19 | #ifndef __MACH_PXA_GPIO_PXA_H | ||
20 | #define __MACH_PXA_GPIO_PXA_H | ||
21 | |||
22 | #include <mach/irqs.h> | ||
23 | #include <mach/hardware.h> | ||
24 | |||
25 | #define GPIO_REGS_VIRT io_p2v(0x40E00000) | ||
26 | |||
27 | #define BANK_OFF(n) (((n) < 3) ? (n) << 2 : 0x100 + (((n) - 3) << 2)) | ||
28 | #define GPIO_REG(x) (*(volatile u32 *)(GPIO_REGS_VIRT + (x))) | ||
29 | |||
30 | /* GPIO Pin Level Registers */ | ||
31 | #define GPLR0 GPIO_REG(BANK_OFF(0) + 0x00) | ||
32 | #define GPLR1 GPIO_REG(BANK_OFF(1) + 0x00) | ||
33 | #define GPLR2 GPIO_REG(BANK_OFF(2) + 0x00) | ||
34 | #define GPLR3 GPIO_REG(BANK_OFF(3) + 0x00) | ||
35 | |||
36 | /* GPIO Pin Direction Registers */ | ||
37 | #define GPDR0 GPIO_REG(BANK_OFF(0) + 0x0c) | ||
38 | #define GPDR1 GPIO_REG(BANK_OFF(1) + 0x0c) | ||
39 | #define GPDR2 GPIO_REG(BANK_OFF(2) + 0x0c) | ||
40 | #define GPDR3 GPIO_REG(BANK_OFF(3) + 0x0c) | ||
41 | |||
42 | /* GPIO Pin Output Set Registers */ | ||
43 | #define GPSR0 GPIO_REG(BANK_OFF(0) + 0x18) | ||
44 | #define GPSR1 GPIO_REG(BANK_OFF(1) + 0x18) | ||
45 | #define GPSR2 GPIO_REG(BANK_OFF(2) + 0x18) | ||
46 | #define GPSR3 GPIO_REG(BANK_OFF(3) + 0x18) | ||
47 | |||
48 | /* GPIO Pin Output Clear Registers */ | ||
49 | #define GPCR0 GPIO_REG(BANK_OFF(0) + 0x24) | ||
50 | #define GPCR1 GPIO_REG(BANK_OFF(1) + 0x24) | ||
51 | #define GPCR2 GPIO_REG(BANK_OFF(2) + 0x24) | ||
52 | #define GPCR3 GPIO_REG(BANK_OFF(3) + 0x24) | ||
53 | |||
54 | /* GPIO Rising Edge Detect Registers */ | ||
55 | #define GRER0 GPIO_REG(BANK_OFF(0) + 0x30) | ||
56 | #define GRER1 GPIO_REG(BANK_OFF(1) + 0x30) | ||
57 | #define GRER2 GPIO_REG(BANK_OFF(2) + 0x30) | ||
58 | #define GRER3 GPIO_REG(BANK_OFF(3) + 0x30) | ||
59 | |||
60 | /* GPIO Falling Edge Detect Registers */ | ||
61 | #define GFER0 GPIO_REG(BANK_OFF(0) + 0x3c) | ||
62 | #define GFER1 GPIO_REG(BANK_OFF(1) + 0x3c) | ||
63 | #define GFER2 GPIO_REG(BANK_OFF(2) + 0x3c) | ||
64 | #define GFER3 GPIO_REG(BANK_OFF(3) + 0x3c) | ||
65 | |||
66 | /* GPIO Edge Detect Status Registers */ | ||
67 | #define GEDR0 GPIO_REG(BANK_OFF(0) + 0x48) | ||
68 | #define GEDR1 GPIO_REG(BANK_OFF(1) + 0x48) | ||
69 | #define GEDR2 GPIO_REG(BANK_OFF(2) + 0x48) | ||
70 | #define GEDR3 GPIO_REG(BANK_OFF(3) + 0x48) | ||
71 | |||
72 | /* GPIO Alternate Function Select Registers */ | ||
73 | #define GAFR0_L GPIO_REG(0x0054) | ||
74 | #define GAFR0_U GPIO_REG(0x0058) | ||
75 | #define GAFR1_L GPIO_REG(0x005C) | ||
76 | #define GAFR1_U GPIO_REG(0x0060) | ||
77 | #define GAFR2_L GPIO_REG(0x0064) | ||
78 | #define GAFR2_U GPIO_REG(0x0068) | ||
79 | #define GAFR3_L GPIO_REG(0x006C) | ||
80 | #define GAFR3_U GPIO_REG(0x0070) | ||
81 | |||
82 | /* More handy macros. The argument is a literal GPIO number. */ | ||
83 | |||
84 | #define GPIO_bit(x) (1 << ((x) & 0x1f)) | ||
85 | |||
86 | #define GPLR(x) GPIO_REG(BANK_OFF((x) >> 5) + 0x00) | ||
87 | #define GPDR(x) GPIO_REG(BANK_OFF((x) >> 5) + 0x0c) | ||
88 | #define GPSR(x) GPIO_REG(BANK_OFF((x) >> 5) + 0x18) | ||
89 | #define GPCR(x) GPIO_REG(BANK_OFF((x) >> 5) + 0x24) | ||
90 | #define GRER(x) GPIO_REG(BANK_OFF((x) >> 5) + 0x30) | ||
91 | #define GFER(x) GPIO_REG(BANK_OFF((x) >> 5) + 0x3c) | ||
92 | #define GEDR(x) GPIO_REG(BANK_OFF((x) >> 5) + 0x48) | ||
93 | #define GAFR(x) GPIO_REG(0x54 + (((x) & 0x70) >> 2)) | ||
94 | |||
95 | |||
96 | #define NR_BUILTIN_GPIO PXA_GPIO_IRQ_NUM | ||
97 | |||
98 | #define gpio_to_bank(gpio) ((gpio) >> 5) | ||
99 | |||
100 | #ifdef CONFIG_CPU_PXA26x | ||
101 | /* GPIO86/87/88/89 on PXA26x have their direction bits in GPDR2 inverted, | ||
102 | * as well as their Alternate Function value being '1' for GPIO in GAFRx. | ||
103 | */ | ||
104 | static inline int __gpio_is_inverted(unsigned gpio) | ||
105 | { | ||
106 | return cpu_is_pxa25x() && gpio > 85; | ||
107 | } | ||
108 | #else | ||
109 | static inline int __gpio_is_inverted(unsigned gpio) { return 0; } | ||
110 | #endif | ||
111 | |||
112 | /* | ||
113 | * On PXA25x and PXA27x, GAFRx and GPDRx together decide the alternate | ||
114 | * function of a GPIO, and GPDRx cannot be altered once configured. It | ||
115 | * is attributed as "occupied" here (I know this terminology isn't | ||
116 | * accurate, you are welcome to propose a better one :-) | ||
117 | */ | ||
118 | static inline int __gpio_is_occupied(unsigned gpio) | ||
119 | { | ||
120 | if (cpu_is_pxa27x() || cpu_is_pxa25x()) { | ||
121 | int af = (GAFR(gpio) >> ((gpio & 0xf) * 2)) & 0x3; | ||
122 | int dir = GPDR(gpio) & GPIO_bit(gpio); | ||
123 | |||
124 | if (__gpio_is_inverted(gpio)) | ||
125 | return af != 1 || dir == 0; | ||
126 | else | ||
127 | return af != 0 || dir != 0; | ||
128 | } else | ||
129 | return GPDR(gpio) & GPIO_bit(gpio); | ||
130 | } | ||
131 | |||
132 | #include <plat/gpio-pxa.h> | ||
133 | #endif /* __MACH_PXA_GPIO_PXA_H */ | ||
diff --git a/arch/arm/mach-pxa/include/mach/gpio.h b/arch/arm/mach-pxa/include/mach/gpio.h index 004cade7bb13..0248e433bc98 100644 --- a/arch/arm/mach-pxa/include/mach/gpio.h +++ b/arch/arm/mach-pxa/include/mach/gpio.h | |||
@@ -25,24 +25,8 @@ | |||
25 | #define __ASM_ARCH_PXA_GPIO_H | 25 | #define __ASM_ARCH_PXA_GPIO_H |
26 | 26 | ||
27 | #include <asm-generic/gpio.h> | 27 | #include <asm-generic/gpio.h> |
28 | /* The defines for the driver are needed for the accelerated accessors */ | ||
29 | #include "gpio-pxa.h" | ||
30 | 28 | ||
31 | #define gpio_to_irq(gpio) IRQ_GPIO(gpio) | 29 | #include <mach/irqs.h> |
30 | #include <mach/hardware.h> | ||
32 | 31 | ||
33 | static inline int irq_to_gpio(unsigned int irq) | ||
34 | { | ||
35 | int gpio; | ||
36 | |||
37 | if (irq == IRQ_GPIO0 || irq == IRQ_GPIO1) | ||
38 | return irq - IRQ_GPIO0; | ||
39 | |||
40 | gpio = irq - PXA_GPIO_IRQ_BASE; | ||
41 | if (gpio >= 2 && gpio < NR_BUILTIN_GPIO) | ||
42 | return gpio; | ||
43 | |||
44 | return -1; | ||
45 | } | ||
46 | |||
47 | #include <plat/gpio.h> | ||
48 | #endif | 32 | #endif |
diff --git a/arch/arm/mach-pxa/include/mach/gumstix.h b/arch/arm/mach-pxa/include/mach/gumstix.h index 9b898680b206..dba14b6503ad 100644 --- a/arch/arm/mach-pxa/include/mach/gumstix.h +++ b/arch/arm/mach-pxa/include/mach/gumstix.h | |||
@@ -24,7 +24,7 @@ has detected a cable insertion; driven low otherwise. */ | |||
24 | #define GPIO_GUMSTIX_USB_GPIOx 41 | 24 | #define GPIO_GUMSTIX_USB_GPIOx 41 |
25 | 25 | ||
26 | /* usb state change */ | 26 | /* usb state change */ |
27 | #define GUMSTIX_USB_INTR_IRQ IRQ_GPIO(GPIO_GUMSTIX_USB_GPIOn) | 27 | #define GUMSTIX_USB_INTR_IRQ PXA_GPIO_TO_IRQ(GPIO_GUMSTIX_USB_GPIOn) |
28 | 28 | ||
29 | #define GPIO_GUMSTIX_USB_GPIOn_MD (GPIO_GUMSTIX_USB_GPIOn | GPIO_IN) | 29 | #define GPIO_GUMSTIX_USB_GPIOn_MD (GPIO_GUMSTIX_USB_GPIOn | GPIO_IN) |
30 | #define GPIO_GUMSTIX_USB_GPIOx_CON_MD (GPIO_GUMSTIX_USB_GPIOx | GPIO_OUT) | 30 | #define GPIO_GUMSTIX_USB_GPIOx_CON_MD (GPIO_GUMSTIX_USB_GPIOx | GPIO_OUT) |
@@ -35,7 +35,7 @@ has detected a cable insertion; driven low otherwise. */ | |||
35 | */ | 35 | */ |
36 | #define GUMSTIX_GPIO_nSD_WP 22 /* SD Write Protect */ | 36 | #define GUMSTIX_GPIO_nSD_WP 22 /* SD Write Protect */ |
37 | #define GUMSTIX_GPIO_nSD_DETECT 11 /* MMC/SD Card Detect */ | 37 | #define GUMSTIX_GPIO_nSD_DETECT 11 /* MMC/SD Card Detect */ |
38 | #define GUMSTIX_IRQ_GPIO_nSD_DETECT IRQ_GPIO(GUMSTIX_GPIO_nSD_DETECT) | 38 | #define GUMSTIX_IRQ_GPIO_nSD_DETECT PXA_GPIO_TO_IRQ(GUMSTIX_GPIO_nSD_DETECT) |
39 | 39 | ||
40 | /* | 40 | /* |
41 | * SMC Ethernet definitions | 41 | * SMC Ethernet definitions |
@@ -49,10 +49,10 @@ has detected a cable insertion; driven low otherwise. */ | |||
49 | 49 | ||
50 | #define GPIO_GUMSTIX_ETH0 36 | 50 | #define GPIO_GUMSTIX_ETH0 36 |
51 | #define GPIO_GUMSTIX_ETH0_MD (GPIO_GUMSTIX_ETH0 | GPIO_IN) | 51 | #define GPIO_GUMSTIX_ETH0_MD (GPIO_GUMSTIX_ETH0 | GPIO_IN) |
52 | #define GUMSTIX_ETH0_IRQ IRQ_GPIO(GPIO_GUMSTIX_ETH0) | 52 | #define GUMSTIX_ETH0_IRQ PXA_GPIO_TO_IRQ(GPIO_GUMSTIX_ETH0) |
53 | #define GPIO_GUMSTIX_ETH1 27 | 53 | #define GPIO_GUMSTIX_ETH1 27 |
54 | #define GPIO_GUMSTIX_ETH1_MD (GPIO_GUMSTIX_ETH1 | GPIO_IN) | 54 | #define GPIO_GUMSTIX_ETH1_MD (GPIO_GUMSTIX_ETH1 | GPIO_IN) |
55 | #define GUMSTIX_ETH1_IRQ IRQ_GPIO(GPIO_GUMSTIX_ETH1) | 55 | #define GUMSTIX_ETH1_IRQ PXA_GPIO_TO_IRQ(GPIO_GUMSTIX_ETH1) |
56 | 56 | ||
57 | 57 | ||
58 | /* CF reset line */ | 58 | /* CF reset line */ |
@@ -63,18 +63,18 @@ has detected a cable insertion; driven low otherwise. */ | |||
63 | #define GPIO4_nSTSCHG GPIO4_nBVD1 | 63 | #define GPIO4_nSTSCHG GPIO4_nBVD1 |
64 | #define GPIO11_nCD 11 | 64 | #define GPIO11_nCD 11 |
65 | #define GPIO26_PRDY_nBSY 26 | 65 | #define GPIO26_PRDY_nBSY 26 |
66 | #define GUMSTIX_S0_nSTSCHG_IRQ IRQ_GPIO(GPIO4_nSTSCHG) | 66 | #define GUMSTIX_S0_nSTSCHG_IRQ PXA_GPIO_TO_IRQ(GPIO4_nSTSCHG) |
67 | #define GUMSTIX_S0_nCD_IRQ IRQ_GPIO(GPIO11_nCD) | 67 | #define GUMSTIX_S0_nCD_IRQ PXA_GPIO_TO_IRQ(GPIO11_nCD) |
68 | #define GUMSTIX_S0_PRDY_nBSY_IRQ IRQ_GPIO(GPIO26_PRDY_nBSY) | 68 | #define GUMSTIX_S0_PRDY_nBSY_IRQ PXA_GPIO_TO_IRQ(GPIO26_PRDY_nBSY) |
69 | 69 | ||
70 | /* CF slot 1 */ | 70 | /* CF slot 1 */ |
71 | #define GPIO18_nBVD1 18 | 71 | #define GPIO18_nBVD1 18 |
72 | #define GPIO18_nSTSCHG GPIO18_nBVD1 | 72 | #define GPIO18_nSTSCHG GPIO18_nBVD1 |
73 | #define GPIO36_nCD 36 | 73 | #define GPIO36_nCD 36 |
74 | #define GPIO27_PRDY_nBSY 27 | 74 | #define GPIO27_PRDY_nBSY 27 |
75 | #define GUMSTIX_S1_nSTSCHG_IRQ IRQ_GPIO(GPIO18_nSTSCHG) | 75 | #define GUMSTIX_S1_nSTSCHG_IRQ PXA_GPIO_TO_IRQ(GPIO18_nSTSCHG) |
76 | #define GUMSTIX_S1_nCD_IRQ IRQ_GPIO(GPIO36_nCD) | 76 | #define GUMSTIX_S1_nCD_IRQ PXA_GPIO_TO_IRQ(GPIO36_nCD) |
77 | #define GUMSTIX_S1_PRDY_nBSY_IRQ IRQ_GPIO(GPIO27_PRDY_nBSY) | 77 | #define GUMSTIX_S1_PRDY_nBSY_IRQ PXA_GPIO_TO_IRQ(GPIO27_PRDY_nBSY) |
78 | 78 | ||
79 | /* CF GPIO line modes */ | 79 | /* CF GPIO line modes */ |
80 | #define GPIO4_nSTSCHG_MD (GPIO4_nSTSCHG | GPIO_IN) | 80 | #define GPIO4_nSTSCHG_MD (GPIO4_nSTSCHG | GPIO_IN) |
diff --git a/arch/arm/mach-pxa/include/mach/hx4700.h b/arch/arm/mach-pxa/include/mach/hx4700.h index 37408449ec25..8bc02913517c 100644 --- a/arch/arm/mach-pxa/include/mach/hx4700.h +++ b/arch/arm/mach-pxa/include/mach/hx4700.h | |||
@@ -15,7 +15,7 @@ | |||
15 | #include <linux/gpio.h> | 15 | #include <linux/gpio.h> |
16 | #include <linux/mfd/asic3.h> | 16 | #include <linux/mfd/asic3.h> |
17 | 17 | ||
18 | #define HX4700_ASIC3_GPIO_BASE NR_BUILTIN_GPIO | 18 | #define HX4700_ASIC3_GPIO_BASE PXA_NR_BUILTIN_GPIO |
19 | #define HX4700_EGPIO_BASE (HX4700_ASIC3_GPIO_BASE + ASIC3_NUM_GPIOS) | 19 | #define HX4700_EGPIO_BASE (HX4700_ASIC3_GPIO_BASE + ASIC3_NUM_GPIOS) |
20 | #define HX4700_NR_IRQS (IRQ_BOARD_START + 70) | 20 | #define HX4700_NR_IRQS (IRQ_BOARD_START + 70) |
21 | 21 | ||
diff --git a/arch/arm/mach-pxa/include/mach/idp.h b/arch/arm/mach-pxa/include/mach/idp.h index 5eff96fcc944..22a96f87232b 100644 --- a/arch/arm/mach-pxa/include/mach/idp.h +++ b/arch/arm/mach-pxa/include/mach/idp.h | |||
@@ -131,28 +131,26 @@ | |||
131 | #define PCC_VS2 (1 << 1) | 131 | #define PCC_VS2 (1 << 1) |
132 | #define PCC_VS1 (1 << 0) | 132 | #define PCC_VS1 (1 << 0) |
133 | 133 | ||
134 | #define PCC_DETECT(x) (GPLR(7 + (x)) & GPIO_bit(7 + (x))) | ||
135 | |||
136 | /* A listing of interrupts used by external hardware devices */ | 134 | /* A listing of interrupts used by external hardware devices */ |
137 | 135 | ||
138 | #define TOUCH_PANEL_IRQ IRQ_GPIO(5) | 136 | #define TOUCH_PANEL_IRQ PXA_GPIO_TO_IRQ(5) |
139 | #define IDE_IRQ IRQ_GPIO(21) | 137 | #define IDE_IRQ PXA_GPIO_TO_IRQ(21) |
140 | 138 | ||
141 | #define TOUCH_PANEL_IRQ_EDGE IRQ_TYPE_EDGE_FALLING | 139 | #define TOUCH_PANEL_IRQ_EDGE IRQ_TYPE_EDGE_FALLING |
142 | 140 | ||
143 | #define ETHERNET_IRQ IRQ_GPIO(4) | 141 | #define ETHERNET_IRQ PXA_GPIO_TO_IRQ(4) |
144 | #define ETHERNET_IRQ_EDGE IRQ_TYPE_EDGE_RISING | 142 | #define ETHERNET_IRQ_EDGE IRQ_TYPE_EDGE_RISING |
145 | 143 | ||
146 | #define IDE_IRQ_EDGE IRQ_TYPE_EDGE_RISING | 144 | #define IDE_IRQ_EDGE IRQ_TYPE_EDGE_RISING |
147 | 145 | ||
148 | #define PCMCIA_S0_CD_VALID IRQ_GPIO(7) | 146 | #define PCMCIA_S0_CD_VALID PXA_GPIO_TO_IRQ(7) |
149 | #define PCMCIA_S0_CD_VALID_EDGE IRQ_TYPE_EDGE_BOTH | 147 | #define PCMCIA_S0_CD_VALID_EDGE IRQ_TYPE_EDGE_BOTH |
150 | 148 | ||
151 | #define PCMCIA_S1_CD_VALID IRQ_GPIO(8) | 149 | #define PCMCIA_S1_CD_VALID PXA_GPIO_TO_IRQ(8) |
152 | #define PCMCIA_S1_CD_VALID_EDGE IRQ_TYPE_EDGE_BOTH | 150 | #define PCMCIA_S1_CD_VALID_EDGE IRQ_TYPE_EDGE_BOTH |
153 | 151 | ||
154 | #define PCMCIA_S0_RDYINT IRQ_GPIO(19) | 152 | #define PCMCIA_S0_RDYINT PXA_GPIO_TO_IRQ(19) |
155 | #define PCMCIA_S1_RDYINT IRQ_GPIO(22) | 153 | #define PCMCIA_S1_RDYINT PXA_GPIO_TO_IRQ(22) |
156 | 154 | ||
157 | 155 | ||
158 | /* | 156 | /* |
diff --git a/arch/arm/mach-pxa/include/mach/irqs.h b/arch/arm/mach-pxa/include/mach/irqs.h index 7cc5a781e99e..32975adf3ca4 100644 --- a/arch/arm/mach-pxa/include/mach/irqs.h +++ b/arch/arm/mach-pxa/include/mach/irqs.h | |||
@@ -88,10 +88,8 @@ | |||
88 | #define IRQ_U2P PXA_IRQ(93) /* USB PHY D+/D- Lines (PXA935) */ | 88 | #define IRQ_U2P PXA_IRQ(93) /* USB PHY D+/D- Lines (PXA935) */ |
89 | 89 | ||
90 | #define PXA_GPIO_IRQ_BASE PXA_IRQ(96) | 90 | #define PXA_GPIO_IRQ_BASE PXA_IRQ(96) |
91 | #define PXA_GPIO_IRQ_NUM (192) | 91 | #define PXA_NR_BUILTIN_GPIO (192) |
92 | 92 | #define PXA_GPIO_TO_IRQ(x) (PXA_GPIO_IRQ_BASE + (x)) | |
93 | #define GPIO_2_x_TO_IRQ(x) (PXA_GPIO_IRQ_BASE + (x)) | ||
94 | #define IRQ_GPIO(x) (((x) < 2) ? (IRQ_GPIO0 + (x)) : GPIO_2_x_TO_IRQ(x)) | ||
95 | 93 | ||
96 | /* | 94 | /* |
97 | * The following interrupts are for board specific purposes. Since | 95 | * The following interrupts are for board specific purposes. Since |
@@ -100,7 +98,7 @@ | |||
100 | * By default, no board IRQ is reserved. It should be finished in | 98 | * By default, no board IRQ is reserved. It should be finished in |
101 | * custom board since sparse IRQ is already enabled. | 99 | * custom board since sparse IRQ is already enabled. |
102 | */ | 100 | */ |
103 | #define IRQ_BOARD_START (PXA_GPIO_IRQ_BASE + PXA_GPIO_IRQ_NUM) | 101 | #define IRQ_BOARD_START (PXA_GPIO_IRQ_BASE + PXA_NR_BUILTIN_GPIO) |
104 | 102 | ||
105 | #define NR_IRQS (IRQ_BOARD_START) | 103 | #define NR_IRQS (IRQ_BOARD_START) |
106 | 104 | ||
diff --git a/arch/arm/mach-pxa/include/mach/littleton.h b/arch/arm/mach-pxa/include/mach/littleton.h index b6238cbd8aea..8066be54e9f5 100644 --- a/arch/arm/mach-pxa/include/mach/littleton.h +++ b/arch/arm/mach-pxa/include/mach/littleton.h | |||
@@ -1,13 +1,11 @@ | |||
1 | #ifndef __ASM_ARCH_LITTLETON_H | 1 | #ifndef __ASM_ARCH_LITTLETON_H |
2 | #define __ASM_ARCH_LITTLETON_H | 2 | #define __ASM_ARCH_LITTLETON_H |
3 | 3 | ||
4 | #include <mach/gpio-pxa.h> | ||
5 | |||
6 | #define LITTLETON_ETH_PHYS 0x30000000 | 4 | #define LITTLETON_ETH_PHYS 0x30000000 |
7 | 5 | ||
8 | #define LITTLETON_GPIO_LCD_CS (17) | 6 | #define LITTLETON_GPIO_LCD_CS (17) |
9 | 7 | ||
10 | #define EXT0_GPIO_BASE (NR_BUILTIN_GPIO) | 8 | #define EXT0_GPIO_BASE (PXA_NR_BUILTIN_GPIO) |
11 | #define EXT0_GPIO(x) (EXT0_GPIO_BASE + (x)) | 9 | #define EXT0_GPIO(x) (EXT0_GPIO_BASE + (x)) |
12 | 10 | ||
13 | #define LITTLETON_NR_IRQS (IRQ_BOARD_START + 8) | 11 | #define LITTLETON_NR_IRQS (IRQ_BOARD_START + 8) |
diff --git a/arch/arm/mach-pxa/include/mach/magician.h b/arch/arm/mach-pxa/include/mach/magician.h index 7cbfc5d3f9df..ba6a6e1d29e9 100644 --- a/arch/arm/mach-pxa/include/mach/magician.h +++ b/arch/arm/mach-pxa/include/mach/magician.h | |||
@@ -78,7 +78,7 @@ | |||
78 | * CPLD EGPIOs | 78 | * CPLD EGPIOs |
79 | */ | 79 | */ |
80 | 80 | ||
81 | #define MAGICIAN_EGPIO_BASE NR_BUILTIN_GPIO | 81 | #define MAGICIAN_EGPIO_BASE PXA_NR_BUILTIN_GPIO |
82 | #define MAGICIAN_EGPIO(reg,bit) \ | 82 | #define MAGICIAN_EGPIO(reg,bit) \ |
83 | (MAGICIAN_EGPIO_BASE + 8*reg + bit) | 83 | (MAGICIAN_EGPIO_BASE + 8*reg + bit) |
84 | 84 | ||
diff --git a/arch/arm/mach-pxa/include/mach/palmld.h b/arch/arm/mach-pxa/include/mach/palmld.h index ae536e86d8e8..2c4471336570 100644 --- a/arch/arm/mach-pxa/include/mach/palmld.h +++ b/arch/arm/mach-pxa/include/mach/palmld.h | |||
@@ -68,10 +68,10 @@ | |||
68 | /* 20, 53 and 86 are usb related too */ | 68 | /* 20, 53 and 86 are usb related too */ |
69 | 69 | ||
70 | /* INTERRUPTS */ | 70 | /* INTERRUPTS */ |
71 | #define IRQ_GPIO_PALMLD_GPIO_RESET IRQ_GPIO(GPIO_NR_PALMLD_GPIO_RESET) | 71 | #define IRQ_GPIO_PALMLD_GPIO_RESET PXA_GPIO_TO_IRQ(GPIO_NR_PALMLD_GPIO_RESET) |
72 | #define IRQ_GPIO_PALMLD_SD_DETECT_N IRQ_GPIO(GPIO_NR_PALMLD_SD_DETECT_N) | 72 | #define IRQ_GPIO_PALMLD_SD_DETECT_N PXA_GPIO_TO_IRQ(GPIO_NR_PALMLD_SD_DETECT_N) |
73 | #define IRQ_GPIO_PALMLD_WM9712_IRQ IRQ_GPIO(GPIO_NR_PALMLD_WM9712_IRQ) | 73 | #define IRQ_GPIO_PALMLD_WM9712_IRQ PXA_GPIO_TO_IRQ(GPIO_NR_PALMLD_WM9712_IRQ) |
74 | #define IRQ_GPIO_PALMLD_IDE_IRQ IRQ_GPIO(GPIO_NR_PALMLD_IDE_IRQ) | 74 | #define IRQ_GPIO_PALMLD_IDE_IRQ PXA_GPIO_TO_IRQ(GPIO_NR_PALMLD_IDE_IRQ) |
75 | 75 | ||
76 | 76 | ||
77 | /** HERE ARE INIT VALUES **/ | 77 | /** HERE ARE INIT VALUES **/ |
diff --git a/arch/arm/mach-pxa/include/mach/palmt5.h b/arch/arm/mach-pxa/include/mach/palmt5.h index 6baf7469d4ec..0bd4f036c72f 100644 --- a/arch/arm/mach-pxa/include/mach/palmt5.h +++ b/arch/arm/mach-pxa/include/mach/palmt5.h | |||
@@ -48,10 +48,10 @@ | |||
48 | #define GPIO_NR_PALMT5_BT_RESET 83 | 48 | #define GPIO_NR_PALMT5_BT_RESET 83 |
49 | 49 | ||
50 | /* INTERRUPTS */ | 50 | /* INTERRUPTS */ |
51 | #define IRQ_GPIO_PALMT5_SD_DETECT_N IRQ_GPIO(GPIO_NR_PALMT5_SD_DETECT_N) | 51 | #define IRQ_GPIO_PALMT5_SD_DETECT_N PXA_GPIO_TO_IRQ(GPIO_NR_PALMT5_SD_DETECT_N) |
52 | #define IRQ_GPIO_PALMT5_WM9712_IRQ IRQ_GPIO(GPIO_NR_PALMT5_WM9712_IRQ) | 52 | #define IRQ_GPIO_PALMT5_WM9712_IRQ PXA_GPIO_TO_IRQ(GPIO_NR_PALMT5_WM9712_IRQ) |
53 | #define IRQ_GPIO_PALMT5_USB_DETECT IRQ_GPIO(GPIO_NR_PALMT5_USB_DETECT) | 53 | #define IRQ_GPIO_PALMT5_USB_DETECT PXA_GPIO_TO_IRQ(GPIO_NR_PALMT5_USB_DETECT) |
54 | #define IRQ_GPIO_PALMT5_GPIO_RESET IRQ_GPIO(GPIO_NR_PALMT5_GPIO_RESET) | 54 | #define IRQ_GPIO_PALMT5_GPIO_RESET PXA_GPIO_TO_IRQ(GPIO_NR_PALMT5_GPIO_RESET) |
55 | 55 | ||
56 | /** HERE ARE INIT VALUES **/ | 56 | /** HERE ARE INIT VALUES **/ |
57 | 57 | ||
diff --git a/arch/arm/mach-pxa/include/mach/palmtc.h b/arch/arm/mach-pxa/include/mach/palmtc.h index 3f9dd3fd4638..c383a21680b6 100644 --- a/arch/arm/mach-pxa/include/mach/palmtc.h +++ b/arch/arm/mach-pxa/include/mach/palmtc.h | |||
@@ -52,8 +52,8 @@ | |||
52 | #define GPIO_NR_PALMTC_IR_DISABLE 45 | 52 | #define GPIO_NR_PALMTC_IR_DISABLE 45 |
53 | 53 | ||
54 | /* IRQs */ | 54 | /* IRQs */ |
55 | #define IRQ_GPIO_PALMTC_SD_DETECT_N IRQ_GPIO(GPIO_NR_PALMTC_SD_DETECT_N) | 55 | #define IRQ_GPIO_PALMTC_SD_DETECT_N PXA_GPIO_TO_IRQ(GPIO_NR_PALMTC_SD_DETECT_N) |
56 | #define IRQ_GPIO_PALMTC_WLAN_READY IRQ_GPIO(GPIO_NR_PALMTC_WLAN_READY) | 56 | #define IRQ_GPIO_PALMTC_WLAN_READY PXA_GPIO_TO_IRQ(GPIO_NR_PALMTC_WLAN_READY) |
57 | 57 | ||
58 | /* UCB1400 GPIOs */ | 58 | /* UCB1400 GPIOs */ |
59 | #define GPIO_NR_PALMTC_POWER_DETECT (0x80 | 0x00) | 59 | #define GPIO_NR_PALMTC_POWER_DETECT (0x80 | 0x00) |
diff --git a/arch/arm/mach-pxa/include/mach/palmtx.h b/arch/arm/mach-pxa/include/mach/palmtx.h index 7074a6ed46c6..f2e530380253 100644 --- a/arch/arm/mach-pxa/include/mach/palmtx.h +++ b/arch/arm/mach-pxa/include/mach/palmtx.h | |||
@@ -62,10 +62,10 @@ | |||
62 | #define GPIO_NR_PALMTX_NAND_BUFFER_DIR 79 | 62 | #define GPIO_NR_PALMTX_NAND_BUFFER_DIR 79 |
63 | 63 | ||
64 | /* INTERRUPTS */ | 64 | /* INTERRUPTS */ |
65 | #define IRQ_GPIO_PALMTX_SD_DETECT_N IRQ_GPIO(GPIO_NR_PALMTX_SD_DETECT_N) | 65 | #define IRQ_GPIO_PALMTX_SD_DETECT_N PXA_GPIO_TO_IRQ(GPIO_NR_PALMTX_SD_DETECT_N) |
66 | #define IRQ_GPIO_PALMTX_WM9712_IRQ IRQ_GPIO(GPIO_NR_PALMTX_WM9712_IRQ) | 66 | #define IRQ_GPIO_PALMTX_WM9712_IRQ PXA_GPIO_TO_IRQ(GPIO_NR_PALMTX_WM9712_IRQ) |
67 | #define IRQ_GPIO_PALMTX_USB_DETECT IRQ_GPIO(GPIO_NR_PALMTX_USB_DETECT) | 67 | #define IRQ_GPIO_PALMTX_USB_DETECT PXA_GPIO_TO_IRQ(GPIO_NR_PALMTX_USB_DETECT) |
68 | #define IRQ_GPIO_PALMTX_GPIO_RESET IRQ_GPIO(GPIO_NR_PALMTX_GPIO_RESET) | 68 | #define IRQ_GPIO_PALMTX_GPIO_RESET PXA_GPIO_TO_IRQ(GPIO_NR_PALMTX_GPIO_RESET) |
69 | 69 | ||
70 | /** HERE ARE INIT VALUES **/ | 70 | /** HERE ARE INIT VALUES **/ |
71 | 71 | ||
diff --git a/arch/arm/mach-pxa/include/mach/pcm027.h b/arch/arm/mach-pxa/include/mach/pcm027.h index 4bac588478a8..6bf28de228bd 100644 --- a/arch/arm/mach-pxa/include/mach/pcm027.h +++ b/arch/arm/mach-pxa/include/mach/pcm027.h | |||
@@ -34,7 +34,7 @@ | |||
34 | 34 | ||
35 | /* I2C RTC */ | 35 | /* I2C RTC */ |
36 | #define PCM027_RTC_IRQ_GPIO 0 | 36 | #define PCM027_RTC_IRQ_GPIO 0 |
37 | #define PCM027_RTC_IRQ IRQ_GPIO(PCM027_RTC_IRQ_GPIO) | 37 | #define PCM027_RTC_IRQ PXA_GPIO_TO_IRQ(PCM027_RTC_IRQ_GPIO) |
38 | #define PCM027_RTC_IRQ_EDGE IRQ_TYPE_EDGE_FALLING | 38 | #define PCM027_RTC_IRQ_EDGE IRQ_TYPE_EDGE_FALLING |
39 | #define ADR_PCM027_RTC 0x51 /* I2C address */ | 39 | #define ADR_PCM027_RTC 0x51 /* I2C address */ |
40 | 40 | ||
@@ -43,21 +43,21 @@ | |||
43 | 43 | ||
44 | /* Ethernet chip (SMSC91C111) */ | 44 | /* Ethernet chip (SMSC91C111) */ |
45 | #define PCM027_ETH_IRQ_GPIO 52 | 45 | #define PCM027_ETH_IRQ_GPIO 52 |
46 | #define PCM027_ETH_IRQ IRQ_GPIO(PCM027_ETH_IRQ_GPIO) | 46 | #define PCM027_ETH_IRQ PXA_GPIO_TO_IRQ(PCM027_ETH_IRQ_GPIO) |
47 | #define PCM027_ETH_IRQ_EDGE IRQ_TYPE_EDGE_RISING | 47 | #define PCM027_ETH_IRQ_EDGE IRQ_TYPE_EDGE_RISING |
48 | #define PCM027_ETH_PHYS PXA_CS5_PHYS | 48 | #define PCM027_ETH_PHYS PXA_CS5_PHYS |
49 | #define PCM027_ETH_SIZE (1*1024*1024) | 49 | #define PCM027_ETH_SIZE (1*1024*1024) |
50 | 50 | ||
51 | /* CAN controller SJA1000 (unsupported yet) */ | 51 | /* CAN controller SJA1000 (unsupported yet) */ |
52 | #define PCM027_CAN_IRQ_GPIO 114 | 52 | #define PCM027_CAN_IRQ_GPIO 114 |
53 | #define PCM027_CAN_IRQ IRQ_GPIO(PCM027_CAN_IRQ_GPIO) | 53 | #define PCM027_CAN_IRQ PXA_GPIO_TO_IRQ(PCM027_CAN_IRQ_GPIO) |
54 | #define PCM027_CAN_IRQ_EDGE IRQ_TYPE_EDGE_FALLING | 54 | #define PCM027_CAN_IRQ_EDGE IRQ_TYPE_EDGE_FALLING |
55 | #define PCM027_CAN_PHYS 0x22000000 | 55 | #define PCM027_CAN_PHYS 0x22000000 |
56 | #define PCM027_CAN_SIZE 0x100 | 56 | #define PCM027_CAN_SIZE 0x100 |
57 | 57 | ||
58 | /* SPI GPIO expander (unsupported yet) */ | 58 | /* SPI GPIO expander (unsupported yet) */ |
59 | #define PCM027_EGPIO_IRQ_GPIO 27 | 59 | #define PCM027_EGPIO_IRQ_GPIO 27 |
60 | #define PCM027_EGPIO_IRQ IRQ_GPIO(PCM027_EGPIO_IRQ_GPIO) | 60 | #define PCM027_EGPIO_IRQ PXA_GPIO_TO_IRQ(PCM027_EGPIO_IRQ_GPIO) |
61 | #define PCM027_EGPIO_IRQ_EDGE IRQ_TYPE_EDGE_FALLING | 61 | #define PCM027_EGPIO_IRQ_EDGE IRQ_TYPE_EDGE_FALLING |
62 | #define PCM027_EGPIO_CS 24 | 62 | #define PCM027_EGPIO_CS 24 |
63 | /* | 63 | /* |
diff --git a/arch/arm/mach-pxa/include/mach/pcm990_baseboard.h b/arch/arm/mach-pxa/include/mach/pcm990_baseboard.h index 8a4383b776d7..d72791695b26 100644 --- a/arch/arm/mach-pxa/include/mach/pcm990_baseboard.h +++ b/arch/arm/mach-pxa/include/mach/pcm990_baseboard.h | |||
@@ -28,14 +28,14 @@ | |||
28 | 28 | ||
29 | /* CPLD's interrupt controller is connected to PCM-027 GPIO 9 */ | 29 | /* CPLD's interrupt controller is connected to PCM-027 GPIO 9 */ |
30 | #define PCM990_CTRL_INT_IRQ_GPIO 9 | 30 | #define PCM990_CTRL_INT_IRQ_GPIO 9 |
31 | #define PCM990_CTRL_INT_IRQ IRQ_GPIO(PCM990_CTRL_INT_IRQ_GPIO) | 31 | #define PCM990_CTRL_INT_IRQ PXA_GPIO_TO_IRQ(PCM990_CTRL_INT_IRQ_GPIO) |
32 | #define PCM990_CTRL_INT_IRQ_EDGE IRQ_TYPE_EDGE_RISING | 32 | #define PCM990_CTRL_INT_IRQ_EDGE IRQ_TYPE_EDGE_RISING |
33 | #define PCM990_CTRL_PHYS PXA_CS1_PHYS /* 16-Bit */ | 33 | #define PCM990_CTRL_PHYS PXA_CS1_PHYS /* 16-Bit */ |
34 | #define PCM990_CTRL_BASE 0xea000000 | 34 | #define PCM990_CTRL_BASE 0xea000000 |
35 | #define PCM990_CTRL_SIZE (1*1024*1024) | 35 | #define PCM990_CTRL_SIZE (1*1024*1024) |
36 | 36 | ||
37 | #define PCM990_CTRL_PWR_IRQ_GPIO 14 | 37 | #define PCM990_CTRL_PWR_IRQ_GPIO 14 |
38 | #define PCM990_CTRL_PWR_IRQ IRQ_GPIO(PCM990_CTRL_PWR_IRQ_GPIO) | 38 | #define PCM990_CTRL_PWR_IRQ PXA_GPIO_TO_IRQ(PCM990_CTRL_PWR_IRQ_GPIO) |
39 | #define PCM990_CTRL_PWR_IRQ_EDGE IRQ_TYPE_EDGE_RISING | 39 | #define PCM990_CTRL_PWR_IRQ_EDGE IRQ_TYPE_EDGE_RISING |
40 | 40 | ||
41 | /* visible CPLD (U7) registers */ | 41 | /* visible CPLD (U7) registers */ |
@@ -132,7 +132,7 @@ | |||
132 | * IDE | 132 | * IDE |
133 | */ | 133 | */ |
134 | #define PCM990_IDE_IRQ_GPIO 13 | 134 | #define PCM990_IDE_IRQ_GPIO 13 |
135 | #define PCM990_IDE_IRQ IRQ_GPIO(PCM990_IDE_IRQ_GPIO) | 135 | #define PCM990_IDE_IRQ PXA_GPIO_TO_IRQ(PCM990_IDE_IRQ_GPIO) |
136 | #define PCM990_IDE_IRQ_EDGE IRQ_TYPE_EDGE_RISING | 136 | #define PCM990_IDE_IRQ_EDGE IRQ_TYPE_EDGE_RISING |
137 | #define PCM990_IDE_PLD_PHYS 0x20000000 /* 16 bit wide */ | 137 | #define PCM990_IDE_PLD_PHYS 0x20000000 /* 16 bit wide */ |
138 | #define PCM990_IDE_PLD_BASE 0xee000000 | 138 | #define PCM990_IDE_PLD_BASE 0xee000000 |
@@ -188,11 +188,11 @@ | |||
188 | * Compact Flash | 188 | * Compact Flash |
189 | */ | 189 | */ |
190 | #define PCM990_CF_IRQ_GPIO 11 | 190 | #define PCM990_CF_IRQ_GPIO 11 |
191 | #define PCM990_CF_IRQ IRQ_GPIO(PCM990_CF_IRQ_GPIO) | 191 | #define PCM990_CF_IRQ PXA_GPIO_TO_IRQ(PCM990_CF_IRQ_GPIO) |
192 | #define PCM990_CF_IRQ_EDGE IRQ_TYPE_EDGE_RISING | 192 | #define PCM990_CF_IRQ_EDGE IRQ_TYPE_EDGE_RISING |
193 | 193 | ||
194 | #define PCM990_CF_CD_GPIO 12 | 194 | #define PCM990_CF_CD_GPIO 12 |
195 | #define PCM990_CF_CD IRQ_GPIO(PCM990_CF_CD_GPIO) | 195 | #define PCM990_CF_CD PXA_GPIO_TO_IRQ(PCM990_CF_CD_GPIO) |
196 | #define PCM990_CF_CD_EDGE IRQ_TYPE_EDGE_RISING | 196 | #define PCM990_CF_CD_EDGE IRQ_TYPE_EDGE_RISING |
197 | 197 | ||
198 | #define PCM990_CF_PLD_PHYS 0x30000000 /* 16 bit wide */ | 198 | #define PCM990_CF_PLD_PHYS 0x30000000 /* 16 bit wide */ |
@@ -258,14 +258,14 @@ | |||
258 | * Wolfson AC97 Touch | 258 | * Wolfson AC97 Touch |
259 | */ | 259 | */ |
260 | #define PCM990_AC97_IRQ_GPIO 10 | 260 | #define PCM990_AC97_IRQ_GPIO 10 |
261 | #define PCM990_AC97_IRQ IRQ_GPIO(PCM990_AC97_IRQ_GPIO) | 261 | #define PCM990_AC97_IRQ PXA_GPIO_TO_IRQ(PCM990_AC97_IRQ_GPIO) |
262 | #define PCM990_AC97_IRQ_EDGE IRQ_TYPE_EDGE_RISING | 262 | #define PCM990_AC97_IRQ_EDGE IRQ_TYPE_EDGE_RISING |
263 | 263 | ||
264 | /* | 264 | /* |
265 | * MMC phyCORE | 265 | * MMC phyCORE |
266 | */ | 266 | */ |
267 | #define PCM990_MMC0_IRQ_GPIO 9 | 267 | #define PCM990_MMC0_IRQ_GPIO 9 |
268 | #define PCM990_MMC0_IRQ IRQ_GPIO(PCM990_MMC0_IRQ_GPIO) | 268 | #define PCM990_MMC0_IRQ PXA_GPIO_TO_IRQ(PCM990_MMC0_IRQ_GPIO) |
269 | #define PCM990_MMC0_IRQ_EDGE IRQ_TYPE_EDGE_FALLING | 269 | #define PCM990_MMC0_IRQ_EDGE IRQ_TYPE_EDGE_FALLING |
270 | 270 | ||
271 | /* | 271 | /* |
diff --git a/arch/arm/mach-pxa/include/mach/poodle.h b/arch/arm/mach-pxa/include/mach/poodle.h index 83d1cfd00fc9..f32ff75dcca8 100644 --- a/arch/arm/mach-pxa/include/mach/poodle.h +++ b/arch/arm/mach-pxa/include/mach/poodle.h | |||
@@ -47,18 +47,18 @@ | |||
47 | #define POODLE_GPIO_DISCHARGE_ON (42) /* Enable battery discharge */ | 47 | #define POODLE_GPIO_DISCHARGE_ON (42) /* Enable battery discharge */ |
48 | 48 | ||
49 | /* PXA GPIOs */ | 49 | /* PXA GPIOs */ |
50 | #define POODLE_IRQ_GPIO_ON_KEY IRQ_GPIO(0) | 50 | #define POODLE_IRQ_GPIO_ON_KEY PXA_GPIO_TO_IRQ(0) |
51 | #define POODLE_IRQ_GPIO_AC_IN IRQ_GPIO(1) | 51 | #define POODLE_IRQ_GPIO_AC_IN PXA_GPIO_TO_IRQ(1) |
52 | #define POODLE_IRQ_GPIO_HP_IN IRQ_GPIO(4) | 52 | #define POODLE_IRQ_GPIO_HP_IN PXA_GPIO_TO_IRQ(4) |
53 | #define POODLE_IRQ_GPIO_CO IRQ_GPIO(16) | 53 | #define POODLE_IRQ_GPIO_CO PXA_GPIO_TO_IRQ(16) |
54 | #define POODLE_IRQ_GPIO_TP_INT IRQ_GPIO(5) | 54 | #define POODLE_IRQ_GPIO_TP_INT PXA_GPIO_TO_IRQ(5) |
55 | #define POODLE_IRQ_GPIO_WAKEUP IRQ_GPIO(11) | 55 | #define POODLE_IRQ_GPIO_WAKEUP PXA_GPIO_TO_IRQ(11) |
56 | #define POODLE_IRQ_GPIO_GA_INT IRQ_GPIO(10) | 56 | #define POODLE_IRQ_GPIO_GA_INT PXA_GPIO_TO_IRQ(10) |
57 | #define POODLE_IRQ_GPIO_CF_IRQ IRQ_GPIO(17) | 57 | #define POODLE_IRQ_GPIO_CF_IRQ PXA_GPIO_TO_IRQ(17) |
58 | #define POODLE_IRQ_GPIO_CF_CD IRQ_GPIO(14) | 58 | #define POODLE_IRQ_GPIO_CF_CD PXA_GPIO_TO_IRQ(14) |
59 | #define POODLE_IRQ_GPIO_nSD_INT IRQ_GPIO(8) | 59 | #define POODLE_IRQ_GPIO_nSD_INT PXA_GPIO_TO_IRQ(8) |
60 | #define POODLE_IRQ_GPIO_nSD_DETECT IRQ_GPIO(9) | 60 | #define POODLE_IRQ_GPIO_nSD_DETECT PXA_GPIO_TO_IRQ(9) |
61 | #define POODLE_IRQ_GPIO_MAIN_BAT_LOW IRQ_GPIO(13) | 61 | #define POODLE_IRQ_GPIO_MAIN_BAT_LOW PXA_GPIO_TO_IRQ(13) |
62 | 62 | ||
63 | /* SCOOP GPIOs */ | 63 | /* SCOOP GPIOs */ |
64 | #define POODLE_SCOOP_CHARGE_ON SCOOP_GPCR_PA11 | 64 | #define POODLE_SCOOP_CHARGE_ON SCOOP_GPCR_PA11 |
@@ -71,7 +71,7 @@ | |||
71 | #define POODLE_SCOOP_IO_DIR ( POODLE_SCOOP_VPEN | POODLE_SCOOP_HS_OUT ) | 71 | #define POODLE_SCOOP_IO_DIR ( POODLE_SCOOP_VPEN | POODLE_SCOOP_HS_OUT ) |
72 | #define POODLE_SCOOP_IO_OUT ( 0 ) | 72 | #define POODLE_SCOOP_IO_OUT ( 0 ) |
73 | 73 | ||
74 | #define POODLE_SCOOP_GPIO_BASE (NR_BUILTIN_GPIO) | 74 | #define POODLE_SCOOP_GPIO_BASE (PXA_NR_BUILTIN_GPIO) |
75 | #define POODLE_GPIO_CHARGE_ON (POODLE_SCOOP_GPIO_BASE + 0) | 75 | #define POODLE_GPIO_CHARGE_ON (POODLE_SCOOP_GPIO_BASE + 0) |
76 | #define POODLE_GPIO_CP401 (POODLE_SCOOP_GPIO_BASE + 2) | 76 | #define POODLE_GPIO_CP401 (POODLE_SCOOP_GPIO_BASE + 2) |
77 | #define POODLE_GPIO_VPEN (POODLE_SCOOP_GPIO_BASE + 7) | 77 | #define POODLE_GPIO_VPEN (POODLE_SCOOP_GPIO_BASE + 7) |
diff --git a/arch/arm/mach-pxa/include/mach/spitz.h b/arch/arm/mach-pxa/include/mach/spitz.h index 685749a51c42..0bfe6507c95d 100644 --- a/arch/arm/mach-pxa/include/mach/spitz.h +++ b/arch/arm/mach-pxa/include/mach/spitz.h | |||
@@ -108,7 +108,7 @@ | |||
108 | #define SPITZ_SCP_SUS_CLR (SPITZ_SCP_MUTE_L | SPITZ_SCP_MUTE_R | SPITZ_SCP_JK_A | SPITZ_SCP_ADC_TEMP_ON) | 108 | #define SPITZ_SCP_SUS_CLR (SPITZ_SCP_MUTE_L | SPITZ_SCP_MUTE_R | SPITZ_SCP_JK_A | SPITZ_SCP_ADC_TEMP_ON) |
109 | #define SPITZ_SCP_SUS_SET 0 | 109 | #define SPITZ_SCP_SUS_SET 0 |
110 | 110 | ||
111 | #define SPITZ_SCP_GPIO_BASE (NR_BUILTIN_GPIO) | 111 | #define SPITZ_SCP_GPIO_BASE (PXA_NR_BUILTIN_GPIO) |
112 | #define SPITZ_GPIO_LED_GREEN (SPITZ_SCP_GPIO_BASE + 0) | 112 | #define SPITZ_GPIO_LED_GREEN (SPITZ_SCP_GPIO_BASE + 0) |
113 | #define SPITZ_GPIO_JK_B (SPITZ_SCP_GPIO_BASE + 1) | 113 | #define SPITZ_GPIO_JK_B (SPITZ_SCP_GPIO_BASE + 1) |
114 | #define SPITZ_GPIO_CHRG_ON (SPITZ_SCP_GPIO_BASE + 2) | 114 | #define SPITZ_GPIO_CHRG_ON (SPITZ_SCP_GPIO_BASE + 2) |
@@ -140,7 +140,7 @@ | |||
140 | SPITZ_SCP2_BACKLIGHT_CONT | SPITZ_SCP2_BACKLIGHT_ON | SPITZ_SCP2_MIC_BIAS) | 140 | SPITZ_SCP2_BACKLIGHT_CONT | SPITZ_SCP2_BACKLIGHT_ON | SPITZ_SCP2_MIC_BIAS) |
141 | #define SPITZ_SCP2_SUS_SET (SPITZ_SCP2_IR_ON | SPITZ_SCP2_RESERVED_1) | 141 | #define SPITZ_SCP2_SUS_SET (SPITZ_SCP2_IR_ON | SPITZ_SCP2_RESERVED_1) |
142 | 142 | ||
143 | #define SPITZ_SCP2_GPIO_BASE (NR_BUILTIN_GPIO + 12) | 143 | #define SPITZ_SCP2_GPIO_BASE (PXA_NR_BUILTIN_GPIO + 12) |
144 | #define SPITZ_GPIO_IR_ON (SPITZ_SCP2_GPIO_BASE + 0) | 144 | #define SPITZ_GPIO_IR_ON (SPITZ_SCP2_GPIO_BASE + 0) |
145 | #define SPITZ_GPIO_AKIN_PULLUP (SPITZ_SCP2_GPIO_BASE + 1) | 145 | #define SPITZ_GPIO_AKIN_PULLUP (SPITZ_SCP2_GPIO_BASE + 1) |
146 | #define SPITZ_GPIO_RESERVED_1 (SPITZ_SCP2_GPIO_BASE + 2) | 146 | #define SPITZ_GPIO_RESERVED_1 (SPITZ_SCP2_GPIO_BASE + 2) |
@@ -152,7 +152,7 @@ | |||
152 | #define SPITZ_GPIO_MIC_BIAS (SPITZ_SCP2_GPIO_BASE + 8) | 152 | #define SPITZ_GPIO_MIC_BIAS (SPITZ_SCP2_GPIO_BASE + 8) |
153 | 153 | ||
154 | /* Akita IO Expander GPIOs */ | 154 | /* Akita IO Expander GPIOs */ |
155 | #define AKITA_IOEXP_GPIO_BASE (NR_BUILTIN_GPIO + 12) | 155 | #define AKITA_IOEXP_GPIO_BASE (PXA_NR_BUILTIN_GPIO + 12) |
156 | #define AKITA_GPIO_RESERVED_0 (AKITA_IOEXP_GPIO_BASE + 0) | 156 | #define AKITA_GPIO_RESERVED_0 (AKITA_IOEXP_GPIO_BASE + 0) |
157 | #define AKITA_GPIO_RESERVED_1 (AKITA_IOEXP_GPIO_BASE + 1) | 157 | #define AKITA_GPIO_RESERVED_1 (AKITA_IOEXP_GPIO_BASE + 1) |
158 | #define AKITA_GPIO_MIC_BIAS (AKITA_IOEXP_GPIO_BASE + 2) | 158 | #define AKITA_GPIO_MIC_BIAS (AKITA_IOEXP_GPIO_BASE + 2) |
@@ -164,23 +164,23 @@ | |||
164 | 164 | ||
165 | /* Spitz IRQ Definitions */ | 165 | /* Spitz IRQ Definitions */ |
166 | 166 | ||
167 | #define SPITZ_IRQ_GPIO_KEY_INT IRQ_GPIO(SPITZ_GPIO_KEY_INT) | 167 | #define SPITZ_IRQ_GPIO_KEY_INT PXA_GPIO_TO_IRQ(SPITZ_GPIO_KEY_INT) |
168 | #define SPITZ_IRQ_GPIO_AC_IN IRQ_GPIO(SPITZ_GPIO_AC_IN) | 168 | #define SPITZ_IRQ_GPIO_AC_IN PXA_GPIO_TO_IRQ(SPITZ_GPIO_AC_IN) |
169 | #define SPITZ_IRQ_GPIO_AK_INT IRQ_GPIO(SPITZ_GPIO_AK_INT) | 169 | #define SPITZ_IRQ_GPIO_AK_INT PXA_GPIO_TO_IRQ(SPITZ_GPIO_AK_INT) |
170 | #define SPITZ_IRQ_GPIO_HP_IN IRQ_GPIO(SPITZ_GPIO_HP_IN) | 170 | #define SPITZ_IRQ_GPIO_HP_IN PXA_GPIO_TO_IRQ(SPITZ_GPIO_HP_IN) |
171 | #define SPITZ_IRQ_GPIO_TP_INT IRQ_GPIO(SPITZ_GPIO_TP_INT) | 171 | #define SPITZ_IRQ_GPIO_TP_INT PXA_GPIO_TO_IRQ(SPITZ_GPIO_TP_INT) |
172 | #define SPITZ_IRQ_GPIO_SYNC IRQ_GPIO(SPITZ_GPIO_SYNC) | 172 | #define SPITZ_IRQ_GPIO_SYNC PXA_GPIO_TO_IRQ(SPITZ_GPIO_SYNC) |
173 | #define SPITZ_IRQ_GPIO_ON_KEY IRQ_GPIO(SPITZ_GPIO_ON_KEY) | 173 | #define SPITZ_IRQ_GPIO_ON_KEY PXA_GPIO_TO_IRQ(SPITZ_GPIO_ON_KEY) |
174 | #define SPITZ_IRQ_GPIO_SWA IRQ_GPIO(SPITZ_GPIO_SWA) | 174 | #define SPITZ_IRQ_GPIO_SWA PXA_GPIO_TO_IRQ(SPITZ_GPIO_SWA) |
175 | #define SPITZ_IRQ_GPIO_SWB IRQ_GPIO(SPITZ_GPIO_SWB) | 175 | #define SPITZ_IRQ_GPIO_SWB PXA_GPIO_TO_IRQ(SPITZ_GPIO_SWB) |
176 | #define SPITZ_IRQ_GPIO_BAT_COVER IRQ_GPIO(SPITZ_GPIO_BAT_COVER) | 176 | #define SPITZ_IRQ_GPIO_BAT_COVER PXA_GPIO_TO_IRQ(SPITZ_GPIO_BAT_COVER) |
177 | #define SPITZ_IRQ_GPIO_FATAL_BAT IRQ_GPIO(SPITZ_GPIO_FATAL_BAT) | 177 | #define SPITZ_IRQ_GPIO_FATAL_BAT PXA_GPIO_TO_IRQ(SPITZ_GPIO_FATAL_BAT) |
178 | #define SPITZ_IRQ_GPIO_CO IRQ_GPIO(SPITZ_GPIO_CO) | 178 | #define SPITZ_IRQ_GPIO_CO PXA_GPIO_TO_IRQ(SPITZ_GPIO_CO) |
179 | #define SPITZ_IRQ_GPIO_CF_IRQ IRQ_GPIO(SPITZ_GPIO_CF_IRQ) | 179 | #define SPITZ_IRQ_GPIO_CF_IRQ PXA_GPIO_TO_IRQ(SPITZ_GPIO_CF_IRQ) |
180 | #define SPITZ_IRQ_GPIO_CF_CD IRQ_GPIO(SPITZ_GPIO_CF_CD) | 180 | #define SPITZ_IRQ_GPIO_CF_CD PXA_GPIO_TO_IRQ(SPITZ_GPIO_CF_CD) |
181 | #define SPITZ_IRQ_GPIO_CF2_IRQ IRQ_GPIO(SPITZ_GPIO_CF2_IRQ) | 181 | #define SPITZ_IRQ_GPIO_CF2_IRQ PXA_GPIO_TO_IRQ(SPITZ_GPIO_CF2_IRQ) |
182 | #define SPITZ_IRQ_GPIO_nSD_INT IRQ_GPIO(SPITZ_GPIO_nSD_INT) | 182 | #define SPITZ_IRQ_GPIO_nSD_INT PXA_GPIO_TO_IRQ(SPITZ_GPIO_nSD_INT) |
183 | #define SPITZ_IRQ_GPIO_nSD_DETECT IRQ_GPIO(SPITZ_GPIO_nSD_DETECT) | 183 | #define SPITZ_IRQ_GPIO_nSD_DETECT PXA_GPIO_TO_IRQ(SPITZ_GPIO_nSD_DETECT) |
184 | 184 | ||
185 | /* | 185 | /* |
186 | * Shared data structures | 186 | * Shared data structures |
diff --git a/arch/arm/mach-pxa/include/mach/tosa.h b/arch/arm/mach-pxa/include/mach/tosa.h index 1272c4b56ceb..2bb0e862598c 100644 --- a/arch/arm/mach-pxa/include/mach/tosa.h +++ b/arch/arm/mach-pxa/include/mach/tosa.h | |||
@@ -24,7 +24,7 @@ | |||
24 | /* | 24 | /* |
25 | * SCOOP2 internal GPIOs | 25 | * SCOOP2 internal GPIOs |
26 | */ | 26 | */ |
27 | #define TOSA_SCOOP_GPIO_BASE NR_BUILTIN_GPIO | 27 | #define TOSA_SCOOP_GPIO_BASE PXA_NR_BUILTIN_GPIO |
28 | #define TOSA_SCOOP_PXA_VCORE1 SCOOP_GPCR_PA11 | 28 | #define TOSA_SCOOP_PXA_VCORE1 SCOOP_GPCR_PA11 |
29 | #define TOSA_GPIO_TC6393XB_REST_IN (TOSA_SCOOP_GPIO_BASE + 1) | 29 | #define TOSA_GPIO_TC6393XB_REST_IN (TOSA_SCOOP_GPIO_BASE + 1) |
30 | #define TOSA_GPIO_IR_POWERDWN (TOSA_SCOOP_GPIO_BASE + 2) | 30 | #define TOSA_GPIO_IR_POWERDWN (TOSA_SCOOP_GPIO_BASE + 2) |
@@ -42,7 +42,7 @@ | |||
42 | /* | 42 | /* |
43 | * SCOOP2 jacket GPIOs | 43 | * SCOOP2 jacket GPIOs |
44 | */ | 44 | */ |
45 | #define TOSA_SCOOP_JC_GPIO_BASE (NR_BUILTIN_GPIO + 12) | 45 | #define TOSA_SCOOP_JC_GPIO_BASE (PXA_NR_BUILTIN_GPIO + 12) |
46 | #define TOSA_GPIO_BT_LED (TOSA_SCOOP_JC_GPIO_BASE + 0) | 46 | #define TOSA_GPIO_BT_LED (TOSA_SCOOP_JC_GPIO_BASE + 0) |
47 | #define TOSA_GPIO_NOTE_LED (TOSA_SCOOP_JC_GPIO_BASE + 1) | 47 | #define TOSA_GPIO_NOTE_LED (TOSA_SCOOP_JC_GPIO_BASE + 1) |
48 | #define TOSA_GPIO_CHRG_ERR_LED (TOSA_SCOOP_JC_GPIO_BASE + 2) | 48 | #define TOSA_GPIO_CHRG_ERR_LED (TOSA_SCOOP_JC_GPIO_BASE + 2) |
@@ -59,7 +59,7 @@ | |||
59 | /* | 59 | /* |
60 | * TC6393XB GPIOs | 60 | * TC6393XB GPIOs |
61 | */ | 61 | */ |
62 | #define TOSA_TC6393XB_GPIO_BASE (NR_BUILTIN_GPIO + 2 * 12) | 62 | #define TOSA_TC6393XB_GPIO_BASE (PXA_NR_BUILTIN_GPIO + 2 * 12) |
63 | 63 | ||
64 | #define TOSA_GPIO_TG_ON (TOSA_TC6393XB_GPIO_BASE + 0) | 64 | #define TOSA_GPIO_TG_ON (TOSA_TC6393XB_GPIO_BASE + 0) |
65 | #define TOSA_GPIO_L_MUTE (TOSA_TC6393XB_GPIO_BASE + 1) | 65 | #define TOSA_GPIO_L_MUTE (TOSA_TC6393XB_GPIO_BASE + 1) |
@@ -141,30 +141,30 @@ | |||
141 | /* | 141 | /* |
142 | * Interrupts | 142 | * Interrupts |
143 | */ | 143 | */ |
144 | #define TOSA_IRQ_GPIO_WAKEUP IRQ_GPIO(TOSA_GPIO_WAKEUP) | 144 | #define TOSA_IRQ_GPIO_WAKEUP PXA_GPIO_TO_IRQ(TOSA_GPIO_WAKEUP) |
145 | #define TOSA_IRQ_GPIO_AC_IN IRQ_GPIO(TOSA_GPIO_AC_IN) | 145 | #define TOSA_IRQ_GPIO_AC_IN PXA_GPIO_TO_IRQ(TOSA_GPIO_AC_IN) |
146 | #define TOSA_IRQ_GPIO_RECORD_BTN IRQ_GPIO(TOSA_GPIO_RECORD_BTN) | 146 | #define TOSA_IRQ_GPIO_RECORD_BTN PXA_GPIO_TO_IRQ(TOSA_GPIO_RECORD_BTN) |
147 | #define TOSA_IRQ_GPIO_SYNC IRQ_GPIO(TOSA_GPIO_SYNC) | 147 | #define TOSA_IRQ_GPIO_SYNC PXA_GPIO_TO_IRQ(TOSA_GPIO_SYNC) |
148 | #define TOSA_IRQ_GPIO_USB_IN IRQ_GPIO(TOSA_GPIO_USB_IN) | 148 | #define TOSA_IRQ_GPIO_USB_IN PXA_GPIO_TO_IRQ(TOSA_GPIO_USB_IN) |
149 | #define TOSA_IRQ_GPIO_JACKET_DETECT IRQ_GPIO(TOSA_GPIO_JACKET_DETECT) | 149 | #define TOSA_IRQ_GPIO_JACKET_DETECT PXA_GPIO_TO_IRQ(TOSA_GPIO_JACKET_DETECT) |
150 | #define TOSA_IRQ_GPIO_nSD_INT IRQ_GPIO(TOSA_GPIO_nSD_INT) | 150 | #define TOSA_IRQ_GPIO_nSD_INT PXA_GPIO_TO_IRQ(TOSA_GPIO_nSD_INT) |
151 | #define TOSA_IRQ_GPIO_nSD_DETECT IRQ_GPIO(TOSA_GPIO_nSD_DETECT) | 151 | #define TOSA_IRQ_GPIO_nSD_DETECT PXA_GPIO_TO_IRQ(TOSA_GPIO_nSD_DETECT) |
152 | #define TOSA_IRQ_GPIO_BAT1_CRG IRQ_GPIO(TOSA_GPIO_BAT1_CRG) | 152 | #define TOSA_IRQ_GPIO_BAT1_CRG PXA_GPIO_TO_IRQ(TOSA_GPIO_BAT1_CRG) |
153 | #define TOSA_IRQ_GPIO_CF_CD IRQ_GPIO(TOSA_GPIO_CF_CD) | 153 | #define TOSA_IRQ_GPIO_CF_CD PXA_GPIO_TO_IRQ(TOSA_GPIO_CF_CD) |
154 | #define TOSA_IRQ_GPIO_BAT0_CRG IRQ_GPIO(TOSA_GPIO_BAT0_CRG) | 154 | #define TOSA_IRQ_GPIO_BAT0_CRG PXA_GPIO_TO_IRQ(TOSA_GPIO_BAT0_CRG) |
155 | #define TOSA_IRQ_GPIO_TC6393XB_INT IRQ_GPIO(TOSA_GPIO_TC6393XB_INT) | 155 | #define TOSA_IRQ_GPIO_TC6393XB_INT PXA_GPIO_TO_IRQ(TOSA_GPIO_TC6393XB_INT) |
156 | #define TOSA_IRQ_GPIO_BAT0_LOW IRQ_GPIO(TOSA_GPIO_BAT0_LOW) | 156 | #define TOSA_IRQ_GPIO_BAT0_LOW PXA_GPIO_TO_IRQ(TOSA_GPIO_BAT0_LOW) |
157 | #define TOSA_IRQ_GPIO_EAR_IN IRQ_GPIO(TOSA_GPIO_EAR_IN) | 157 | #define TOSA_IRQ_GPIO_EAR_IN PXA_GPIO_TO_IRQ(TOSA_GPIO_EAR_IN) |
158 | #define TOSA_IRQ_GPIO_CF_IRQ IRQ_GPIO(TOSA_GPIO_CF_IRQ) | 158 | #define TOSA_IRQ_GPIO_CF_IRQ PXA_GPIO_TO_IRQ(TOSA_GPIO_CF_IRQ) |
159 | #define TOSA_IRQ_GPIO_ON_KEY IRQ_GPIO(TOSA_GPIO_ON_KEY) | 159 | #define TOSA_IRQ_GPIO_ON_KEY PXA_GPIO_TO_IRQ(TOSA_GPIO_ON_KEY) |
160 | #define TOSA_IRQ_GPIO_VGA_LINE IRQ_GPIO(TOSA_GPIO_VGA_LINE) | 160 | #define TOSA_IRQ_GPIO_VGA_LINE PXA_GPIO_TO_IRQ(TOSA_GPIO_VGA_LINE) |
161 | #define TOSA_IRQ_GPIO_TP_INT IRQ_GPIO(TOSA_GPIO_TP_INT) | 161 | #define TOSA_IRQ_GPIO_TP_INT PXA_GPIO_TO_IRQ(TOSA_GPIO_TP_INT) |
162 | #define TOSA_IRQ_GPIO_JC_CF_IRQ IRQ_GPIO(TOSA_GPIO_JC_CF_IRQ) | 162 | #define TOSA_IRQ_GPIO_JC_CF_IRQ PXA_GPIO_TO_IRQ(TOSA_GPIO_JC_CF_IRQ) |
163 | #define TOSA_IRQ_GPIO_BAT_LOCKED IRQ_GPIO(TOSA_GPIO_BAT_LOCKED) | 163 | #define TOSA_IRQ_GPIO_BAT_LOCKED PXA_GPIO_TO_IRQ(TOSA_GPIO_BAT_LOCKED) |
164 | #define TOSA_IRQ_GPIO_BAT1_LOW IRQ_GPIO(TOSA_GPIO_BAT1_LOW) | 164 | #define TOSA_IRQ_GPIO_BAT1_LOW PXA_GPIO_TO_IRQ(TOSA_GPIO_BAT1_LOW) |
165 | #define TOSA_IRQ_GPIO_KEY_SENSE(a) IRQ_GPIO(69+(a)) | 165 | #define TOSA_IRQ_GPIO_KEY_SENSE(a) PXA_GPIO_TO_IRQ(69+(a)) |
166 | 166 | ||
167 | #define TOSA_IRQ_GPIO_MAIN_BAT_LOW IRQ_GPIO(TOSA_GPIO_MAIN_BAT_LOW) | 167 | #define TOSA_IRQ_GPIO_MAIN_BAT_LOW PXA_GPIO_TO_IRQ(TOSA_GPIO_MAIN_BAT_LOW) |
168 | 168 | ||
169 | #define TOSA_KEY_SYNC KEY_102ND /* ??? */ | 169 | #define TOSA_KEY_SYNC KEY_102ND /* ??? */ |
170 | 170 | ||
diff --git a/arch/arm/mach-pxa/include/mach/trizeps4.h b/arch/arm/mach-pxa/include/mach/trizeps4.h index 903e1a2e6641..d2ca01053f69 100644 --- a/arch/arm/mach-pxa/include/mach/trizeps4.h +++ b/arch/arm/mach-pxa/include/mach/trizeps4.h | |||
@@ -43,30 +43,30 @@ | |||
43 | 43 | ||
44 | /* Ethernet Controller Davicom DM9000 */ | 44 | /* Ethernet Controller Davicom DM9000 */ |
45 | #define GPIO_DM9000 101 | 45 | #define GPIO_DM9000 101 |
46 | #define TRIZEPS4_ETH_IRQ IRQ_GPIO(GPIO_DM9000) | 46 | #define TRIZEPS4_ETH_IRQ PXA_GPIO_TO_IRQ(GPIO_DM9000) |
47 | 47 | ||
48 | /* UCB1400 audio / TS-controller */ | 48 | /* UCB1400 audio / TS-controller */ |
49 | #define GPIO_UCB1400 1 | 49 | #define GPIO_UCB1400 1 |
50 | #define TRIZEPS4_UCB1400_IRQ IRQ_GPIO(GPIO_UCB1400) | 50 | #define TRIZEPS4_UCB1400_IRQ PXA_GPIO_TO_IRQ(GPIO_UCB1400) |
51 | 51 | ||
52 | /* PCMCIA socket Compact Flash */ | 52 | /* PCMCIA socket Compact Flash */ |
53 | #define GPIO_PCD 11 /* PCMCIA Card Detect */ | 53 | #define GPIO_PCD 11 /* PCMCIA Card Detect */ |
54 | #define TRIZEPS4_CD_IRQ IRQ_GPIO(GPIO_PCD) | 54 | #define TRIZEPS4_CD_IRQ PXA_GPIO_TO_IRQ(GPIO_PCD) |
55 | #define GPIO_PRDY 13 /* READY / nINT */ | 55 | #define GPIO_PRDY 13 /* READY / nINT */ |
56 | #define TRIZEPS4_READY_NINT IRQ_GPIO(GPIO_PRDY) | 56 | #define TRIZEPS4_READY_NINT PXA_GPIO_TO_IRQ(GPIO_PRDY) |
57 | 57 | ||
58 | /* MMC socket */ | 58 | /* MMC socket */ |
59 | #define GPIO_MMC_DET 12 | 59 | #define GPIO_MMC_DET 12 |
60 | #define TRIZEPS4_MMC_IRQ IRQ_GPIO(GPIO_MMC_DET) | 60 | #define TRIZEPS4_MMC_IRQ PXA_GPIO_TO_IRQ(GPIO_MMC_DET) |
61 | 61 | ||
62 | /* DOC NAND chip */ | 62 | /* DOC NAND chip */ |
63 | #define GPIO_DOC_LOCK 94 | 63 | #define GPIO_DOC_LOCK 94 |
64 | #define GPIO_DOC_IRQ 93 | 64 | #define GPIO_DOC_IRQ 93 |
65 | #define TRIZEPS4_DOC_IRQ IRQ_GPIO(GPIO_DOC_IRQ) | 65 | #define TRIZEPS4_DOC_IRQ PXA_GPIO_TO_IRQ(GPIO_DOC_IRQ) |
66 | 66 | ||
67 | /* SPI interface */ | 67 | /* SPI interface */ |
68 | #define GPIO_SPI 53 | 68 | #define GPIO_SPI 53 |
69 | #define TRIZEPS4_SPI_IRQ IRQ_GPIO(GPIO_SPI) | 69 | #define TRIZEPS4_SPI_IRQ PXA_GPIO_TO_IRQ(GPIO_SPI) |
70 | 70 | ||
71 | /* LEDS using tx2 / rx2 */ | 71 | /* LEDS using tx2 / rx2 */ |
72 | #define GPIO_SYS_BUSY_LED 46 | 72 | #define GPIO_SYS_BUSY_LED 46 |
@@ -74,7 +74,7 @@ | |||
74 | 74 | ||
75 | /* Off-module PIC on ConXS board */ | 75 | /* Off-module PIC on ConXS board */ |
76 | #define GPIO_PIC 0 | 76 | #define GPIO_PIC 0 |
77 | #define TRIZEPS4_PIC_IRQ IRQ_GPIO(GPIO_PIC) | 77 | #define TRIZEPS4_PIC_IRQ PXA_GPIO_TO_IRQ(GPIO_PIC) |
78 | 78 | ||
79 | #ifdef CONFIG_MACH_TRIZEPS_CONXS | 79 | #ifdef CONFIG_MACH_TRIZEPS_CONXS |
80 | /* for CONXS base board define these registers */ | 80 | /* for CONXS base board define these registers */ |
diff --git a/arch/arm/mach-pxa/irq.c b/arch/arm/mach-pxa/irq.c index 532c5d3a97d2..5dae15ea6718 100644 --- a/arch/arm/mach-pxa/irq.c +++ b/arch/arm/mach-pxa/irq.c | |||
@@ -22,7 +22,6 @@ | |||
22 | 22 | ||
23 | #include <mach/hardware.h> | 23 | #include <mach/hardware.h> |
24 | #include <mach/irqs.h> | 24 | #include <mach/irqs.h> |
25 | #include <mach/gpio-pxa.h> | ||
26 | 25 | ||
27 | #include "generic.h" | 26 | #include "generic.h" |
28 | 27 | ||
@@ -92,44 +91,6 @@ static struct irq_chip pxa_internal_irq_chip = { | |||
92 | .irq_unmask = pxa_unmask_irq, | 91 | .irq_unmask = pxa_unmask_irq, |
93 | }; | 92 | }; |
94 | 93 | ||
95 | /* | ||
96 | * GPIO IRQs for GPIO 0 and 1 | ||
97 | */ | ||
98 | static int pxa_set_low_gpio_type(struct irq_data *d, unsigned int type) | ||
99 | { | ||
100 | int gpio = d->irq - IRQ_GPIO0; | ||
101 | |||
102 | if (__gpio_is_occupied(gpio)) { | ||
103 | pr_err("%s failed: GPIO is configured\n", __func__); | ||
104 | return -EINVAL; | ||
105 | } | ||
106 | |||
107 | if (type & IRQ_TYPE_EDGE_RISING) | ||
108 | GRER0 |= GPIO_bit(gpio); | ||
109 | else | ||
110 | GRER0 &= ~GPIO_bit(gpio); | ||
111 | |||
112 | if (type & IRQ_TYPE_EDGE_FALLING) | ||
113 | GFER0 |= GPIO_bit(gpio); | ||
114 | else | ||
115 | GFER0 &= ~GPIO_bit(gpio); | ||
116 | |||
117 | return 0; | ||
118 | } | ||
119 | |||
120 | static void pxa_ack_low_gpio(struct irq_data *d) | ||
121 | { | ||
122 | GEDR0 = (1 << (d->irq - IRQ_GPIO0)); | ||
123 | } | ||
124 | |||
125 | static struct irq_chip pxa_low_gpio_chip = { | ||
126 | .name = "GPIO-l", | ||
127 | .irq_ack = pxa_ack_low_gpio, | ||
128 | .irq_mask = pxa_mask_irq, | ||
129 | .irq_unmask = pxa_unmask_irq, | ||
130 | .irq_set_type = pxa_set_low_gpio_type, | ||
131 | }; | ||
132 | |||
133 | asmlinkage void __exception_irq_entry icip_handle_irq(struct pt_regs *regs) | 94 | asmlinkage void __exception_irq_entry icip_handle_irq(struct pt_regs *regs) |
134 | { | 95 | { |
135 | uint32_t icip, icmr, mask; | 96 | uint32_t icip, icmr, mask; |
@@ -160,26 +121,7 @@ asmlinkage void __exception_irq_entry ichp_handle_irq(struct pt_regs *regs) | |||
160 | } while (1); | 121 | } while (1); |
161 | } | 122 | } |
162 | 123 | ||
163 | static void __init pxa_init_low_gpio_irq(set_wake_t fn) | 124 | void __init pxa_init_irq(int irq_nr, int (*fn)(struct irq_data *, unsigned int)) |
164 | { | ||
165 | int irq; | ||
166 | |||
167 | /* clear edge detection on GPIO 0 and 1 */ | ||
168 | GFER0 &= ~0x3; | ||
169 | GRER0 &= ~0x3; | ||
170 | GEDR0 = 0x3; | ||
171 | |||
172 | for (irq = IRQ_GPIO0; irq <= IRQ_GPIO1; irq++) { | ||
173 | irq_set_chip_and_handler(irq, &pxa_low_gpio_chip, | ||
174 | handle_edge_irq); | ||
175 | irq_set_chip_data(irq, irq_base(0)); | ||
176 | set_irq_flags(irq, IRQF_VALID); | ||
177 | } | ||
178 | |||
179 | pxa_low_gpio_chip.irq_set_wake = fn; | ||
180 | } | ||
181 | |||
182 | void __init pxa_init_irq(int irq_nr, set_wake_t fn) | ||
183 | { | 125 | { |
184 | int irq, i, n; | 126 | int irq, i, n; |
185 | 127 | ||
@@ -209,7 +151,6 @@ void __init pxa_init_irq(int irq_nr, set_wake_t fn) | |||
209 | __raw_writel(1, irq_base(0) + ICCR); | 151 | __raw_writel(1, irq_base(0) + ICCR); |
210 | 152 | ||
211 | pxa_internal_irq_chip.irq_set_wake = fn; | 153 | pxa_internal_irq_chip.irq_set_wake = fn; |
212 | pxa_init_low_gpio_irq(fn); | ||
213 | } | 154 | } |
214 | 155 | ||
215 | #ifdef CONFIG_PM | 156 | #ifdef CONFIG_PM |
diff --git a/arch/arm/mach-pxa/littleton.c b/arch/arm/mach-pxa/littleton.c index c337c7eed514..1fb86edb857c 100644 --- a/arch/arm/mach-pxa/littleton.c +++ b/arch/arm/mach-pxa/littleton.c | |||
@@ -124,8 +124,8 @@ static struct resource smc91x_resources[] = { | |||
124 | .flags = IORESOURCE_MEM, | 124 | .flags = IORESOURCE_MEM, |
125 | }, | 125 | }, |
126 | [1] = { | 126 | [1] = { |
127 | .start = IRQ_GPIO(mfp_to_gpio(MFP_PIN_GPIO90)), | 127 | .start = PXA_GPIO_TO_IRQ(mfp_to_gpio(MFP_PIN_GPIO90)), |
128 | .end = IRQ_GPIO(mfp_to_gpio(MFP_PIN_GPIO90)), | 128 | .end = PXA_GPIO_TO_IRQ(mfp_to_gpio(MFP_PIN_GPIO90)), |
129 | .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_LOWEDGE, | 129 | .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_LOWEDGE, |
130 | } | 130 | } |
131 | }; | 131 | }; |
@@ -396,7 +396,7 @@ static struct i2c_board_info littleton_i2c_info[] = { | |||
396 | .type = "da9034", | 396 | .type = "da9034", |
397 | .addr = 0x34, | 397 | .addr = 0x34, |
398 | .platform_data = &littleton_da9034_info, | 398 | .platform_data = &littleton_da9034_info, |
399 | .irq = gpio_to_irq(mfp_to_gpio(MFP_PIN_GPIO18)), | 399 | .irq = PXA_GPIO_TO_IRQ(mfp_to_gpio(MFP_PIN_GPIO18)), |
400 | }, | 400 | }, |
401 | [1] = { | 401 | [1] = { |
402 | .type = "max7320", | 402 | .type = "max7320", |
diff --git a/arch/arm/mach-pxa/lpd270.c b/arch/arm/mach-pxa/lpd270.c index 6119c015f393..cee9ce2fc0b5 100644 --- a/arch/arm/mach-pxa/lpd270.c +++ b/arch/arm/mach-pxa/lpd270.c | |||
@@ -152,8 +152,8 @@ static void __init lpd270_init_irq(void) | |||
152 | handle_level_irq); | 152 | handle_level_irq); |
153 | set_irq_flags(irq, IRQF_VALID | IRQF_PROBE); | 153 | set_irq_flags(irq, IRQF_VALID | IRQF_PROBE); |
154 | } | 154 | } |
155 | irq_set_chained_handler(IRQ_GPIO(0), lpd270_irq_handler); | 155 | irq_set_chained_handler(PXA_GPIO_TO_IRQ(0), lpd270_irq_handler); |
156 | irq_set_irq_type(IRQ_GPIO(0), IRQ_TYPE_EDGE_FALLING); | 156 | irq_set_irq_type(PXA_GPIO_TO_IRQ(0), IRQ_TYPE_EDGE_FALLING); |
157 | } | 157 | } |
158 | 158 | ||
159 | 159 | ||
diff --git a/arch/arm/mach-pxa/lubbock.c b/arch/arm/mach-pxa/lubbock.c index 4b7a52871652..6ebd276aebeb 100644 --- a/arch/arm/mach-pxa/lubbock.c +++ b/arch/arm/mach-pxa/lubbock.c | |||
@@ -170,8 +170,8 @@ static void __init lubbock_init_irq(void) | |||
170 | set_irq_flags(irq, IRQF_VALID | IRQF_PROBE); | 170 | set_irq_flags(irq, IRQF_VALID | IRQF_PROBE); |
171 | } | 171 | } |
172 | 172 | ||
173 | irq_set_chained_handler(IRQ_GPIO(0), lubbock_irq_handler); | 173 | irq_set_chained_handler(PXA_GPIO_TO_IRQ(0), lubbock_irq_handler); |
174 | irq_set_irq_type(IRQ_GPIO(0), IRQ_TYPE_EDGE_FALLING); | 174 | irq_set_irq_type(PXA_GPIO_TO_IRQ(0), IRQ_TYPE_EDGE_FALLING); |
175 | } | 175 | } |
176 | 176 | ||
177 | #ifdef CONFIG_PM | 177 | #ifdef CONFIG_PM |
diff --git a/arch/arm/mach-pxa/magician.c b/arch/arm/mach-pxa/magician.c index 4e6774fff422..3d6baf91396c 100644 --- a/arch/arm/mach-pxa/magician.c +++ b/arch/arm/mach-pxa/magician.c | |||
@@ -184,8 +184,8 @@ static struct resource egpio_resources[] = { | |||
184 | .flags = IORESOURCE_MEM, | 184 | .flags = IORESOURCE_MEM, |
185 | }, | 185 | }, |
186 | [1] = { | 186 | [1] = { |
187 | .start = gpio_to_irq(GPIO13_MAGICIAN_CPLD_IRQ), | 187 | .start = PXA_GPIO_TO_IRQ(GPIO13_MAGICIAN_CPLD_IRQ), |
188 | .end = gpio_to_irq(GPIO13_MAGICIAN_CPLD_IRQ), | 188 | .end = PXA_GPIO_TO_IRQ(GPIO13_MAGICIAN_CPLD_IRQ), |
189 | .flags = IORESOURCE_IRQ, | 189 | .flags = IORESOURCE_IRQ, |
190 | }, | 190 | }, |
191 | }; | 191 | }; |
@@ -468,8 +468,8 @@ static struct resource pasic3_resources[] = { | |||
468 | }, | 468 | }, |
469 | /* No IRQ handler in the PASIC3, DS1WM needs an external IRQ */ | 469 | /* No IRQ handler in the PASIC3, DS1WM needs an external IRQ */ |
470 | [1] = { | 470 | [1] = { |
471 | .start = gpio_to_irq(GPIO107_MAGICIAN_DS1WM_IRQ), | 471 | .start = PXA_GPIO_TO_IRQ(GPIO107_MAGICIAN_DS1WM_IRQ), |
472 | .end = gpio_to_irq(GPIO107_MAGICIAN_DS1WM_IRQ), | 472 | .end = PXA_GPIO_TO_IRQ(GPIO107_MAGICIAN_DS1WM_IRQ), |
473 | .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHEDGE, | 473 | .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHEDGE, |
474 | } | 474 | } |
475 | }; | 475 | }; |
diff --git a/arch/arm/mach-pxa/mainstone.c b/arch/arm/mach-pxa/mainstone.c index ca14555d5e15..1aebaf719462 100644 --- a/arch/arm/mach-pxa/mainstone.c +++ b/arch/arm/mach-pxa/mainstone.c | |||
@@ -178,8 +178,8 @@ static void __init mainstone_init_irq(void) | |||
178 | MST_INTMSKENA = 0; | 178 | MST_INTMSKENA = 0; |
179 | MST_INTSETCLR = 0; | 179 | MST_INTSETCLR = 0; |
180 | 180 | ||
181 | irq_set_chained_handler(IRQ_GPIO(0), mainstone_irq_handler); | 181 | irq_set_chained_handler(PXA_GPIO_TO_IRQ(0), mainstone_irq_handler); |
182 | irq_set_irq_type(IRQ_GPIO(0), IRQ_TYPE_EDGE_FALLING); | 182 | irq_set_irq_type(PXA_GPIO_TO_IRQ(0), IRQ_TYPE_EDGE_FALLING); |
183 | } | 183 | } |
184 | 184 | ||
185 | #ifdef CONFIG_PM | 185 | #ifdef CONFIG_PM |
diff --git a/arch/arm/mach-pxa/mfp-pxa2xx.c b/arch/arm/mach-pxa/mfp-pxa2xx.c index 43a5f6861ca3..f14775536b83 100644 --- a/arch/arm/mach-pxa/mfp-pxa2xx.c +++ b/arch/arm/mach-pxa/mfp-pxa2xx.c | |||
@@ -13,6 +13,7 @@ | |||
13 | * published by the Free Software Foundation. | 13 | * published by the Free Software Foundation. |
14 | */ | 14 | */ |
15 | #include <linux/gpio.h> | 15 | #include <linux/gpio.h> |
16 | #include <linux/gpio-pxa.h> | ||
16 | #include <linux/module.h> | 17 | #include <linux/module.h> |
17 | #include <linux/kernel.h> | 18 | #include <linux/kernel.h> |
18 | #include <linux/init.h> | 19 | #include <linux/init.h> |
@@ -20,7 +21,6 @@ | |||
20 | 21 | ||
21 | #include <mach/pxa2xx-regs.h> | 22 | #include <mach/pxa2xx-regs.h> |
22 | #include <mach/mfp-pxa2xx.h> | 23 | #include <mach/mfp-pxa2xx.h> |
23 | #include <mach/gpio-pxa.h> | ||
24 | 24 | ||
25 | #include "generic.h" | 25 | #include "generic.h" |
26 | 26 | ||
@@ -29,6 +29,10 @@ | |||
29 | #define GAFR_L(x) __GAFR(0, x) | 29 | #define GAFR_L(x) __GAFR(0, x) |
30 | #define GAFR_U(x) __GAFR(1, x) | 30 | #define GAFR_U(x) __GAFR(1, x) |
31 | 31 | ||
32 | #define BANK_OFF(n) (((n) < 3) ? (n) << 2 : 0x100 + (((n) - 3) << 2)) | ||
33 | #define GPLR(x) __REG2(0x40E00000, BANK_OFF((x) >> 5)) | ||
34 | #define GPDR(x) __REG2(0x40E00000, BANK_OFF((x) >> 5) + 0x0c) | ||
35 | |||
32 | #define PWER_WE35 (1 << 24) | 36 | #define PWER_WE35 (1 << 24) |
33 | 37 | ||
34 | struct gpio_desc { | 38 | struct gpio_desc { |
diff --git a/arch/arm/mach-pxa/mioa701.c b/arch/arm/mach-pxa/mioa701.c index 924a3b5f8da6..e80a3db735c2 100644 --- a/arch/arm/mach-pxa/mioa701.c +++ b/arch/arm/mach-pxa/mioa701.c | |||
@@ -53,6 +53,7 @@ | |||
53 | #include <mach/pxa27x-udc.h> | 53 | #include <mach/pxa27x-udc.h> |
54 | #include <mach/camera.h> | 54 | #include <mach/camera.h> |
55 | #include <mach/audio.h> | 55 | #include <mach/audio.h> |
56 | #include <mach/smemc.h> | ||
56 | #include <media/soc_camera.h> | 57 | #include <media/soc_camera.h> |
57 | 58 | ||
58 | #include <mach/mioa701.h> | 59 | #include <mach/mioa701.h> |
@@ -390,24 +391,19 @@ static struct pxamci_platform_data mioa701_mci_info = { | |||
390 | }; | 391 | }; |
391 | 392 | ||
392 | /* FlashRAM */ | 393 | /* FlashRAM */ |
393 | static struct resource strataflash_resource = { | 394 | static struct resource docg3_resource = { |
394 | .start = PXA_CS0_PHYS, | 395 | .start = PXA_CS0_PHYS, |
395 | .end = PXA_CS0_PHYS + SZ_64M - 1, | 396 | .end = PXA_CS0_PHYS + SZ_8K - 1, |
396 | .flags = IORESOURCE_MEM, | 397 | .flags = IORESOURCE_MEM, |
397 | }; | 398 | }; |
398 | 399 | ||
399 | static struct physmap_flash_data strataflash_data = { | 400 | static struct platform_device docg3 = { |
400 | .width = 2, | 401 | .name = "docg3", |
401 | /* .set_vpp = mioa701_set_vpp, */ | ||
402 | }; | ||
403 | |||
404 | static struct platform_device strataflash = { | ||
405 | .name = "physmap-flash", | ||
406 | .id = -1, | 402 | .id = -1, |
407 | .resource = &strataflash_resource, | 403 | .resource = &docg3_resource, |
408 | .num_resources = 1, | 404 | .num_resources = 1, |
409 | .dev = { | 405 | .dev = { |
410 | .platform_data = &strataflash_data, | 406 | .platform_data = NULL, |
411 | }, | 407 | }, |
412 | }; | 408 | }; |
413 | 409 | ||
@@ -541,15 +537,15 @@ static struct pda_power_pdata power_pdata = { | |||
541 | static struct resource power_resources[] = { | 537 | static struct resource power_resources[] = { |
542 | [0] = { | 538 | [0] = { |
543 | .name = "ac", | 539 | .name = "ac", |
544 | .start = gpio_to_irq(GPIO96_AC_DETECT), | 540 | .start = PXA_GPIO_TO_IRQ(GPIO96_AC_DETECT), |
545 | .end = gpio_to_irq(GPIO96_AC_DETECT), | 541 | .end = PXA_GPIO_TO_IRQ(GPIO96_AC_DETECT), |
546 | .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHEDGE | | 542 | .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHEDGE | |
547 | IORESOURCE_IRQ_LOWEDGE, | 543 | IORESOURCE_IRQ_LOWEDGE, |
548 | }, | 544 | }, |
549 | [1] = { | 545 | [1] = { |
550 | .name = "usb", | 546 | .name = "usb", |
551 | .start = gpio_to_irq(GPIO13_nUSB_DETECT), | 547 | .start = PXA_GPIO_TO_IRQ(GPIO13_nUSB_DETECT), |
552 | .end = gpio_to_irq(GPIO13_nUSB_DETECT), | 548 | .end = PXA_GPIO_TO_IRQ(GPIO13_nUSB_DETECT), |
553 | .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHEDGE | | 549 | .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHEDGE | |
554 | IORESOURCE_IRQ_LOWEDGE, | 550 | IORESOURCE_IRQ_LOWEDGE, |
555 | }, | 551 | }, |
@@ -685,7 +681,7 @@ static struct platform_device *devices[] __initdata = { | |||
685 | &pxa2xx_pcm, | 681 | &pxa2xx_pcm, |
686 | &mioa701_sound, | 682 | &mioa701_sound, |
687 | &power_dev, | 683 | &power_dev, |
688 | &strataflash, | 684 | &docg3, |
689 | &gpio_vbus, | 685 | &gpio_vbus, |
690 | &mioa701_camera, | 686 | &mioa701_camera, |
691 | &mioa701_board, | 687 | &mioa701_board, |
@@ -720,6 +716,15 @@ static void __init mioa701_machine_init(void) | |||
720 | RTTR = 32768 - 1; /* Reset crazy WinCE value */ | 716 | RTTR = 32768 - 1; /* Reset crazy WinCE value */ |
721 | UP2OCR = UP2OCR_HXOE; | 717 | UP2OCR = UP2OCR_HXOE; |
722 | 718 | ||
719 | /* | ||
720 | * Set up the flash memory : DiskOnChip G3 on first static memory bank | ||
721 | */ | ||
722 | __raw_writel(0x7ff02dd8, MSC0); | ||
723 | __raw_writel(0x0001c391, MCMEM0); | ||
724 | __raw_writel(0x0001c391, MCATT0); | ||
725 | __raw_writel(0x0001c391, MCIO0); | ||
726 | |||
727 | |||
723 | pxa2xx_mfp_config(ARRAY_AND_SIZE(mioa701_pin_config)); | 728 | pxa2xx_mfp_config(ARRAY_AND_SIZE(mioa701_pin_config)); |
724 | pxa_set_ffuart_info(NULL); | 729 | pxa_set_ffuart_info(NULL); |
725 | pxa_set_btuart_info(NULL); | 730 | pxa_set_btuart_info(NULL); |
diff --git a/arch/arm/mach-pxa/mxm8x10.c b/arch/arm/mach-pxa/mxm8x10.c index 90928d6e1a5b..83570a79e7d2 100644 --- a/arch/arm/mach-pxa/mxm8x10.c +++ b/arch/arm/mach-pxa/mxm8x10.c | |||
@@ -417,8 +417,8 @@ static struct resource dm9k_resources[] = { | |||
417 | .flags = IORESOURCE_MEM | 417 | .flags = IORESOURCE_MEM |
418 | }, | 418 | }, |
419 | [2] = { | 419 | [2] = { |
420 | .start = gpio_to_irq(mfp_to_gpio(MFP_PIN_GPIO9)), | 420 | .start = PXA_GPIO_TO_IRQ(mfp_to_gpio(MFP_PIN_GPIO9)), |
421 | .end = gpio_to_irq(mfp_to_gpio(MFP_PIN_GPIO9)), | 421 | .end = PXA_GPIO_TO_IRQ(mfp_to_gpio(MFP_PIN_GPIO9)), |
422 | .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHEDGE | 422 | .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHEDGE |
423 | } | 423 | } |
424 | }; | 424 | }; |
diff --git a/arch/arm/mach-pxa/pcm990-baseboard.c b/arch/arm/mach-pxa/pcm990-baseboard.c index 6d38c6548b3d..abab4e2b122c 100644 --- a/arch/arm/mach-pxa/pcm990-baseboard.c +++ b/arch/arm/mach-pxa/pcm990-baseboard.c | |||
@@ -378,7 +378,7 @@ struct pxacamera_platform_data pcm990_pxacamera_platform_data = { | |||
378 | #include <linux/i2c/pca953x.h> | 378 | #include <linux/i2c/pca953x.h> |
379 | 379 | ||
380 | static struct pca953x_platform_data pca9536_data = { | 380 | static struct pca953x_platform_data pca9536_data = { |
381 | .gpio_base = NR_BUILTIN_GPIO, | 381 | .gpio_base = PXA_NR_BUILTIN_GPIO, |
382 | }; | 382 | }; |
383 | 383 | ||
384 | static int gpio_bus_switch = -EINVAL; | 384 | static int gpio_bus_switch = -EINVAL; |
@@ -406,9 +406,9 @@ static unsigned long pcm990_camera_query_bus_param(struct soc_camera_link *link) | |||
406 | int ret; | 406 | int ret; |
407 | 407 | ||
408 | if (gpio_bus_switch < 0) { | 408 | if (gpio_bus_switch < 0) { |
409 | ret = gpio_request(NR_BUILTIN_GPIO, "camera"); | 409 | ret = gpio_request(PXA_NR_BUILTIN_GPIO, "camera"); |
410 | if (!ret) { | 410 | if (!ret) { |
411 | gpio_bus_switch = NR_BUILTIN_GPIO; | 411 | gpio_bus_switch = PXA_NR_BUILTIN_GPIO; |
412 | gpio_direction_output(gpio_bus_switch, 0); | 412 | gpio_direction_output(gpio_bus_switch, 0); |
413 | } | 413 | } |
414 | } | 414 | } |
diff --git a/arch/arm/mach-pxa/poodle.c b/arch/arm/mach-pxa/poodle.c index b260ce872d2d..744baee12c0c 100644 --- a/arch/arm/mach-pxa/poodle.c +++ b/arch/arm/mach-pxa/poodle.c | |||
@@ -158,6 +158,11 @@ static struct scoop_pcmcia_config poodle_pcmcia_config = { | |||
158 | EXPORT_SYMBOL(poodle_scoop_device); | 158 | EXPORT_SYMBOL(poodle_scoop_device); |
159 | 159 | ||
160 | 160 | ||
161 | static struct platform_device poodle_audio_device = { | ||
162 | .name = "poodle-audio", | ||
163 | .id = -1, | ||
164 | }; | ||
165 | |||
161 | /* LoCoMo device */ | 166 | /* LoCoMo device */ |
162 | static struct resource locomo_resources[] = { | 167 | static struct resource locomo_resources[] = { |
163 | [0] = { | 168 | [0] = { |
@@ -166,8 +171,8 @@ static struct resource locomo_resources[] = { | |||
166 | .flags = IORESOURCE_MEM, | 171 | .flags = IORESOURCE_MEM, |
167 | }, | 172 | }, |
168 | [1] = { | 173 | [1] = { |
169 | .start = IRQ_GPIO(10), | 174 | .start = PXA_GPIO_TO_IRQ(10), |
170 | .end = IRQ_GPIO(10), | 175 | .end = PXA_GPIO_TO_IRQ(10), |
171 | .flags = IORESOURCE_IRQ, | 176 | .flags = IORESOURCE_IRQ, |
172 | }, | 177 | }, |
173 | }; | 178 | }; |
@@ -212,7 +217,7 @@ static struct spi_board_info poodle_spi_devices[] = { | |||
212 | .bus_num = 1, | 217 | .bus_num = 1, |
213 | .platform_data = &poodle_ads7846_info, | 218 | .platform_data = &poodle_ads7846_info, |
214 | .controller_data= &poodle_ads7846_chip, | 219 | .controller_data= &poodle_ads7846_chip, |
215 | .irq = gpio_to_irq(POODLE_GPIO_TP_INT), | 220 | .irq = PXA_GPIO_TO_IRQ(POODLE_GPIO_TP_INT), |
216 | }, | 221 | }, |
217 | }; | 222 | }; |
218 | 223 | ||
@@ -407,6 +412,7 @@ static struct platform_device sharpsl_rom_device = { | |||
407 | static struct platform_device *devices[] __initdata = { | 412 | static struct platform_device *devices[] __initdata = { |
408 | &poodle_locomo_device, | 413 | &poodle_locomo_device, |
409 | &poodle_scoop_device, | 414 | &poodle_scoop_device, |
415 | &poodle_audio_device, | ||
410 | &sharpsl_nand_device, | 416 | &sharpsl_nand_device, |
411 | &sharpsl_rom_device, | 417 | &sharpsl_rom_device, |
412 | }; | 418 | }; |
diff --git a/arch/arm/mach-pxa/pxa25x.c b/arch/arm/mach-pxa/pxa25x.c index f05f9486b0cb..adf058fa97ee 100644 --- a/arch/arm/mach-pxa/pxa25x.c +++ b/arch/arm/mach-pxa/pxa25x.c | |||
@@ -17,6 +17,7 @@ | |||
17 | * need be. | 17 | * need be. |
18 | */ | 18 | */ |
19 | #include <linux/gpio.h> | 19 | #include <linux/gpio.h> |
20 | #include <linux/gpio-pxa.h> | ||
20 | #include <linux/module.h> | 21 | #include <linux/module.h> |
21 | #include <linux/kernel.h> | 22 | #include <linux/kernel.h> |
22 | #include <linux/init.h> | 23 | #include <linux/init.h> |
@@ -208,6 +209,8 @@ static struct clk_lookup pxa25x_clkregs[] = { | |||
208 | INIT_CLKREG(&clk_pxa25x_gpio11, NULL, "GPIO11_CLK"), | 209 | INIT_CLKREG(&clk_pxa25x_gpio11, NULL, "GPIO11_CLK"), |
209 | INIT_CLKREG(&clk_pxa25x_gpio12, NULL, "GPIO12_CLK"), | 210 | INIT_CLKREG(&clk_pxa25x_gpio12, NULL, "GPIO12_CLK"), |
210 | INIT_CLKREG(&clk_pxa25x_mem, "pxa2xx-pcmcia", NULL), | 211 | INIT_CLKREG(&clk_pxa25x_mem, "pxa2xx-pcmcia", NULL), |
212 | INIT_CLKREG(&clk_dummy, "pxa-gpio", NULL), | ||
213 | INIT_CLKREG(&clk_dummy, "sa1100-rtc", NULL), | ||
211 | }; | 214 | }; |
212 | 215 | ||
213 | static struct clk_lookup pxa25x_hwuart_clkreg = | 216 | static struct clk_lookup pxa25x_hwuart_clkreg = |
@@ -287,7 +290,7 @@ static inline void pxa25x_init_pm(void) {} | |||
287 | 290 | ||
288 | static int pxa25x_set_wake(struct irq_data *d, unsigned int on) | 291 | static int pxa25x_set_wake(struct irq_data *d, unsigned int on) |
289 | { | 292 | { |
290 | int gpio = irq_to_gpio(d->irq); | 293 | int gpio = pxa_irq_to_gpio(d->irq); |
291 | uint32_t mask = 0; | 294 | uint32_t mask = 0; |
292 | 295 | ||
293 | if (gpio >= 0 && gpio < 85) | 296 | if (gpio >= 0 && gpio < 85) |
@@ -312,14 +315,12 @@ set_pwer: | |||
312 | void __init pxa25x_init_irq(void) | 315 | void __init pxa25x_init_irq(void) |
313 | { | 316 | { |
314 | pxa_init_irq(32, pxa25x_set_wake); | 317 | pxa_init_irq(32, pxa25x_set_wake); |
315 | pxa_init_gpio(IRQ_GPIO_2_x, 2, 84, pxa25x_set_wake); | ||
316 | } | 318 | } |
317 | 319 | ||
318 | #ifdef CONFIG_CPU_PXA26x | 320 | #ifdef CONFIG_CPU_PXA26x |
319 | void __init pxa26x_init_irq(void) | 321 | void __init pxa26x_init_irq(void) |
320 | { | 322 | { |
321 | pxa_init_irq(32, pxa25x_set_wake); | 323 | pxa_init_irq(32, pxa25x_set_wake); |
322 | pxa_init_gpio(IRQ_GPIO_2_x, 2, 89, pxa25x_set_wake); | ||
323 | } | 324 | } |
324 | #endif | 325 | #endif |
325 | 326 | ||
diff --git a/arch/arm/mach-pxa/pxa27x.c b/arch/arm/mach-pxa/pxa27x.c index bc5a98ebaa72..180bd8675d4b 100644 --- a/arch/arm/mach-pxa/pxa27x.c +++ b/arch/arm/mach-pxa/pxa27x.c | |||
@@ -12,6 +12,7 @@ | |||
12 | * published by the Free Software Foundation. | 12 | * published by the Free Software Foundation. |
13 | */ | 13 | */ |
14 | #include <linux/gpio.h> | 14 | #include <linux/gpio.h> |
15 | #include <linux/gpio-pxa.h> | ||
15 | #include <linux/module.h> | 16 | #include <linux/module.h> |
16 | #include <linux/kernel.h> | 17 | #include <linux/kernel.h> |
17 | #include <linux/init.h> | 18 | #include <linux/init.h> |
@@ -229,6 +230,8 @@ static struct clk_lookup pxa27x_clkregs[] = { | |||
229 | INIT_CLKREG(&clk_pxa27x_im, NULL, "IMCLK"), | 230 | INIT_CLKREG(&clk_pxa27x_im, NULL, "IMCLK"), |
230 | INIT_CLKREG(&clk_pxa27x_memc, NULL, "MEMCLK"), | 231 | INIT_CLKREG(&clk_pxa27x_memc, NULL, "MEMCLK"), |
231 | INIT_CLKREG(&clk_pxa27x_mem, "pxa2xx-pcmcia", NULL), | 232 | INIT_CLKREG(&clk_pxa27x_mem, "pxa2xx-pcmcia", NULL), |
233 | INIT_CLKREG(&clk_dummy, "pxa-gpio", NULL), | ||
234 | INIT_CLKREG(&clk_dummy, "sa1100-rtc", NULL), | ||
232 | }; | 235 | }; |
233 | 236 | ||
234 | #ifdef CONFIG_PM | 237 | #ifdef CONFIG_PM |
@@ -355,7 +358,7 @@ static inline void pxa27x_init_pm(void) {} | |||
355 | */ | 358 | */ |
356 | static int pxa27x_set_wake(struct irq_data *d, unsigned int on) | 359 | static int pxa27x_set_wake(struct irq_data *d, unsigned int on) |
357 | { | 360 | { |
358 | int gpio = irq_to_gpio(d->irq); | 361 | int gpio = pxa_irq_to_gpio(d->irq); |
359 | uint32_t mask; | 362 | uint32_t mask; |
360 | 363 | ||
361 | if (gpio >= 0 && gpio < 128) | 364 | if (gpio >= 0 && gpio < 128) |
@@ -386,7 +389,6 @@ static int pxa27x_set_wake(struct irq_data *d, unsigned int on) | |||
386 | void __init pxa27x_init_irq(void) | 389 | void __init pxa27x_init_irq(void) |
387 | { | 390 | { |
388 | pxa_init_irq(34, pxa27x_set_wake); | 391 | pxa_init_irq(34, pxa27x_set_wake); |
389 | pxa_init_gpio(IRQ_GPIO_2_x, 2, 120, pxa27x_set_wake); | ||
390 | } | 392 | } |
391 | 393 | ||
392 | static struct map_desc pxa27x_io_desc[] __initdata = { | 394 | static struct map_desc pxa27x_io_desc[] __initdata = { |
@@ -422,6 +424,7 @@ void __init pxa27x_set_i2c_power_info(struct i2c_pxa_platform_data *info) | |||
422 | } | 424 | } |
423 | 425 | ||
424 | static struct platform_device *devices[] __initdata = { | 426 | static struct platform_device *devices[] __initdata = { |
427 | &pxa_device_gpio, | ||
425 | &pxa27x_device_udc, | 428 | &pxa27x_device_udc, |
426 | &pxa_device_pmu, | 429 | &pxa_device_pmu, |
427 | &pxa_device_i2s, | 430 | &pxa_device_i2s, |
diff --git a/arch/arm/mach-pxa/pxa300.c b/arch/arm/mach-pxa/pxa300.c index 40bb16501d86..0388eda7878a 100644 --- a/arch/arm/mach-pxa/pxa300.c +++ b/arch/arm/mach-pxa/pxa300.c | |||
@@ -89,6 +89,7 @@ static DEFINE_PXA3_CKEN(gcu, PXA300_GCU, 0, 0); | |||
89 | static struct clk_lookup common_clkregs[] = { | 89 | static struct clk_lookup common_clkregs[] = { |
90 | INIT_CLKREG(&clk_common_nand, "pxa3xx-nand", NULL), | 90 | INIT_CLKREG(&clk_common_nand, "pxa3xx-nand", NULL), |
91 | INIT_CLKREG(&clk_gcu, "pxa3xx-gcu", NULL), | 91 | INIT_CLKREG(&clk_gcu, "pxa3xx-gcu", NULL), |
92 | INIT_CLKREG(&clk_dummy, "sa1100-rtc", NULL), | ||
92 | }; | 93 | }; |
93 | 94 | ||
94 | static DEFINE_PXA3_CKEN(pxa310_mmc3, MMC3, 19500000, 0); | 95 | static DEFINE_PXA3_CKEN(pxa310_mmc3, MMC3, 19500000, 0); |
diff --git a/arch/arm/mach-pxa/pxa320.c b/arch/arm/mach-pxa/pxa320.c index 8d614ecd8e99..d487e1ff4c9a 100644 --- a/arch/arm/mach-pxa/pxa320.c +++ b/arch/arm/mach-pxa/pxa320.c | |||
@@ -83,6 +83,7 @@ static DEFINE_PXA3_CKEN(gcu, PXA320_GCU, 0, 0); | |||
83 | static struct clk_lookup pxa320_clkregs[] = { | 83 | static struct clk_lookup pxa320_clkregs[] = { |
84 | INIT_CLKREG(&clk_pxa320_nand, "pxa3xx-nand", NULL), | 84 | INIT_CLKREG(&clk_pxa320_nand, "pxa3xx-nand", NULL), |
85 | INIT_CLKREG(&clk_gcu, "pxa3xx-gcu", NULL), | 85 | INIT_CLKREG(&clk_gcu, "pxa3xx-gcu", NULL), |
86 | INIT_CLKREG(&clk_dummy, "sa1100-rtc", NULL), | ||
86 | }; | 87 | }; |
87 | 88 | ||
88 | static int __init pxa320_init(void) | 89 | static int __init pxa320_init(void) |
diff --git a/arch/arm/mach-pxa/pxa3xx.c b/arch/arm/mach-pxa/pxa3xx.c index 0737c59b88ae..f107c71c7589 100644 --- a/arch/arm/mach-pxa/pxa3xx.c +++ b/arch/arm/mach-pxa/pxa3xx.c | |||
@@ -25,7 +25,6 @@ | |||
25 | #include <asm/mach/map.h> | 25 | #include <asm/mach/map.h> |
26 | #include <asm/suspend.h> | 26 | #include <asm/suspend.h> |
27 | #include <mach/hardware.h> | 27 | #include <mach/hardware.h> |
28 | #include <mach/gpio-pxa.h> | ||
29 | #include <mach/pxa3xx-regs.h> | 28 | #include <mach/pxa3xx-regs.h> |
30 | #include <mach/reset.h> | 29 | #include <mach/reset.h> |
31 | #include <mach/ohci.h> | 30 | #include <mach/ohci.h> |
@@ -56,6 +55,7 @@ static DEFINE_PXA3_CKEN(pxa3xx_pwm0, PWM0, 13000000, 0); | |||
56 | static DEFINE_PXA3_CKEN(pxa3xx_pwm1, PWM1, 13000000, 0); | 55 | static DEFINE_PXA3_CKEN(pxa3xx_pwm1, PWM1, 13000000, 0); |
57 | static DEFINE_PXA3_CKEN(pxa3xx_mmc1, MMC1, 19500000, 0); | 56 | static DEFINE_PXA3_CKEN(pxa3xx_mmc1, MMC1, 19500000, 0); |
58 | static DEFINE_PXA3_CKEN(pxa3xx_mmc2, MMC2, 19500000, 0); | 57 | static DEFINE_PXA3_CKEN(pxa3xx_mmc2, MMC2, 19500000, 0); |
58 | static DEFINE_PXA3_CKEN(pxa3xx_gpio, GPIO, 13000000, 0); | ||
59 | 59 | ||
60 | static DEFINE_CK(pxa3xx_lcd, LCD, &clk_pxa3xx_hsio_ops); | 60 | static DEFINE_CK(pxa3xx_lcd, LCD, &clk_pxa3xx_hsio_ops); |
61 | static DEFINE_CK(pxa3xx_smemc, SMC, &clk_pxa3xx_smemc_ops); | 61 | static DEFINE_CK(pxa3xx_smemc, SMC, &clk_pxa3xx_smemc_ops); |
@@ -67,6 +67,7 @@ static struct clk_lookup pxa3xx_clkregs[] = { | |||
67 | INIT_CLKREG(&clk_pxa3xx_pout, NULL, "CLK_POUT"), | 67 | INIT_CLKREG(&clk_pxa3xx_pout, NULL, "CLK_POUT"), |
68 | /* Power I2C clock is always on */ | 68 | /* Power I2C clock is always on */ |
69 | INIT_CLKREG(&clk_dummy, "pxa3xx-pwri2c.1", NULL), | 69 | INIT_CLKREG(&clk_dummy, "pxa3xx-pwri2c.1", NULL), |
70 | INIT_CLKREG(&clk_dummy, "sa1100-rtc", NULL), | ||
70 | INIT_CLKREG(&clk_pxa3xx_lcd, "pxa2xx-fb", NULL), | 71 | INIT_CLKREG(&clk_pxa3xx_lcd, "pxa2xx-fb", NULL), |
71 | INIT_CLKREG(&clk_pxa3xx_camera, NULL, "CAMCLK"), | 72 | INIT_CLKREG(&clk_pxa3xx_camera, NULL, "CAMCLK"), |
72 | INIT_CLKREG(&clk_pxa3xx_ac97, NULL, "AC97CLK"), | 73 | INIT_CLKREG(&clk_pxa3xx_ac97, NULL, "AC97CLK"), |
@@ -88,6 +89,7 @@ static struct clk_lookup pxa3xx_clkregs[] = { | |||
88 | INIT_CLKREG(&clk_pxa3xx_mmc1, "pxa2xx-mci.0", NULL), | 89 | INIT_CLKREG(&clk_pxa3xx_mmc1, "pxa2xx-mci.0", NULL), |
89 | INIT_CLKREG(&clk_pxa3xx_mmc2, "pxa2xx-mci.1", NULL), | 90 | INIT_CLKREG(&clk_pxa3xx_mmc2, "pxa2xx-mci.1", NULL), |
90 | INIT_CLKREG(&clk_pxa3xx_smemc, "pxa2xx-pcmcia", NULL), | 91 | INIT_CLKREG(&clk_pxa3xx_smemc, "pxa2xx-pcmcia", NULL), |
92 | INIT_CLKREG(&clk_pxa3xx_gpio, "pxa-gpio", NULL), | ||
91 | }; | 93 | }; |
92 | 94 | ||
93 | #ifdef CONFIG_PM | 95 | #ifdef CONFIG_PM |
@@ -365,7 +367,8 @@ static struct irq_chip pxa_ext_wakeup_chip = { | |||
365 | .irq_set_type = pxa_set_ext_wakeup_type, | 367 | .irq_set_type = pxa_set_ext_wakeup_type, |
366 | }; | 368 | }; |
367 | 369 | ||
368 | static void __init pxa_init_ext_wakeup_irq(set_wake_t fn) | 370 | static void __init pxa_init_ext_wakeup_irq(int (*fn)(struct irq_data *, |
371 | unsigned int)) | ||
369 | { | 372 | { |
370 | int irq; | 373 | int irq; |
371 | 374 | ||
@@ -388,7 +391,6 @@ void __init pxa3xx_init_irq(void) | |||
388 | 391 | ||
389 | pxa_init_irq(56, pxa3xx_set_wake); | 392 | pxa_init_irq(56, pxa3xx_set_wake); |
390 | pxa_init_ext_wakeup_irq(pxa3xx_set_wake); | 393 | pxa_init_ext_wakeup_irq(pxa3xx_set_wake); |
391 | pxa_init_gpio(IRQ_GPIO_2_x, 2, 127, NULL); | ||
392 | } | 394 | } |
393 | 395 | ||
394 | static struct map_desc pxa3xx_io_desc[] __initdata = { | 396 | static struct map_desc pxa3xx_io_desc[] __initdata = { |
@@ -417,6 +419,7 @@ void __init pxa3xx_set_i2c_power_info(struct i2c_pxa_platform_data *info) | |||
417 | } | 419 | } |
418 | 420 | ||
419 | static struct platform_device *devices[] __initdata = { | 421 | static struct platform_device *devices[] __initdata = { |
422 | &pxa_device_gpio, | ||
420 | &pxa27x_device_udc, | 423 | &pxa27x_device_udc, |
421 | &pxa_device_pmu, | 424 | &pxa_device_pmu, |
422 | &pxa_device_i2s, | 425 | &pxa_device_i2s, |
diff --git a/arch/arm/mach-pxa/pxa95x.c b/arch/arm/mach-pxa/pxa95x.c index 51371b39d2a3..fccc644702e6 100644 --- a/arch/arm/mach-pxa/pxa95x.c +++ b/arch/arm/mach-pxa/pxa95x.c | |||
@@ -20,7 +20,6 @@ | |||
20 | #include <linux/syscore_ops.h> | 20 | #include <linux/syscore_ops.h> |
21 | 21 | ||
22 | #include <mach/hardware.h> | 22 | #include <mach/hardware.h> |
23 | #include <mach/gpio-pxa.h> | ||
24 | #include <mach/pxa3xx-regs.h> | 23 | #include <mach/pxa3xx-regs.h> |
25 | #include <mach/pxa930.h> | 24 | #include <mach/pxa930.h> |
26 | #include <mach/reset.h> | 25 | #include <mach/reset.h> |
@@ -212,11 +211,13 @@ static DEFINE_PXA3_CKEN(pxa95x_ssp3, SSP3, 13000000, 0); | |||
212 | static DEFINE_PXA3_CKEN(pxa95x_ssp4, SSP4, 13000000, 0); | 211 | static DEFINE_PXA3_CKEN(pxa95x_ssp4, SSP4, 13000000, 0); |
213 | static DEFINE_PXA3_CKEN(pxa95x_pwm0, PWM0, 13000000, 0); | 212 | static DEFINE_PXA3_CKEN(pxa95x_pwm0, PWM0, 13000000, 0); |
214 | static DEFINE_PXA3_CKEN(pxa95x_pwm1, PWM1, 13000000, 0); | 213 | static DEFINE_PXA3_CKEN(pxa95x_pwm1, PWM1, 13000000, 0); |
214 | static DEFINE_PXA3_CKEN(pxa95x_gpio, GPIO, 13000000, 0); | ||
215 | 215 | ||
216 | static struct clk_lookup pxa95x_clkregs[] = { | 216 | static struct clk_lookup pxa95x_clkregs[] = { |
217 | INIT_CLKREG(&clk_pxa95x_pout, NULL, "CLK_POUT"), | 217 | INIT_CLKREG(&clk_pxa95x_pout, NULL, "CLK_POUT"), |
218 | /* Power I2C clock is always on */ | 218 | /* Power I2C clock is always on */ |
219 | INIT_CLKREG(&clk_dummy, "pxa3xx-pwri2c.1", NULL), | 219 | INIT_CLKREG(&clk_dummy, "pxa3xx-pwri2c.1", NULL), |
220 | INIT_CLKREG(&clk_dummy, "sa1100-rtc", NULL), | ||
220 | INIT_CLKREG(&clk_pxa95x_lcd, "pxa2xx-fb", NULL), | 221 | INIT_CLKREG(&clk_pxa95x_lcd, "pxa2xx-fb", NULL), |
221 | INIT_CLKREG(&clk_pxa95x_ffuart, "pxa2xx-uart.0", NULL), | 222 | INIT_CLKREG(&clk_pxa95x_ffuart, "pxa2xx-uart.0", NULL), |
222 | INIT_CLKREG(&clk_pxa95x_btuart, "pxa2xx-uart.1", NULL), | 223 | INIT_CLKREG(&clk_pxa95x_btuart, "pxa2xx-uart.1", NULL), |
@@ -230,12 +231,12 @@ static struct clk_lookup pxa95x_clkregs[] = { | |||
230 | INIT_CLKREG(&clk_pxa95x_ssp4, "pxa27x-ssp.3", NULL), | 231 | INIT_CLKREG(&clk_pxa95x_ssp4, "pxa27x-ssp.3", NULL), |
231 | INIT_CLKREG(&clk_pxa95x_pwm0, "pxa27x-pwm.0", NULL), | 232 | INIT_CLKREG(&clk_pxa95x_pwm0, "pxa27x-pwm.0", NULL), |
232 | INIT_CLKREG(&clk_pxa95x_pwm1, "pxa27x-pwm.1", NULL), | 233 | INIT_CLKREG(&clk_pxa95x_pwm1, "pxa27x-pwm.1", NULL), |
234 | INIT_CLKREG(&clk_pxa95x_gpio, "pxa-gpio", NULL), | ||
233 | }; | 235 | }; |
234 | 236 | ||
235 | void __init pxa95x_init_irq(void) | 237 | void __init pxa95x_init_irq(void) |
236 | { | 238 | { |
237 | pxa_init_irq(96, NULL); | 239 | pxa_init_irq(96, NULL); |
238 | pxa_init_gpio(IRQ_GPIO_2_x, 2, 127, NULL); | ||
239 | } | 240 | } |
240 | 241 | ||
241 | /* | 242 | /* |
@@ -248,6 +249,7 @@ void __init pxa95x_set_i2c_power_info(struct i2c_pxa_platform_data *info) | |||
248 | } | 249 | } |
249 | 250 | ||
250 | static struct platform_device *devices[] __initdata = { | 251 | static struct platform_device *devices[] __initdata = { |
252 | &pxa_device_gpio, | ||
251 | &sa1100_device_rtc, | 253 | &sa1100_device_rtc, |
252 | &pxa_device_rtc, | 254 | &pxa_device_rtc, |
253 | &pxa27x_device_ssp1, | 255 | &pxa27x_device_ssp1, |
diff --git a/arch/arm/mach-pxa/raumfeld.c b/arch/arm/mach-pxa/raumfeld.c index 4962b1676629..22818c7694a8 100644 --- a/arch/arm/mach-pxa/raumfeld.c +++ b/arch/arm/mach-pxa/raumfeld.c | |||
@@ -292,8 +292,8 @@ static struct resource smc91x_resources[] = { | |||
292 | .flags = IORESOURCE_MEM, | 292 | .flags = IORESOURCE_MEM, |
293 | }, | 293 | }, |
294 | { | 294 | { |
295 | .start = gpio_to_irq(GPIO_ETH_IRQ), | 295 | .start = PXA_GPIO_TO_IRQ(GPIO_ETH_IRQ), |
296 | .end = gpio_to_irq(GPIO_ETH_IRQ), | 296 | .end = PXA_GPIO_TO_IRQ(GPIO_ETH_IRQ), |
297 | .flags = IORESOURCE_IRQ | IRQF_TRIGGER_FALLING, | 297 | .flags = IORESOURCE_IRQ | IRQF_TRIGGER_FALLING, |
298 | } | 298 | } |
299 | }; | 299 | }; |
@@ -672,7 +672,7 @@ static struct lis3lv02d_platform_data lis3_pdata = { | |||
672 | .chip_select = 1, \ | 672 | .chip_select = 1, \ |
673 | .controller_data = (void *) GPIO_ACCEL_CS, \ | 673 | .controller_data = (void *) GPIO_ACCEL_CS, \ |
674 | .platform_data = &lis3_pdata, \ | 674 | .platform_data = &lis3_pdata, \ |
675 | .irq = gpio_to_irq(GPIO_ACCEL_IRQ), \ | 675 | .irq = PXA_GPIO_TO_IRQ(GPIO_ACCEL_IRQ), \ |
676 | } | 676 | } |
677 | 677 | ||
678 | #define SPI_DAC7512 \ | 678 | #define SPI_DAC7512 \ |
@@ -956,7 +956,7 @@ static struct eeti_ts_platform_data eeti_ts_pdata = { | |||
956 | static struct i2c_board_info raumfeld_controller_i2c_board_info __initdata = { | 956 | static struct i2c_board_info raumfeld_controller_i2c_board_info __initdata = { |
957 | .type = "eeti_ts", | 957 | .type = "eeti_ts", |
958 | .addr = 0x0a, | 958 | .addr = 0x0a, |
959 | .irq = gpio_to_irq(GPIO_TOUCH_IRQ), | 959 | .irq = PXA_GPIO_TO_IRQ(GPIO_TOUCH_IRQ), |
960 | .platform_data = &eeti_ts_pdata, | 960 | .platform_data = &eeti_ts_pdata, |
961 | }; | 961 | }; |
962 | 962 | ||
diff --git a/arch/arm/mach-pxa/saar.c b/arch/arm/mach-pxa/saar.c index 878707056e65..0fe354efb931 100644 --- a/arch/arm/mach-pxa/saar.c +++ b/arch/arm/mach-pxa/saar.c | |||
@@ -96,8 +96,8 @@ static struct resource smc91x_resources[] = { | |||
96 | .flags = IORESOURCE_MEM, | 96 | .flags = IORESOURCE_MEM, |
97 | }, | 97 | }, |
98 | [1] = { | 98 | [1] = { |
99 | .start = gpio_to_irq(mfp_to_gpio(MFP_PIN_GPIO97)), | 99 | .start = PXA_GPIO_TO_IRQ(mfp_to_gpio(MFP_PIN_GPIO97)), |
100 | .end = gpio_to_irq(mfp_to_gpio(MFP_PIN_GPIO97)), | 100 | .end = PXA_GPIO_TO_IRQ(mfp_to_gpio(MFP_PIN_GPIO97)), |
101 | .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHEDGE, | 101 | .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHEDGE, |
102 | } | 102 | } |
103 | }; | 103 | }; |
@@ -502,7 +502,7 @@ static struct i2c_board_info saar_i2c_info[] = { | |||
502 | .type = "da9034", | 502 | .type = "da9034", |
503 | .addr = 0x34, | 503 | .addr = 0x34, |
504 | .platform_data = &saar_da9034_info, | 504 | .platform_data = &saar_da9034_info, |
505 | .irq = gpio_to_irq(mfp_to_gpio(MFP_PIN_GPIO83)), | 505 | .irq = PXA_GPIO_TO_IRQ(mfp_to_gpio(MFP_PIN_GPIO83)), |
506 | }, | 506 | }, |
507 | }; | 507 | }; |
508 | 508 | ||
diff --git a/arch/arm/mach-pxa/saarb.c b/arch/arm/mach-pxa/saarb.c index b6dbaca460c7..febc809ed5a6 100644 --- a/arch/arm/mach-pxa/saarb.c +++ b/arch/arm/mach-pxa/saarb.c | |||
@@ -92,7 +92,7 @@ static struct i2c_board_info saarb_i2c_info[] = { | |||
92 | .type = "88PM860x", | 92 | .type = "88PM860x", |
93 | .addr = 0x34, | 93 | .addr = 0x34, |
94 | .platform_data = &saarb_pm8607_info, | 94 | .platform_data = &saarb_pm8607_info, |
95 | .irq = gpio_to_irq(mfp_to_gpio(MFP_PIN_GPIO83)), | 95 | .irq = PXA_GPIO_TO_IRQ(mfp_to_gpio(MFP_PIN_GPIO83)), |
96 | }, | 96 | }, |
97 | }; | 97 | }; |
98 | 98 | ||
diff --git a/arch/arm/mach-pxa/sharpsl_pm.c b/arch/arm/mach-pxa/sharpsl_pm.c index 785880f67b60..8d5168d253a9 100644 --- a/arch/arm/mach-pxa/sharpsl_pm.c +++ b/arch/arm/mach-pxa/sharpsl_pm.c | |||
@@ -907,24 +907,24 @@ static int __devinit sharpsl_pm_probe(struct platform_device *pdev) | |||
907 | gpio_direction_input(sharpsl_pm.machinfo->gpio_batlock); | 907 | gpio_direction_input(sharpsl_pm.machinfo->gpio_batlock); |
908 | 908 | ||
909 | /* Register interrupt handlers */ | 909 | /* Register interrupt handlers */ |
910 | if (request_irq(IRQ_GPIO(sharpsl_pm.machinfo->gpio_acin), sharpsl_ac_isr, IRQF_DISABLED | IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING, "AC Input Detect", sharpsl_ac_isr)) { | 910 | if (request_irq(PXA_GPIO_TO_IRQ(sharpsl_pm.machinfo->gpio_acin), sharpsl_ac_isr, IRQF_DISABLED | IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING, "AC Input Detect", sharpsl_ac_isr)) { |
911 | dev_err(sharpsl_pm.dev, "Could not get irq %d.\n", IRQ_GPIO(sharpsl_pm.machinfo->gpio_acin)); | 911 | dev_err(sharpsl_pm.dev, "Could not get irq %d.\n", PXA_GPIO_TO_IRQ(sharpsl_pm.machinfo->gpio_acin)); |
912 | } | 912 | } |
913 | 913 | ||
914 | if (request_irq(IRQ_GPIO(sharpsl_pm.machinfo->gpio_batlock), sharpsl_fatal_isr, IRQF_DISABLED | IRQF_TRIGGER_FALLING, "Battery Cover", sharpsl_fatal_isr)) { | 914 | if (request_irq(PXA_GPIO_TO_IRQ(sharpsl_pm.machinfo->gpio_batlock), sharpsl_fatal_isr, IRQF_DISABLED | IRQF_TRIGGER_FALLING, "Battery Cover", sharpsl_fatal_isr)) { |
915 | dev_err(sharpsl_pm.dev, "Could not get irq %d.\n", IRQ_GPIO(sharpsl_pm.machinfo->gpio_batlock)); | 915 | dev_err(sharpsl_pm.dev, "Could not get irq %d.\n", PXA_GPIO_TO_IRQ(sharpsl_pm.machinfo->gpio_batlock)); |
916 | } | 916 | } |
917 | 917 | ||
918 | if (sharpsl_pm.machinfo->gpio_fatal) { | 918 | if (sharpsl_pm.machinfo->gpio_fatal) { |
919 | if (request_irq(IRQ_GPIO(sharpsl_pm.machinfo->gpio_fatal), sharpsl_fatal_isr, IRQF_DISABLED | IRQF_TRIGGER_FALLING, "Fatal Battery", sharpsl_fatal_isr)) { | 919 | if (request_irq(PXA_GPIO_TO_IRQ(sharpsl_pm.machinfo->gpio_fatal), sharpsl_fatal_isr, IRQF_DISABLED | IRQF_TRIGGER_FALLING, "Fatal Battery", sharpsl_fatal_isr)) { |
920 | dev_err(sharpsl_pm.dev, "Could not get irq %d.\n", IRQ_GPIO(sharpsl_pm.machinfo->gpio_fatal)); | 920 | dev_err(sharpsl_pm.dev, "Could not get irq %d.\n", PXA_GPIO_TO_IRQ(sharpsl_pm.machinfo->gpio_fatal)); |
921 | } | 921 | } |
922 | } | 922 | } |
923 | 923 | ||
924 | if (sharpsl_pm.machinfo->batfull_irq) { | 924 | if (sharpsl_pm.machinfo->batfull_irq) { |
925 | /* Register interrupt handler. */ | 925 | /* Register interrupt handler. */ |
926 | if (request_irq(IRQ_GPIO(sharpsl_pm.machinfo->gpio_batfull), sharpsl_chrg_full_isr, IRQF_DISABLED | IRQF_TRIGGER_RISING, "CO", sharpsl_chrg_full_isr)) { | 926 | if (request_irq(PXA_GPIO_TO_IRQ(sharpsl_pm.machinfo->gpio_batfull), sharpsl_chrg_full_isr, IRQF_DISABLED | IRQF_TRIGGER_RISING, "CO", sharpsl_chrg_full_isr)) { |
927 | dev_err(sharpsl_pm.dev, "Could not get irq %d.\n", IRQ_GPIO(sharpsl_pm.machinfo->gpio_batfull)); | 927 | dev_err(sharpsl_pm.dev, "Could not get irq %d.\n", PXA_GPIO_TO_IRQ(sharpsl_pm.machinfo->gpio_batfull)); |
928 | } | 928 | } |
929 | } | 929 | } |
930 | 930 | ||
@@ -953,14 +953,14 @@ static int sharpsl_pm_remove(struct platform_device *pdev) | |||
953 | 953 | ||
954 | led_trigger_unregister_simple(sharpsl_charge_led_trigger); | 954 | led_trigger_unregister_simple(sharpsl_charge_led_trigger); |
955 | 955 | ||
956 | free_irq(IRQ_GPIO(sharpsl_pm.machinfo->gpio_acin), sharpsl_ac_isr); | 956 | free_irq(PXA_GPIO_TO_IRQ(sharpsl_pm.machinfo->gpio_acin), sharpsl_ac_isr); |
957 | free_irq(IRQ_GPIO(sharpsl_pm.machinfo->gpio_batlock), sharpsl_fatal_isr); | 957 | free_irq(PXA_GPIO_TO_IRQ(sharpsl_pm.machinfo->gpio_batlock), sharpsl_fatal_isr); |
958 | 958 | ||
959 | if (sharpsl_pm.machinfo->gpio_fatal) | 959 | if (sharpsl_pm.machinfo->gpio_fatal) |
960 | free_irq(IRQ_GPIO(sharpsl_pm.machinfo->gpio_fatal), sharpsl_fatal_isr); | 960 | free_irq(PXA_GPIO_TO_IRQ(sharpsl_pm.machinfo->gpio_fatal), sharpsl_fatal_isr); |
961 | 961 | ||
962 | if (sharpsl_pm.machinfo->batfull_irq) | 962 | if (sharpsl_pm.machinfo->batfull_irq) |
963 | free_irq(IRQ_GPIO(sharpsl_pm.machinfo->gpio_batfull), sharpsl_chrg_full_isr); | 963 | free_irq(PXA_GPIO_TO_IRQ(sharpsl_pm.machinfo->gpio_batfull), sharpsl_chrg_full_isr); |
964 | 964 | ||
965 | gpio_free(sharpsl_pm.machinfo->gpio_batlock); | 965 | gpio_free(sharpsl_pm.machinfo->gpio_batlock); |
966 | gpio_free(sharpsl_pm.machinfo->gpio_batfull); | 966 | gpio_free(sharpsl_pm.machinfo->gpio_batfull); |
diff --git a/arch/arm/mach-pxa/spitz.c b/arch/arm/mach-pxa/spitz.c index a7f81a3fd132..abf355d0c92f 100644 --- a/arch/arm/mach-pxa/spitz.c +++ b/arch/arm/mach-pxa/spitz.c | |||
@@ -552,7 +552,7 @@ static struct spi_board_info spitz_spi_devices[] = { | |||
552 | .chip_select = 0, | 552 | .chip_select = 0, |
553 | .platform_data = &spitz_ads7846_info, | 553 | .platform_data = &spitz_ads7846_info, |
554 | .controller_data = &spitz_ads7846_chip, | 554 | .controller_data = &spitz_ads7846_chip, |
555 | .irq = gpio_to_irq(SPITZ_GPIO_TP_INT), | 555 | .irq = PXA_GPIO_TO_IRQ(SPITZ_GPIO_TP_INT), |
556 | }, { | 556 | }, { |
557 | .modalias = "corgi-lcd", | 557 | .modalias = "corgi-lcd", |
558 | .max_speed_hz = 50000, | 558 | .max_speed_hz = 50000, |
diff --git a/arch/arm/mach-pxa/spitz_pm.c b/arch/arm/mach-pxa/spitz_pm.c index 094279aefe9c..34cbdac51525 100644 --- a/arch/arm/mach-pxa/spitz_pm.c +++ b/arch/arm/mach-pxa/spitz_pm.c | |||
@@ -15,6 +15,7 @@ | |||
15 | #include <linux/kernel.h> | 15 | #include <linux/kernel.h> |
16 | #include <linux/delay.h> | 16 | #include <linux/delay.h> |
17 | #include <linux/gpio.h> | 17 | #include <linux/gpio.h> |
18 | #include <linux/gpio-pxa.h> | ||
18 | #include <linux/interrupt.h> | 19 | #include <linux/interrupt.h> |
19 | #include <linux/platform_device.h> | 20 | #include <linux/platform_device.h> |
20 | #include <linux/apm-emulation.h> | 21 | #include <linux/apm-emulation.h> |
@@ -41,6 +42,7 @@ static int spitz_last_ac_status; | |||
41 | static struct gpio spitz_charger_gpios[] = { | 42 | static struct gpio spitz_charger_gpios[] = { |
42 | { SPITZ_GPIO_KEY_INT, GPIOF_IN, "Keyboard Interrupt" }, | 43 | { SPITZ_GPIO_KEY_INT, GPIOF_IN, "Keyboard Interrupt" }, |
43 | { SPITZ_GPIO_SYNC, GPIOF_IN, "Sync" }, | 44 | { SPITZ_GPIO_SYNC, GPIOF_IN, "Sync" }, |
45 | { SPITZ_GPIO_AC_IN, GPIOF_IN, "Charger Detection" }, | ||
44 | { SPITZ_GPIO_ADC_TEMP_ON, GPIOF_OUT_INIT_LOW, "ADC Temp On" }, | 46 | { SPITZ_GPIO_ADC_TEMP_ON, GPIOF_OUT_INIT_LOW, "ADC Temp On" }, |
45 | { SPITZ_GPIO_JK_B, GPIOF_OUT_INIT_LOW, "JK B" }, | 47 | { SPITZ_GPIO_JK_B, GPIOF_OUT_INIT_LOW, "JK B" }, |
46 | { SPITZ_GPIO_CHRG_ON, GPIOF_OUT_INIT_LOW, "Charger On" }, | 48 | { SPITZ_GPIO_CHRG_ON, GPIOF_OUT_INIT_LOW, "Charger On" }, |
@@ -169,14 +171,19 @@ static int spitz_should_wakeup(unsigned int resume_on_alarm) | |||
169 | 171 | ||
170 | static unsigned long spitz_charger_wakeup(void) | 172 | static unsigned long spitz_charger_wakeup(void) |
171 | { | 173 | { |
172 | return (~GPLR0 & GPIO_bit(SPITZ_GPIO_KEY_INT)) | (GPLR0 & GPIO_bit(SPITZ_GPIO_SYNC)); | 174 | unsigned long ret; |
175 | ret = (!gpio_get_value(SPITZ_GPIO_KEY_INT) | ||
176 | << GPIO_bit(SPITZ_GPIO_KEY_INT)) | ||
177 | | (!gpio_get_value(SPITZ_GPIO_SYNC) | ||
178 | << GPIO_bit(SPITZ_GPIO_SYNC)); | ||
179 | return ret; | ||
173 | } | 180 | } |
174 | 181 | ||
175 | unsigned long spitzpm_read_devdata(int type) | 182 | unsigned long spitzpm_read_devdata(int type) |
176 | { | 183 | { |
177 | switch (type) { | 184 | switch (type) { |
178 | case SHARPSL_STATUS_ACIN: | 185 | case SHARPSL_STATUS_ACIN: |
179 | return (((~GPLR(SPITZ_GPIO_AC_IN)) & GPIO_bit(SPITZ_GPIO_AC_IN)) != 0); | 186 | return !gpio_get_value(SPITZ_GPIO_AC_IN); |
180 | case SHARPSL_STATUS_LOCK: | 187 | case SHARPSL_STATUS_LOCK: |
181 | return gpio_get_value(sharpsl_pm.machinfo->gpio_batlock); | 188 | return gpio_get_value(sharpsl_pm.machinfo->gpio_batlock); |
182 | case SHARPSL_STATUS_CHRGFULL: | 189 | case SHARPSL_STATUS_CHRGFULL: |
diff --git a/arch/arm/mach-pxa/stargate2.c b/arch/arm/mach-pxa/stargate2.c index 80d7f23ad0fd..b0656e158d90 100644 --- a/arch/arm/mach-pxa/stargate2.c +++ b/arch/arm/mach-pxa/stargate2.c | |||
@@ -376,7 +376,7 @@ static struct spi_board_info spi_board_info[] __initdata = { | |||
376 | .bus_num = 1, | 376 | .bus_num = 1, |
377 | .chip_select = 0, | 377 | .chip_select = 0, |
378 | .controller_data = &staccel_chip_info, | 378 | .controller_data = &staccel_chip_info, |
379 | .irq = IRQ_GPIO(96), | 379 | .irq = PXA_GPIO_TO_IRQ(96), |
380 | }, { | 380 | }, { |
381 | .modalias = "cc2420", | 381 | .modalias = "cc2420", |
382 | .max_speed_hz = 6500000, | 382 | .max_speed_hz = 6500000, |
@@ -546,7 +546,7 @@ static struct i2c_board_info __initdata imote2_pwr_i2c_board_info[] = { | |||
546 | .type = "da9030", | 546 | .type = "da9030", |
547 | .addr = 0x49, | 547 | .addr = 0x49, |
548 | .platform_data = &imote2_da9030_pdata, | 548 | .platform_data = &imote2_da9030_pdata, |
549 | .irq = gpio_to_irq(1), | 549 | .irq = PXA_GPIO_TO_IRQ(1), |
550 | }, | 550 | }, |
551 | }; | 551 | }; |
552 | 552 | ||
@@ -560,18 +560,18 @@ static struct i2c_board_info __initdata imote2_i2c_board_info[] = { | |||
560 | /* Through a nand gate - Also beware, on V2 sensor board the | 560 | /* Through a nand gate - Also beware, on V2 sensor board the |
561 | * pull up resistors are missing. | 561 | * pull up resistors are missing. |
562 | */ | 562 | */ |
563 | .irq = IRQ_GPIO(99), | 563 | .irq = PXA_GPIO_TO_IRQ(99), |
564 | }, { /* ITS400 Sensor board only */ | 564 | }, { /* ITS400 Sensor board only */ |
565 | .type = "tsl2561", | 565 | .type = "tsl2561", |
566 | .addr = 0x49, | 566 | .addr = 0x49, |
567 | /* Through a nand gate - Also beware, on V2 sensor board the | 567 | /* Through a nand gate - Also beware, on V2 sensor board the |
568 | * pull up resistors are missing. | 568 | * pull up resistors are missing. |
569 | */ | 569 | */ |
570 | .irq = IRQ_GPIO(99), | 570 | .irq = PXA_GPIO_TO_IRQ(99), |
571 | }, { /* ITS400 Sensor board only */ | 571 | }, { /* ITS400 Sensor board only */ |
572 | .type = "tmp175", | 572 | .type = "tmp175", |
573 | .addr = 0x4A, | 573 | .addr = 0x4A, |
574 | .irq = IRQ_GPIO(96), | 574 | .irq = PXA_GPIO_TO_IRQ(96), |
575 | }, { /* IMB400 Multimedia board */ | 575 | }, { /* IMB400 Multimedia board */ |
576 | .type = "wm8940", | 576 | .type = "wm8940", |
577 | .addr = 0x1A, | 577 | .addr = 0x1A, |
@@ -593,10 +593,16 @@ static struct pxa2xx_udc_mach_info imote2_udc_info __initdata = { | |||
593 | .udc_command = sg2_udc_command, | 593 | .udc_command = sg2_udc_command, |
594 | }; | 594 | }; |
595 | 595 | ||
596 | static struct platform_device imote2_audio_device = { | ||
597 | .name = "imote2-audio", | ||
598 | .id = -1, | ||
599 | }; | ||
600 | |||
596 | static struct platform_device *imote2_devices[] = { | 601 | static struct platform_device *imote2_devices[] = { |
597 | &stargate2_flash_device, | 602 | &stargate2_flash_device, |
598 | &imote2_leds, | 603 | &imote2_leds, |
599 | &sht15, | 604 | &sht15, |
605 | &imote2_audio_device, | ||
600 | }; | 606 | }; |
601 | 607 | ||
602 | static void __init imote2_init(void) | 608 | static void __init imote2_init(void) |
@@ -661,8 +667,8 @@ static struct resource smc91x_resources[] = { | |||
661 | .flags = IORESOURCE_MEM, | 667 | .flags = IORESOURCE_MEM, |
662 | }, | 668 | }, |
663 | [1] = { | 669 | [1] = { |
664 | .start = IRQ_GPIO(40), | 670 | .start = PXA_GPIO_TO_IRQ(40), |
665 | .end = IRQ_GPIO(40), | 671 | .end = PXA_GPIO_TO_IRQ(40), |
666 | .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHEDGE, | 672 | .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHEDGE, |
667 | } | 673 | } |
668 | }; | 674 | }; |
@@ -707,7 +713,7 @@ static int stargate2_mci_init(struct device *dev, | |||
707 | } | 713 | } |
708 | gpio_direction_input(SG2_GPIO_nSD_DETECT); | 714 | gpio_direction_input(SG2_GPIO_nSD_DETECT); |
709 | 715 | ||
710 | err = request_irq(IRQ_GPIO(SG2_GPIO_nSD_DETECT), | 716 | err = request_irq(PXA_GPIO_TO_IRQ(SG2_GPIO_nSD_DETECT), |
711 | stargate2_detect_int, | 717 | stargate2_detect_int, |
712 | IRQ_TYPE_EDGE_BOTH, | 718 | IRQ_TYPE_EDGE_BOTH, |
713 | "MMC card detect", | 719 | "MMC card detect", |
@@ -738,7 +744,7 @@ static void stargate2_mci_setpower(struct device *dev, unsigned int vdd) | |||
738 | 744 | ||
739 | static void stargate2_mci_exit(struct device *dev, void *data) | 745 | static void stargate2_mci_exit(struct device *dev, void *data) |
740 | { | 746 | { |
741 | free_irq(IRQ_GPIO(SG2_GPIO_nSD_DETECT), data); | 747 | free_irq(PXA_GPIO_TO_IRQ(SG2_GPIO_nSD_DETECT), data); |
742 | gpio_free(SG2_SD_POWER_ENABLE); | 748 | gpio_free(SG2_SD_POWER_ENABLE); |
743 | gpio_free(SG2_GPIO_nSD_DETECT); | 749 | gpio_free(SG2_GPIO_nSD_DETECT); |
744 | } | 750 | } |
@@ -913,7 +919,7 @@ static struct i2c_board_info __initdata stargate2_pwr_i2c_board_info[] = { | |||
913 | .type = "da9030", | 919 | .type = "da9030", |
914 | .addr = 0x49, | 920 | .addr = 0x49, |
915 | .platform_data = &stargate2_da9030_pdata, | 921 | .platform_data = &stargate2_da9030_pdata, |
916 | .irq = gpio_to_irq(1), | 922 | .irq = PXA_GPIO_TO_IRQ(1), |
917 | }, | 923 | }, |
918 | }; | 924 | }; |
919 | 925 | ||
@@ -938,18 +944,18 @@ static struct i2c_board_info __initdata stargate2_i2c_board_info[] = { | |||
938 | /* Through a nand gate - Also beware, on V2 sensor board the | 944 | /* Through a nand gate - Also beware, on V2 sensor board the |
939 | * pull up resistors are missing. | 945 | * pull up resistors are missing. |
940 | */ | 946 | */ |
941 | .irq = IRQ_GPIO(99), | 947 | .irq = PXA_GPIO_TO_IRQ(99), |
942 | }, { /* ITS400 Sensor board only */ | 948 | }, { /* ITS400 Sensor board only */ |
943 | .type = "tsl2561", | 949 | .type = "tsl2561", |
944 | .addr = 0x49, | 950 | .addr = 0x49, |
945 | /* Through a nand gate - Also beware, on V2 sensor board the | 951 | /* Through a nand gate - Also beware, on V2 sensor board the |
946 | * pull up resistors are missing. | 952 | * pull up resistors are missing. |
947 | */ | 953 | */ |
948 | .irq = IRQ_GPIO(99), | 954 | .irq = PXA_GPIO_TO_IRQ(99), |
949 | }, { /* ITS400 Sensor board only */ | 955 | }, { /* ITS400 Sensor board only */ |
950 | .type = "tmp175", | 956 | .type = "tmp175", |
951 | .addr = 0x4A, | 957 | .addr = 0x4A, |
952 | .irq = IRQ_GPIO(96), | 958 | .irq = PXA_GPIO_TO_IRQ(96), |
953 | }, | 959 | }, |
954 | }; | 960 | }; |
955 | 961 | ||
diff --git a/arch/arm/mach-pxa/tavorevb.c b/arch/arm/mach-pxa/tavorevb.c index 4fa36a3e383c..9fb38e80e076 100644 --- a/arch/arm/mach-pxa/tavorevb.c +++ b/arch/arm/mach-pxa/tavorevb.c | |||
@@ -85,8 +85,8 @@ static struct resource smc91x_resources[] = { | |||
85 | .flags = IORESOURCE_MEM, | 85 | .flags = IORESOURCE_MEM, |
86 | }, | 86 | }, |
87 | [1] = { | 87 | [1] = { |
88 | .start = gpio_to_irq(mfp_to_gpio(MFP_PIN_GPIO47)), | 88 | .start = PXA_GPIO_TO_IRQ(mfp_to_gpio(MFP_PIN_GPIO47)), |
89 | .end = gpio_to_irq(mfp_to_gpio(MFP_PIN_GPIO47)), | 89 | .end = PXA_GPIO_TO_IRQ(mfp_to_gpio(MFP_PIN_GPIO47)), |
90 | .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHEDGE, | 90 | .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHEDGE, |
91 | } | 91 | } |
92 | }; | 92 | }; |
diff --git a/arch/arm/mach-pxa/tavorevb3.c b/arch/arm/mach-pxa/tavorevb3.c index 8a22879f0bb0..f7d9305cfd77 100644 --- a/arch/arm/mach-pxa/tavorevb3.c +++ b/arch/arm/mach-pxa/tavorevb3.c | |||
@@ -101,7 +101,7 @@ static struct i2c_board_info evb3_i2c_info[] = { | |||
101 | .type = "88PM860x", | 101 | .type = "88PM860x", |
102 | .addr = 0x34, | 102 | .addr = 0x34, |
103 | .platform_data = &evb3_pm8607_info, | 103 | .platform_data = &evb3_pm8607_info, |
104 | .irq = gpio_to_irq(mfp_to_gpio(MFP_PIN_GPIO83)), | 104 | .irq = PXA_GPIO_TO_IRQ(mfp_to_gpio(MFP_PIN_GPIO83)), |
105 | }, | 105 | }, |
106 | }; | 106 | }; |
107 | 107 | ||
diff --git a/arch/arm/mach-pxa/tosa.c b/arch/arm/mach-pxa/tosa.c index dfe40f8705aa..4d4eb60bad1e 100644 --- a/arch/arm/mach-pxa/tosa.c +++ b/arch/arm/mach-pxa/tosa.c | |||
@@ -404,8 +404,8 @@ static struct pda_power_pdata tosa_power_data = { | |||
404 | static struct resource tosa_power_resource[] = { | 404 | static struct resource tosa_power_resource[] = { |
405 | { | 405 | { |
406 | .name = "ac", | 406 | .name = "ac", |
407 | .start = gpio_to_irq(TOSA_GPIO_AC_IN), | 407 | .start = PXA_GPIO_TO_IRQ(TOSA_GPIO_AC_IN), |
408 | .end = gpio_to_irq(TOSA_GPIO_AC_IN), | 408 | .end = PXA_GPIO_TO_IRQ(TOSA_GPIO_AC_IN), |
409 | .flags = IORESOURCE_IRQ | | 409 | .flags = IORESOURCE_IRQ | |
410 | IORESOURCE_IRQ_HIGHEDGE | | 410 | IORESOURCE_IRQ_HIGHEDGE | |
411 | IORESOURCE_IRQ_LOWEDGE, | 411 | IORESOURCE_IRQ_LOWEDGE, |
@@ -889,6 +889,11 @@ static struct platform_device wm9712_device = { | |||
889 | .id = -1, | 889 | .id = -1, |
890 | }; | 890 | }; |
891 | 891 | ||
892 | static struct platform_device tosa_audio_device = { | ||
893 | .name = "tosa-audio", | ||
894 | .id = -1, | ||
895 | }; | ||
896 | |||
892 | static struct platform_device *devices[] __initdata = { | 897 | static struct platform_device *devices[] __initdata = { |
893 | &tosascoop_device, | 898 | &tosascoop_device, |
894 | &tosascoop_jc_device, | 899 | &tosascoop_jc_device, |
@@ -901,6 +906,7 @@ static struct platform_device *devices[] __initdata = { | |||
901 | &sharpsl_rom_device, | 906 | &sharpsl_rom_device, |
902 | &wm9712_device, | 907 | &wm9712_device, |
903 | &tosa_gpio_vbus, | 908 | &tosa_gpio_vbus, |
909 | &tosa_audio_device, | ||
904 | }; | 910 | }; |
905 | 911 | ||
906 | static void tosa_poweroff(void) | 912 | static void tosa_poweroff(void) |
diff --git a/arch/arm/mach-pxa/viper.c b/arch/arm/mach-pxa/viper.c index afe2b7495523..023d6ca789de 100644 --- a/arch/arm/mach-pxa/viper.c +++ b/arch/arm/mach-pxa/viper.c | |||
@@ -422,8 +422,8 @@ static struct resource smc91x_resources[] = { | |||
422 | .flags = IORESOURCE_MEM, | 422 | .flags = IORESOURCE_MEM, |
423 | }, | 423 | }, |
424 | [1] = { | 424 | [1] = { |
425 | .start = gpio_to_irq(VIPER_ETH_GPIO), | 425 | .start = PXA_GPIO_TO_IRQ(VIPER_ETH_GPIO), |
426 | .end = gpio_to_irq(VIPER_ETH_GPIO), | 426 | .end = PXA_GPIO_TO_IRQ(VIPER_ETH_GPIO), |
427 | .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHEDGE, | 427 | .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHEDGE, |
428 | }, | 428 | }, |
429 | [2] = { | 429 | [2] = { |
@@ -546,7 +546,7 @@ static struct plat_serial8250_port serial_platform_data[] = { | |||
546 | /* External UARTs */ | 546 | /* External UARTs */ |
547 | { | 547 | { |
548 | .mapbase = VIPER_UARTA_PHYS, | 548 | .mapbase = VIPER_UARTA_PHYS, |
549 | .irq = gpio_to_irq(VIPER_UARTA_GPIO), | 549 | .irq = PXA_GPIO_TO_IRQ(VIPER_UARTA_GPIO), |
550 | .irqflags = IRQF_TRIGGER_RISING, | 550 | .irqflags = IRQF_TRIGGER_RISING, |
551 | .uartclk = 1843200, | 551 | .uartclk = 1843200, |
552 | .regshift = 1, | 552 | .regshift = 1, |
@@ -556,7 +556,7 @@ static struct plat_serial8250_port serial_platform_data[] = { | |||
556 | }, | 556 | }, |
557 | { | 557 | { |
558 | .mapbase = VIPER_UARTB_PHYS, | 558 | .mapbase = VIPER_UARTB_PHYS, |
559 | .irq = gpio_to_irq(VIPER_UARTB_GPIO), | 559 | .irq = PXA_GPIO_TO_IRQ(VIPER_UARTB_GPIO), |
560 | .irqflags = IRQF_TRIGGER_RISING, | 560 | .irqflags = IRQF_TRIGGER_RISING, |
561 | .uartclk = 1843200, | 561 | .uartclk = 1843200, |
562 | .regshift = 1, | 562 | .regshift = 1, |
@@ -596,8 +596,8 @@ static struct resource isp116x_resources[] = { | |||
596 | .flags = IORESOURCE_MEM, | 596 | .flags = IORESOURCE_MEM, |
597 | }, | 597 | }, |
598 | [2] = { | 598 | [2] = { |
599 | .start = gpio_to_irq(VIPER_USB_GPIO), | 599 | .start = PXA_GPIO_TO_IRQ(VIPER_USB_GPIO), |
600 | .end = gpio_to_irq(VIPER_USB_GPIO), | 600 | .end = PXA_GPIO_TO_IRQ(VIPER_USB_GPIO), |
601 | .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHEDGE, | 601 | .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHEDGE, |
602 | }, | 602 | }, |
603 | }; | 603 | }; |
diff --git a/arch/arm/mach-pxa/vpac270.c b/arch/arm/mach-pxa/vpac270.c index fed5fb088714..1f5cfa96f6d6 100644 --- a/arch/arm/mach-pxa/vpac270.c +++ b/arch/arm/mach-pxa/vpac270.c | |||
@@ -395,8 +395,8 @@ static struct resource vpac270_dm9000_resources[] = { | |||
395 | .flags = IORESOURCE_MEM, | 395 | .flags = IORESOURCE_MEM, |
396 | }, | 396 | }, |
397 | [2] = { | 397 | [2] = { |
398 | .start = IRQ_GPIO(GPIO114_VPAC270_ETH_IRQ), | 398 | .start = PXA_GPIO_TO_IRQ(GPIO114_VPAC270_ETH_IRQ), |
399 | .end = IRQ_GPIO(GPIO114_VPAC270_ETH_IRQ), | 399 | .end = PXA_GPIO_TO_IRQ(GPIO114_VPAC270_ETH_IRQ), |
400 | .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHEDGE, | 400 | .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHEDGE, |
401 | }, | 401 | }, |
402 | }; | 402 | }; |
@@ -433,7 +433,7 @@ static pxa2xx_audio_ops_t vpac270_ac97_pdata = { | |||
433 | }; | 433 | }; |
434 | 434 | ||
435 | static struct ucb1400_pdata vpac270_ucb1400_pdata = { | 435 | static struct ucb1400_pdata vpac270_ucb1400_pdata = { |
436 | .irq = IRQ_GPIO(GPIO113_VPAC270_TS_IRQ), | 436 | .irq = PXA_GPIO_TO_IRQ(GPIO113_VPAC270_TS_IRQ), |
437 | }; | 437 | }; |
438 | 438 | ||
439 | static struct platform_device vpac270_ucb1400_device = { | 439 | static struct platform_device vpac270_ucb1400_device = { |
@@ -610,8 +610,8 @@ static struct resource vpac270_ide_resources[] = { | |||
610 | .flags = IORESOURCE_DMA | 610 | .flags = IORESOURCE_DMA |
611 | }, | 611 | }, |
612 | [3] = { /* IDE IRQ pin */ | 612 | [3] = { /* IDE IRQ pin */ |
613 | .start = gpio_to_irq(GPIO36_VPAC270_IDE_IRQ), | 613 | .start = PXA_GPIO_TO_IRQ(GPIO36_VPAC270_IDE_IRQ), |
614 | .end = gpio_to_irq(GPIO36_VPAC270_IDE_IRQ), | 614 | .end = PXA_GPIO_TO_IRQ(GPIO36_VPAC270_IDE_IRQ), |
615 | .flags = IORESOURCE_IRQ | 615 | .flags = IORESOURCE_IRQ |
616 | } | 616 | } |
617 | }; | 617 | }; |
diff --git a/arch/arm/mach-pxa/z2.c b/arch/arm/mach-pxa/z2.c index d75f66ab8c34..b6476848b561 100644 --- a/arch/arm/mach-pxa/z2.c +++ b/arch/arm/mach-pxa/z2.c | |||
@@ -573,7 +573,7 @@ static struct spi_board_info spi_board_info[] __initdata = { | |||
573 | .modalias = "libertas_spi", | 573 | .modalias = "libertas_spi", |
574 | .platform_data = &z2_lbs_pdata, | 574 | .platform_data = &z2_lbs_pdata, |
575 | .controller_data = &z2_lbs_chip_info, | 575 | .controller_data = &z2_lbs_chip_info, |
576 | .irq = gpio_to_irq(GPIO36_ZIPITZ2_WIFI_IRQ), | 576 | .irq = PXA_GPIO_TO_IRQ(GPIO36_ZIPITZ2_WIFI_IRQ), |
577 | .max_speed_hz = 13000000, | 577 | .max_speed_hz = 13000000, |
578 | .bus_num = 1, | 578 | .bus_num = 1, |
579 | .chip_select = 0, | 579 | .chip_select = 0, |
diff --git a/arch/arm/mach-pxa/zeus.c b/arch/arm/mach-pxa/zeus.c index 9db35a7fcfc0..a4dd1c347050 100644 --- a/arch/arm/mach-pxa/zeus.c +++ b/arch/arm/mach-pxa/zeus.c | |||
@@ -233,7 +233,7 @@ static struct plat_serial8250_port serial_platform_data[] = { | |||
233 | /* FIXME: Shared IRQs on COM1-COM4 will not work properly on v1i1 hardware. */ | 233 | /* FIXME: Shared IRQs on COM1-COM4 will not work properly on v1i1 hardware. */ |
234 | { /* COM1 */ | 234 | { /* COM1 */ |
235 | .mapbase = 0x10000000, | 235 | .mapbase = 0x10000000, |
236 | .irq = gpio_to_irq(ZEUS_UARTA_GPIO), | 236 | .irq = PXA_GPIO_TO_IRQ(ZEUS_UARTA_GPIO), |
237 | .irqflags = IRQF_TRIGGER_RISING, | 237 | .irqflags = IRQF_TRIGGER_RISING, |
238 | .uartclk = 14745600, | 238 | .uartclk = 14745600, |
239 | .regshift = 1, | 239 | .regshift = 1, |
@@ -242,7 +242,7 @@ static struct plat_serial8250_port serial_platform_data[] = { | |||
242 | }, | 242 | }, |
243 | { /* COM2 */ | 243 | { /* COM2 */ |
244 | .mapbase = 0x10800000, | 244 | .mapbase = 0x10800000, |
245 | .irq = gpio_to_irq(ZEUS_UARTB_GPIO), | 245 | .irq = PXA_GPIO_TO_IRQ(ZEUS_UARTB_GPIO), |
246 | .irqflags = IRQF_TRIGGER_RISING, | 246 | .irqflags = IRQF_TRIGGER_RISING, |
247 | .uartclk = 14745600, | 247 | .uartclk = 14745600, |
248 | .regshift = 1, | 248 | .regshift = 1, |
@@ -251,7 +251,7 @@ static struct plat_serial8250_port serial_platform_data[] = { | |||
251 | }, | 251 | }, |
252 | { /* COM3 */ | 252 | { /* COM3 */ |
253 | .mapbase = 0x11000000, | 253 | .mapbase = 0x11000000, |
254 | .irq = gpio_to_irq(ZEUS_UARTC_GPIO), | 254 | .irq = PXA_GPIO_TO_IRQ(ZEUS_UARTC_GPIO), |
255 | .irqflags = IRQF_TRIGGER_RISING, | 255 | .irqflags = IRQF_TRIGGER_RISING, |
256 | .uartclk = 14745600, | 256 | .uartclk = 14745600, |
257 | .regshift = 1, | 257 | .regshift = 1, |
@@ -260,7 +260,7 @@ static struct plat_serial8250_port serial_platform_data[] = { | |||
260 | }, | 260 | }, |
261 | { /* COM4 */ | 261 | { /* COM4 */ |
262 | .mapbase = 0x11800000, | 262 | .mapbase = 0x11800000, |
263 | .irq = gpio_to_irq(ZEUS_UARTD_GPIO), | 263 | .irq = PXA_GPIO_TO_IRQ(ZEUS_UARTD_GPIO), |
264 | .irqflags = IRQF_TRIGGER_RISING, | 264 | .irqflags = IRQF_TRIGGER_RISING, |
265 | .uartclk = 14745600, | 265 | .uartclk = 14745600, |
266 | .regshift = 1, | 266 | .regshift = 1, |
@@ -321,8 +321,8 @@ static struct resource zeus_dm9k0_resource[] = { | |||
321 | .flags = IORESOURCE_MEM | 321 | .flags = IORESOURCE_MEM |
322 | }, | 322 | }, |
323 | [2] = { | 323 | [2] = { |
324 | .start = gpio_to_irq(ZEUS_ETH0_GPIO), | 324 | .start = PXA_GPIO_TO_IRQ(ZEUS_ETH0_GPIO), |
325 | .end = gpio_to_irq(ZEUS_ETH0_GPIO), | 325 | .end = PXA_GPIO_TO_IRQ(ZEUS_ETH0_GPIO), |
326 | .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_LOWEDGE, | 326 | .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_LOWEDGE, |
327 | }, | 327 | }, |
328 | }; | 328 | }; |
@@ -339,8 +339,8 @@ static struct resource zeus_dm9k1_resource[] = { | |||
339 | .flags = IORESOURCE_MEM, | 339 | .flags = IORESOURCE_MEM, |
340 | }, | 340 | }, |
341 | [2] = { | 341 | [2] = { |
342 | .start = gpio_to_irq(ZEUS_ETH1_GPIO), | 342 | .start = PXA_GPIO_TO_IRQ(ZEUS_ETH1_GPIO), |
343 | .end = gpio_to_irq(ZEUS_ETH1_GPIO), | 343 | .end = PXA_GPIO_TO_IRQ(ZEUS_ETH1_GPIO), |
344 | .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_LOWEDGE, | 344 | .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_LOWEDGE, |
345 | }, | 345 | }, |
346 | }; | 346 | }; |
@@ -423,7 +423,7 @@ static struct spi_board_info zeus_spi_board_info[] = { | |||
423 | [0] = { | 423 | [0] = { |
424 | .modalias = "mcp2515", | 424 | .modalias = "mcp2515", |
425 | .platform_data = &zeus_mcp2515_pdata, | 425 | .platform_data = &zeus_mcp2515_pdata, |
426 | .irq = gpio_to_irq(ZEUS_CAN_GPIO), | 426 | .irq = PXA_GPIO_TO_IRQ(ZEUS_CAN_GPIO), |
427 | .max_speed_hz = 1*1000*1000, | 427 | .max_speed_hz = 1*1000*1000, |
428 | .bus_num = 3, | 428 | .bus_num = 3, |
429 | .mode = SPI_MODE_0, | 429 | .mode = SPI_MODE_0, |
@@ -753,7 +753,7 @@ static struct i2c_board_info __initdata zeus_i2c_devices[] = { | |||
753 | { | 753 | { |
754 | I2C_BOARD_INFO("pca9535", 0x20), | 754 | I2C_BOARD_INFO("pca9535", 0x20), |
755 | .platform_data = &zeus_pca953x_pdata[2], | 755 | .platform_data = &zeus_pca953x_pdata[2], |
756 | .irq = gpio_to_irq(ZEUS_EXTGPIO_GPIO), | 756 | .irq = PXA_GPIO_TO_IRQ(ZEUS_EXTGPIO_GPIO), |
757 | }, | 757 | }, |
758 | { I2C_BOARD_INFO("lm75a", 0x48) }, | 758 | { I2C_BOARD_INFO("lm75a", 0x48) }, |
759 | { I2C_BOARD_INFO("24c01", 0x50) }, | 759 | { I2C_BOARD_INFO("24c01", 0x50) }, |
diff --git a/arch/arm/mach-pxa/zylonite.c b/arch/arm/mach-pxa/zylonite.c index 7678b1bf7903..98eec80623e3 100644 --- a/arch/arm/mach-pxa/zylonite.c +++ b/arch/arm/mach-pxa/zylonite.c | |||
@@ -408,8 +408,8 @@ static void __init zylonite_init(void) | |||
408 | * Note: We depend that the bootloader set | 408 | * Note: We depend that the bootloader set |
409 | * the correct value to MSC register for SMC91x. | 409 | * the correct value to MSC register for SMC91x. |
410 | */ | 410 | */ |
411 | smc91x_resources[1].start = gpio_to_irq(gpio_eth_irq); | 411 | smc91x_resources[1].start = PXA_GPIO_TO_IRQ(gpio_eth_irq); |
412 | smc91x_resources[1].end = gpio_to_irq(gpio_eth_irq); | 412 | smc91x_resources[1].end = PXA_GPIO_TO_IRQ(gpio_eth_irq); |
413 | platform_device_register(&smc91x_device); | 413 | platform_device_register(&smc91x_device); |
414 | 414 | ||
415 | pxa_set_ac97_info(NULL); | 415 | pxa_set_ac97_info(NULL); |
diff --git a/arch/arm/mach-pxa/zylonite_pxa300.c b/arch/arm/mach-pxa/zylonite_pxa300.c index 93c64d8d7de9..86e59c043de2 100644 --- a/arch/arm/mach-pxa/zylonite_pxa300.c +++ b/arch/arm/mach-pxa/zylonite_pxa300.c | |||
@@ -231,12 +231,12 @@ static struct i2c_board_info zylonite_i2c_board_info[] = { | |||
231 | .type = "pca9539", | 231 | .type = "pca9539", |
232 | .addr = 0x74, | 232 | .addr = 0x74, |
233 | .platform_data = &gpio_exp[0], | 233 | .platform_data = &gpio_exp[0], |
234 | .irq = IRQ_GPIO(18), | 234 | .irq = PXA_GPIO_TO_IRQ(18), |
235 | }, { | 235 | }, { |
236 | .type = "pca9539", | 236 | .type = "pca9539", |
237 | .addr = 0x75, | 237 | .addr = 0x75, |
238 | .platform_data = &gpio_exp[1], | 238 | .platform_data = &gpio_exp[1], |
239 | .irq = IRQ_GPIO(19), | 239 | .irq = PXA_GPIO_TO_IRQ(19), |
240 | }, | 240 | }, |
241 | }; | 241 | }; |
242 | 242 | ||