diff options
author | Russell King <rmk@dyn-67.arm.linux.org.uk> | 2005-11-16 12:38:40 -0500 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2005-11-16 12:38:40 -0500 |
commit | 1b12050f17460dc312cfd8cc59c79e181b23062b (patch) | |
tree | 5f21465d9eb11f9825d89c3ac225a291f279b1a1 | |
parent | 8dc39b883e9497445b53c498be7493c3e43af006 (diff) |
[ARM] Move zone adjustment for SA1111 on SA11x0 platforms
Unfortunately, using PAGE_SHIFT in asm/arch/memory.h is unsafe, and we
can't include asm/page.h into this file because then we have a circular
dependency. Move the offending code to arch/arm/common/sa1111.c
instead.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
-rw-r--r-- | arch/arm/common/sa1111.c | 11 | ||||
-rw-r--r-- | include/asm-arm/arch-sa1100/memory.h | 14 |
2 files changed, 13 insertions, 12 deletions
diff --git a/arch/arm/common/sa1111.c b/arch/arm/common/sa1111.c index 39a6eea300a2..25387cf47530 100644 --- a/arch/arm/common/sa1111.c +++ b/arch/arm/common/sa1111.c | |||
@@ -132,6 +132,17 @@ static struct sa1111_dev_info sa1111_devices[] = { | |||
132 | }, | 132 | }, |
133 | }; | 133 | }; |
134 | 134 | ||
135 | void __init sa1111_adjust_zones(int node, unsigned long *size, unsigned long *holes) | ||
136 | { | ||
137 | unsigned int sz = SZ_1M >> PAGE_SHIFT; | ||
138 | |||
139 | if (node != 0) | ||
140 | sz = 0; | ||
141 | |||
142 | size[1] = size[0] - sz; | ||
143 | size[0] = sz; | ||
144 | } | ||
145 | |||
135 | /* | 146 | /* |
136 | * SA1111 interrupt support. Since clearing an IRQ while there are | 147 | * SA1111 interrupt support. Since clearing an IRQ while there are |
137 | * active IRQs causes the interrupt output to pulse, the upper levels | 148 | * active IRQs causes the interrupt output to pulse, the upper levels |
diff --git a/include/asm-arm/arch-sa1100/memory.h b/include/asm-arm/arch-sa1100/memory.h index 0fc555b4c912..018a9f0e3986 100644 --- a/include/asm-arm/arch-sa1100/memory.h +++ b/include/asm-arm/arch-sa1100/memory.h | |||
@@ -18,20 +18,10 @@ | |||
18 | #ifndef __ASSEMBLY__ | 18 | #ifndef __ASSEMBLY__ |
19 | 19 | ||
20 | #ifdef CONFIG_SA1111 | 20 | #ifdef CONFIG_SA1111 |
21 | static inline void | 21 | void sa1111_adjust_zones(int node, unsigned long *size, unsigned long *holes); |
22 | __arch_adjust_zones(int node, unsigned long *size, unsigned long *holes) | ||
23 | { | ||
24 | unsigned int sz = SZ_1M >> PAGE_SHIFT; | ||
25 | |||
26 | if (node != 0) | ||
27 | sz = 0; | ||
28 | |||
29 | size[1] = size[0] - sz; | ||
30 | size[0] = sz; | ||
31 | } | ||
32 | 22 | ||
33 | #define arch_adjust_zones(node, size, holes) \ | 23 | #define arch_adjust_zones(node, size, holes) \ |
34 | __arch_adjust_zones(node, size, holes) | 24 | sa1111_adjust_zones(node, size, holes) |
35 | 25 | ||
36 | #define ISA_DMA_THRESHOLD (PHYS_OFFSET + SZ_1M - 1) | 26 | #define ISA_DMA_THRESHOLD (PHYS_OFFSET + SZ_1M - 1) |
37 | 27 | ||