diff options
| author | Linus Torvalds <torvalds@g5.osdl.org> | 2006-05-07 20:32:57 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-05-07 20:32:57 -0400 |
| commit | 9d21f09ca03d1142f1988001f228d02581d8986c (patch) | |
| tree | ae2d485159ac4c3cbc2e4e5269434236c2de9104 | |
| parent | f5b40e363ad6041a96e3da32281d8faa191597b9 (diff) | |
| parent | 74fae122eb9f0db8b8718b9851c31c2f374fb134 (diff) | |
Merge master.kernel.org:/home/rmk/linux-2.6-arm
* master.kernel.org:/home/rmk/linux-2.6-arm:
[ARM] 3507/1: Replace map_desc.physical with map_desc.pfn: aaed2000
[ARM] 3506/1: aaec2000: debug-macro.S needs hardware.h
[ARM] 3505/1: aaec2000: entry-macro.S needs asm/arch/irqs.h
[ARM] 3504/1: Fix clcd includes for aaec2000
[ARM] 3503/1: Fix map_desc structure for aaec2000
[ARM] 3501/1: i.MX: fix lowlevel debug macros
[ARM] rtc-sa1100: fix compiler warnings and error cleanup
[ARM] Allow SA1100 RTC alarm to be configured for wakeup
| -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 | ||||
| -rw-r--r-- | drivers/rtc/rtc-sa1100.c | 6 | ||||
| -rw-r--r-- | include/asm-arm/arch-aaec2000/debug-macro.S | 1 | ||||
| -rw-r--r-- | include/asm-arm/arch-aaec2000/entry-macro.S | 1 | ||||
| -rw-r--r-- | include/asm-arm/arch-imx/debug-macro.S | 2 |
9 files changed, 32 insertions, 9 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 = { |
diff --git a/drivers/rtc/rtc-sa1100.c b/drivers/rtc/rtc-sa1100.c index a23ec54989f6..2bc8aad47219 100644 --- a/drivers/rtc/rtc-sa1100.c +++ b/drivers/rtc/rtc-sa1100.c | |||
| @@ -178,9 +178,9 @@ static int sa1100_rtc_open(struct device *dev) | |||
| 178 | return 0; | 178 | return 0; |
| 179 | 179 | ||
| 180 | fail_pi: | 180 | fail_pi: |
| 181 | free_irq(IRQ_RTCAlrm, NULL); | 181 | free_irq(IRQ_RTCAlrm, dev); |
| 182 | fail_ai: | 182 | fail_ai: |
| 183 | free_irq(IRQ_RTC1Hz, NULL); | 183 | free_irq(IRQ_RTC1Hz, dev); |
| 184 | fail_ui: | 184 | fail_ui: |
| 185 | return ret; | 185 | return ret; |
| 186 | } | 186 | } |
| @@ -295,7 +295,7 @@ static int sa1100_rtc_set_alarm(struct device *dev, struct rtc_wkalrm *alrm) | |||
| 295 | 295 | ||
| 296 | static int sa1100_rtc_proc(struct device *dev, struct seq_file *seq) | 296 | static int sa1100_rtc_proc(struct device *dev, struct seq_file *seq) |
| 297 | { | 297 | { |
| 298 | seq_printf(seq, "trim/divider\t: 0x%08x\n", RTTR); | 298 | seq_printf(seq, "trim/divider\t: 0x%08lx\n", RTTR); |
| 299 | seq_printf(seq, "alarm_IRQ\t: %s\n", | 299 | seq_printf(seq, "alarm_IRQ\t: %s\n", |
| 300 | (RTSR & RTSR_ALE) ? "yes" : "no" ); | 300 | (RTSR & RTSR_ALE) ? "yes" : "no" ); |
| 301 | seq_printf(seq, "update_IRQ\t: %s\n", | 301 | seq_printf(seq, "update_IRQ\t: %s\n", |
diff --git a/include/asm-arm/arch-aaec2000/debug-macro.S b/include/asm-arm/arch-aaec2000/debug-macro.S index e4f1fa539a74..7b1fce021d8a 100644 --- a/include/asm-arm/arch-aaec2000/debug-macro.S +++ b/include/asm-arm/arch-aaec2000/debug-macro.S | |||
| @@ -9,6 +9,7 @@ | |||
| 9 | * published by the Free Software Foundation. | 9 | * published by the Free Software Foundation. |
| 10 | */ | 10 | */ |
| 11 | 11 | ||
| 12 | #include "hardware.h" | ||
| 12 | .macro addruart,rx | 13 | .macro addruart,rx |
| 13 | mrc p15, 0, \rx, c1, c0 | 14 | mrc p15, 0, \rx, c1, c0 |
| 14 | tst \rx, #1 @ MMU enabled? | 15 | tst \rx, #1 @ MMU enabled? |
diff --git a/include/asm-arm/arch-aaec2000/entry-macro.S b/include/asm-arm/arch-aaec2000/entry-macro.S index df31313ab07e..1eb3503bd16e 100644 --- a/include/asm-arm/arch-aaec2000/entry-macro.S +++ b/include/asm-arm/arch-aaec2000/entry-macro.S | |||
| @@ -10,6 +10,7 @@ | |||
| 10 | * published by the Free Software Foundation. | 10 | * published by the Free Software Foundation. |
| 11 | * | 11 | * |
| 12 | */ | 12 | */ |
| 13 | #include <asm/arch/irqs.h> | ||
| 13 | 14 | ||
| 14 | .macro disable_fiq | 15 | .macro disable_fiq |
| 15 | .endm | 16 | .endm |
diff --git a/include/asm-arm/arch-imx/debug-macro.S b/include/asm-arm/arch-imx/debug-macro.S index 83f552f7bcc1..c611871643a2 100644 --- a/include/asm-arm/arch-imx/debug-macro.S +++ b/include/asm-arm/arch-imx/debug-macro.S | |||
| @@ -16,7 +16,7 @@ | |||
| 16 | tst \rx, #1 @ MMU enabled? | 16 | tst \rx, #1 @ MMU enabled? |
| 17 | moveq \rx, #0x00000000 @ physical | 17 | moveq \rx, #0x00000000 @ physical |
| 18 | movne \rx, #0xe0000000 @ virtual | 18 | movne \rx, #0xe0000000 @ virtual |
| 19 | orr \rx, \rx, #0x00200000 | 19 | orreq \rx, \rx, #0x00200000 @ physical |
| 20 | orr \rx, \rx, #0x00006000 @ UART1 offset | 20 | orr \rx, \rx, #0x00006000 @ UART1 offset |
| 21 | .endm | 21 | .endm |
| 22 | 22 | ||
