diff options
Diffstat (limited to 'arch/arm')
-rw-r--r-- | arch/arm/mach-aaec2000/aaed2000.c | 7 | ||||
-rw-r--r-- | arch/arm/mach-aaec2000/core.c | 5 | ||||
-rw-r--r-- | arch/arm/mach-aaec2000/core.h | 1 | ||||
-rw-r--r-- | arch/arm/mach-imx/mx1ads.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-sa1100/irq.c | 16 |
5 files changed, 26 insertions, 5 deletions
diff --git a/arch/arm/mach-aaec2000/aaed2000.c b/arch/arm/mach-aaec2000/aaed2000.c index dc5fa8e5ebef..83f57da3184c 100644 --- a/arch/arm/mach-aaec2000/aaed2000.c +++ b/arch/arm/mach-aaec2000/aaed2000.c | |||
@@ -79,7 +79,12 @@ static void __init aaed2000_init(void) | |||
79 | } | 79 | } |
80 | 80 | ||
81 | static struct map_desc aaed2000_io_desc[] __initdata = { | 81 | static struct map_desc aaed2000_io_desc[] __initdata = { |
82 | { EXT_GPIO_VBASE, EXT_GPIO_PBASE, EXT_GPIO_LENGTH, MT_DEVICE }, /* Ext GPIO */ | 82 | { |
83 | .virtual = EXT_GPIO_VBASE, | ||
84 | .pfn = __phys_to_pfn(EXT_GPIO_PBASE), | ||
85 | .length = EXT_GPIO_LENGTH, | ||
86 | .type = MT_DEVICE | ||
87 | }, | ||
83 | }; | 88 | }; |
84 | 89 | ||
85 | static void __init aaed2000_map_io(void) | 90 | static void __init aaed2000_map_io(void) |
diff --git a/arch/arm/mach-aaec2000/core.c b/arch/arm/mach-aaec2000/core.c index dce4815cf53c..65be5efd633c 100644 --- a/arch/arm/mach-aaec2000/core.c +++ b/arch/arm/mach-aaec2000/core.c | |||
@@ -20,7 +20,6 @@ | |||
20 | #include <linux/interrupt.h> | 20 | #include <linux/interrupt.h> |
21 | #include <linux/timex.h> | 21 | #include <linux/timex.h> |
22 | #include <linux/signal.h> | 22 | #include <linux/signal.h> |
23 | #include <linux/amba/bus.h> | ||
24 | 23 | ||
25 | #include <asm/hardware.h> | 24 | #include <asm/hardware.h> |
26 | #include <asm/irq.h> | 25 | #include <asm/irq.h> |
@@ -50,12 +49,12 @@ | |||
50 | static struct map_desc standard_io_desc[] __initdata = { | 49 | static struct map_desc standard_io_desc[] __initdata = { |
51 | { | 50 | { |
52 | .virtual = VIO_APB_BASE, | 51 | .virtual = VIO_APB_BASE, |
53 | .physical = __phys_to_pfn(PIO_APB_BASE), | 52 | .pfn = __phys_to_pfn(PIO_APB_BASE), |
54 | .length = IO_APB_LENGTH, | 53 | .length = IO_APB_LENGTH, |
55 | .type = MT_DEVICE | 54 | .type = MT_DEVICE |
56 | }, { | 55 | }, { |
57 | .virtual = VIO_AHB_BASE, | 56 | .virtual = VIO_AHB_BASE, |
58 | .physical = __phys_to_pfn(PIO_AHB_BASE), | 57 | .pfn = __phys_to_pfn(PIO_AHB_BASE), |
59 | .length = IO_AHB_LENGTH, | 58 | .length = IO_AHB_LENGTH, |
60 | .type = MT_DEVICE | 59 | .type = MT_DEVICE |
61 | } | 60 | } |
diff --git a/arch/arm/mach-aaec2000/core.h b/arch/arm/mach-aaec2000/core.h index b6029a95f19c..59501b573167 100644 --- a/arch/arm/mach-aaec2000/core.h +++ b/arch/arm/mach-aaec2000/core.h | |||
@@ -9,6 +9,7 @@ | |||
9 | * | 9 | * |
10 | */ | 10 | */ |
11 | 11 | ||
12 | #include <linux/amba/bus.h> | ||
12 | #include <linux/amba/clcd.h> | 13 | #include <linux/amba/clcd.h> |
13 | 14 | ||
14 | struct sys_timer; | 15 | struct sys_timer; |
diff --git a/arch/arm/mach-imx/mx1ads.c b/arch/arm/mach-imx/mx1ads.c index e1f6c0bbe1e7..da893c80d471 100644 --- a/arch/arm/mach-imx/mx1ads.c +++ b/arch/arm/mach-imx/mx1ads.c | |||
@@ -161,7 +161,7 @@ mx1ads_map_io(void) | |||
161 | MACHINE_START(MX1ADS, "Motorola MX1ADS") | 161 | MACHINE_START(MX1ADS, "Motorola MX1ADS") |
162 | /* Maintainer: Sascha Hauer, Pengutronix */ | 162 | /* Maintainer: Sascha Hauer, Pengutronix */ |
163 | .phys_io = 0x00200000, | 163 | .phys_io = 0x00200000, |
164 | .io_pg_offst = ((0xe0200000) >> 18) & 0xfffc, | 164 | .io_pg_offst = ((0xe0000000) >> 18) & 0xfffc, |
165 | .boot_params = 0x08000100, | 165 | .boot_params = 0x08000100, |
166 | .map_io = mx1ads_map_io, | 166 | .map_io = mx1ads_map_io, |
167 | .init_irq = imx_init_irq, | 167 | .init_irq = imx_init_irq, |
diff --git a/arch/arm/mach-sa1100/irq.c b/arch/arm/mach-sa1100/irq.c index c131a5201b5b..b3a56024182e 100644 --- a/arch/arm/mach-sa1100/irq.c +++ b/arch/arm/mach-sa1100/irq.c | |||
@@ -199,10 +199,26 @@ static void sa1100_unmask_irq(unsigned int irq) | |||
199 | ICMR |= (1 << irq); | 199 | ICMR |= (1 << irq); |
200 | } | 200 | } |
201 | 201 | ||
202 | /* | ||
203 | * Apart form GPIOs, only the RTC alarm can be a wakeup event. | ||
204 | */ | ||
205 | static int sa1100_set_wake(unsigned int irq, unsigned int on) | ||
206 | { | ||
207 | if (irq == IRQ_RTCAlrm) { | ||
208 | if (on) | ||
209 | PWER |= PWER_RTC; | ||
210 | else | ||
211 | PWER &= ~PWER_RTC; | ||
212 | return 0; | ||
213 | } | ||
214 | return -EINVAL; | ||
215 | } | ||
216 | |||
202 | static struct irqchip sa1100_normal_chip = { | 217 | static struct irqchip sa1100_normal_chip = { |
203 | .ack = sa1100_mask_irq, | 218 | .ack = sa1100_mask_irq, |
204 | .mask = sa1100_mask_irq, | 219 | .mask = sa1100_mask_irq, |
205 | .unmask = sa1100_unmask_irq, | 220 | .unmask = sa1100_unmask_irq, |
221 | .set_wake = sa1100_set_wake, | ||
206 | }; | 222 | }; |
207 | 223 | ||
208 | static struct resource irq_resource = { | 224 | static struct resource irq_resource = { |