diff options
author | Ingo Molnar <mingo@elte.hu> | 2008-07-26 11:48:49 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-07-26 11:48:49 -0400 |
commit | c3cc99ff5d24e2eeaf7ec2032e720681916990e3 (patch) | |
tree | c3e74171bbbd2adde9d60b9db1c440415c8d2831 /arch/arm | |
parent | 38ffbe66d59051fd9cfcfc8545f164700e2fa3bc (diff) | |
parent | 024e8ac04453b3525448c31ef39848cf675ba6db (diff) |
Merge branch 'linus' into x86/xen
Diffstat (limited to 'arch/arm')
-rw-r--r-- | arch/arm/Kconfig | 21 | ||||
-rw-r--r-- | arch/arm/boot/compressed/misc.c | 59 | ||||
-rw-r--r-- | arch/arm/kernel/kprobes.c | 6 | ||||
-rw-r--r-- | arch/arm/kernel/module.c | 1 | ||||
-rw-r--r-- | arch/arm/kernel/process.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-iop32x/n2100.c | 52 | ||||
-rw-r--r-- | arch/arm/mach-ns9xxx/clock.c | 2 | ||||
-rw-r--r-- | arch/arm/mm/discontig.c | 34 | ||||
-rw-r--r-- | arch/arm/mm/init.c | 2 | ||||
-rw-r--r-- | arch/arm/plat-omap/fb.c | 5 | ||||
-rw-r--r-- | arch/arm/plat-omap/gpio.c | 3 |
11 files changed, 103 insertions, 84 deletions
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index d048f6887d0b..dabb015aa40b 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig | |||
@@ -198,12 +198,14 @@ choice | |||
198 | config ARCH_AAEC2000 | 198 | config ARCH_AAEC2000 |
199 | bool "Agilent AAEC-2000 based" | 199 | bool "Agilent AAEC-2000 based" |
200 | select ARM_AMBA | 200 | select ARM_AMBA |
201 | select HAVE_CLK | ||
201 | help | 202 | help |
202 | This enables support for systems based on the Agilent AAEC-2000 | 203 | This enables support for systems based on the Agilent AAEC-2000 |
203 | 204 | ||
204 | config ARCH_INTEGRATOR | 205 | config ARCH_INTEGRATOR |
205 | bool "ARM Ltd. Integrator family" | 206 | bool "ARM Ltd. Integrator family" |
206 | select ARM_AMBA | 207 | select ARM_AMBA |
208 | select HAVE_CLK | ||
207 | select ICST525 | 209 | select ICST525 |
208 | help | 210 | help |
209 | Support for ARM's Integrator platform. | 211 | Support for ARM's Integrator platform. |
@@ -211,6 +213,7 @@ config ARCH_INTEGRATOR | |||
211 | config ARCH_REALVIEW | 213 | config ARCH_REALVIEW |
212 | bool "ARM Ltd. RealView family" | 214 | bool "ARM Ltd. RealView family" |
213 | select ARM_AMBA | 215 | select ARM_AMBA |
216 | select HAVE_CLK | ||
214 | select ICST307 | 217 | select ICST307 |
215 | select GENERIC_TIME | 218 | select GENERIC_TIME |
216 | select GENERIC_CLOCKEVENTS | 219 | select GENERIC_CLOCKEVENTS |
@@ -221,6 +224,7 @@ config ARCH_VERSATILE | |||
221 | bool "ARM Ltd. Versatile family" | 224 | bool "ARM Ltd. Versatile family" |
222 | select ARM_AMBA | 225 | select ARM_AMBA |
223 | select ARM_VIC | 226 | select ARM_VIC |
227 | select HAVE_CLK | ||
224 | select ICST307 | 228 | select ICST307 |
225 | select GENERIC_TIME | 229 | select GENERIC_TIME |
226 | select GENERIC_CLOCKEVENTS | 230 | select GENERIC_CLOCKEVENTS |
@@ -262,7 +266,9 @@ config ARCH_EP93XX | |||
262 | select ARM_AMBA | 266 | select ARM_AMBA |
263 | select ARM_VIC | 267 | select ARM_VIC |
264 | select GENERIC_GPIO | 268 | select GENERIC_GPIO |
265 | select HAVE_GPIO_LIB | 269 | select HAVE_CLK |
270 | select HAVE_CLK | ||
271 | select ARCH_REQUIRE_GPIOLIB | ||
266 | help | 272 | help |
267 | This enables support for the Cirrus EP93xx series of CPUs. | 273 | This enables support for the Cirrus EP93xx series of CPUs. |
268 | 274 | ||
@@ -381,6 +387,7 @@ config ARCH_NS9XXX | |||
381 | select GENERIC_GPIO | 387 | select GENERIC_GPIO |
382 | select GENERIC_TIME | 388 | select GENERIC_TIME |
383 | select GENERIC_CLOCKEVENTS | 389 | select GENERIC_CLOCKEVENTS |
390 | select HAVE_CLK | ||
384 | help | 391 | help |
385 | Say Y here if you intend to run this kernel on a NetSilicon NS9xxx | 392 | Say Y here if you intend to run this kernel on a NetSilicon NS9xxx |
386 | System. | 393 | System. |
@@ -430,6 +437,7 @@ config ARCH_ORION5X | |||
430 | 437 | ||
431 | config ARCH_PNX4008 | 438 | config ARCH_PNX4008 |
432 | bool "Philips Nexperia PNX4008 Mobile" | 439 | bool "Philips Nexperia PNX4008 Mobile" |
440 | select HAVE_CLK | ||
433 | help | 441 | help |
434 | This enables support for Philips PNX4008 mobile platform. | 442 | This enables support for Philips PNX4008 mobile platform. |
435 | 443 | ||
@@ -438,7 +446,8 @@ config ARCH_PXA | |||
438 | depends on MMU | 446 | depends on MMU |
439 | select ARCH_MTD_XIP | 447 | select ARCH_MTD_XIP |
440 | select GENERIC_GPIO | 448 | select GENERIC_GPIO |
441 | select HAVE_GPIO_LIB | 449 | select HAVE_CLK |
450 | select ARCH_REQUIRE_GPIOLIB | ||
442 | select GENERIC_TIME | 451 | select GENERIC_TIME |
443 | select GENERIC_CLOCKEVENTS | 452 | select GENERIC_CLOCKEVENTS |
444 | select TICK_ONESHOT | 453 | select TICK_ONESHOT |
@@ -468,14 +477,16 @@ config ARCH_SA1100 | |||
468 | select GENERIC_GPIO | 477 | select GENERIC_GPIO |
469 | select GENERIC_TIME | 478 | select GENERIC_TIME |
470 | select GENERIC_CLOCKEVENTS | 479 | select GENERIC_CLOCKEVENTS |
480 | select HAVE_CLK | ||
471 | select TICK_ONESHOT | 481 | select TICK_ONESHOT |
472 | select HAVE_GPIO_LIB | 482 | select ARCH_REQUIRE_GPIOLIB |
473 | help | 483 | help |
474 | Support for StrongARM 11x0 based boards. | 484 | Support for StrongARM 11x0 based boards. |
475 | 485 | ||
476 | config ARCH_S3C2410 | 486 | config ARCH_S3C2410 |
477 | bool "Samsung S3C2410, S3C2412, S3C2413, S3C2440, S3C2442, S3C2443" | 487 | bool "Samsung S3C2410, S3C2412, S3C2413, S3C2440, S3C2442, S3C2443" |
478 | select GENERIC_GPIO | 488 | select GENERIC_GPIO |
489 | select HAVE_CLK | ||
479 | help | 490 | help |
480 | Samsung S3C2410X CPU based systems, such as the Simtec Electronics | 491 | Samsung S3C2410X CPU based systems, such as the Simtec Electronics |
481 | BAST (<http://www.simtec.co.uk/products/EB110ITX/>), the IPAQ 1940 or | 492 | BAST (<http://www.simtec.co.uk/products/EB110ITX/>), the IPAQ 1940 or |
@@ -503,13 +514,15 @@ config ARCH_DAVINCI | |||
503 | select GENERIC_TIME | 514 | select GENERIC_TIME |
504 | select GENERIC_CLOCKEVENTS | 515 | select GENERIC_CLOCKEVENTS |
505 | select GENERIC_GPIO | 516 | select GENERIC_GPIO |
517 | select HAVE_CLK | ||
506 | help | 518 | help |
507 | Support for TI's DaVinci platform. | 519 | Support for TI's DaVinci platform. |
508 | 520 | ||
509 | config ARCH_OMAP | 521 | config ARCH_OMAP |
510 | bool "TI OMAP" | 522 | bool "TI OMAP" |
511 | select GENERIC_GPIO | 523 | select GENERIC_GPIO |
512 | select HAVE_GPIO_LIB | 524 | select HAVE_CLK |
525 | select ARCH_REQUIRE_GPIOLIB | ||
513 | select GENERIC_TIME | 526 | select GENERIC_TIME |
514 | select GENERIC_CLOCKEVENTS | 527 | select GENERIC_CLOCKEVENTS |
515 | help | 528 | help |
diff --git a/arch/arm/boot/compressed/misc.c b/arch/arm/boot/compressed/misc.c index 9b444022cb9b..7145cc7c04f0 100644 --- a/arch/arm/boot/compressed/misc.c +++ b/arch/arm/boot/compressed/misc.c | |||
@@ -217,8 +217,6 @@ static unsigned outcnt; /* bytes in output buffer */ | |||
217 | static int fill_inbuf(void); | 217 | static int fill_inbuf(void); |
218 | static void flush_window(void); | 218 | static void flush_window(void); |
219 | static void error(char *m); | 219 | static void error(char *m); |
220 | static void gzip_mark(void **); | ||
221 | static void gzip_release(void **); | ||
222 | 220 | ||
223 | extern char input_data[]; | 221 | extern char input_data[]; |
224 | extern char input_data_end[]; | 222 | extern char input_data_end[]; |
@@ -227,64 +225,21 @@ static uch *output_data; | |||
227 | static ulg output_ptr; | 225 | static ulg output_ptr; |
228 | static ulg bytes_out; | 226 | static ulg bytes_out; |
229 | 227 | ||
230 | static void *malloc(int size); | ||
231 | static void free(void *where); | ||
232 | static void error(char *m); | 228 | static void error(char *m); |
233 | static void gzip_mark(void **); | ||
234 | static void gzip_release(void **); | ||
235 | 229 | ||
236 | static void putstr(const char *); | 230 | static void putstr(const char *); |
237 | 231 | ||
238 | extern int end; | 232 | extern int end; |
239 | static ulg free_mem_ptr; | 233 | static ulg free_mem_ptr; |
240 | static ulg free_mem_ptr_end; | 234 | static ulg free_mem_end_ptr; |
241 | 235 | ||
242 | #define HEAP_SIZE 0x3000 | 236 | #ifdef STANDALONE_DEBUG |
243 | 237 | #define NO_INFLATE_MALLOC | |
244 | #include "../../../../lib/inflate.c" | 238 | #endif |
245 | |||
246 | #ifndef STANDALONE_DEBUG | ||
247 | static void *malloc(int size) | ||
248 | { | ||
249 | void *p; | ||
250 | |||
251 | if (size <0) error("Malloc error"); | ||
252 | if (free_mem_ptr <= 0) error("Memory error"); | ||
253 | |||
254 | free_mem_ptr = (free_mem_ptr + 3) & ~3; /* Align */ | ||
255 | |||
256 | p = (void *)free_mem_ptr; | ||
257 | free_mem_ptr += size; | ||
258 | |||
259 | if (free_mem_ptr >= free_mem_ptr_end) | ||
260 | error("Out of memory"); | ||
261 | return p; | ||
262 | } | ||
263 | |||
264 | static void free(void *where) | ||
265 | { /* gzip_mark & gzip_release do the free */ | ||
266 | } | ||
267 | |||
268 | static void gzip_mark(void **ptr) | ||
269 | { | ||
270 | arch_decomp_wdog(); | ||
271 | *ptr = (void *) free_mem_ptr; | ||
272 | } | ||
273 | 239 | ||
274 | static void gzip_release(void **ptr) | 240 | #define ARCH_HAS_DECOMP_WDOG |
275 | { | ||
276 | arch_decomp_wdog(); | ||
277 | free_mem_ptr = (long) *ptr; | ||
278 | } | ||
279 | #else | ||
280 | static void gzip_mark(void **ptr) | ||
281 | { | ||
282 | } | ||
283 | 241 | ||
284 | static void gzip_release(void **ptr) | 242 | #include "../../../../lib/inflate.c" |
285 | { | ||
286 | } | ||
287 | #endif | ||
288 | 243 | ||
289 | /* =========================================================================== | 244 | /* =========================================================================== |
290 | * Fill the input buffer. This is called only when the buffer is empty | 245 | * Fill the input buffer. This is called only when the buffer is empty |
@@ -348,7 +303,7 @@ decompress_kernel(ulg output_start, ulg free_mem_ptr_p, ulg free_mem_ptr_end_p, | |||
348 | { | 303 | { |
349 | output_data = (uch *)output_start; /* Points to kernel start */ | 304 | output_data = (uch *)output_start; /* Points to kernel start */ |
350 | free_mem_ptr = free_mem_ptr_p; | 305 | free_mem_ptr = free_mem_ptr_p; |
351 | free_mem_ptr_end = free_mem_ptr_end_p; | 306 | free_mem_end_ptr = free_mem_ptr_end_p; |
352 | __machine_arch_type = arch_id; | 307 | __machine_arch_type = arch_id; |
353 | 308 | ||
354 | arch_decomp_setup(); | 309 | arch_decomp_setup(); |
diff --git a/arch/arm/kernel/kprobes.c b/arch/arm/kernel/kprobes.c index 5ee39e10c8d1..d28513f14d05 100644 --- a/arch/arm/kernel/kprobes.c +++ b/arch/arm/kernel/kprobes.c | |||
@@ -296,8 +296,7 @@ static __used __kprobes void *trampoline_handler(struct pt_regs *regs) | |||
296 | unsigned long trampoline_address = (unsigned long)&kretprobe_trampoline; | 296 | unsigned long trampoline_address = (unsigned long)&kretprobe_trampoline; |
297 | 297 | ||
298 | INIT_HLIST_HEAD(&empty_rp); | 298 | INIT_HLIST_HEAD(&empty_rp); |
299 | spin_lock_irqsave(&kretprobe_lock, flags); | 299 | kretprobe_hash_lock(current, &head, &flags); |
300 | head = kretprobe_inst_table_head(current); | ||
301 | 300 | ||
302 | /* | 301 | /* |
303 | * It is possible to have multiple instances associated with a given | 302 | * It is possible to have multiple instances associated with a given |
@@ -337,7 +336,7 @@ static __used __kprobes void *trampoline_handler(struct pt_regs *regs) | |||
337 | } | 336 | } |
338 | 337 | ||
339 | kretprobe_assert(ri, orig_ret_address, trampoline_address); | 338 | kretprobe_assert(ri, orig_ret_address, trampoline_address); |
340 | spin_unlock_irqrestore(&kretprobe_lock, flags); | 339 | kretprobe_hash_unlock(current, &flags); |
341 | 340 | ||
342 | hlist_for_each_entry_safe(ri, node, tmp, &empty_rp, hlist) { | 341 | hlist_for_each_entry_safe(ri, node, tmp, &empty_rp, hlist) { |
343 | hlist_del(&ri->hlist); | 342 | hlist_del(&ri->hlist); |
@@ -347,7 +346,6 @@ static __used __kprobes void *trampoline_handler(struct pt_regs *regs) | |||
347 | return (void *)orig_ret_address; | 346 | return (void *)orig_ret_address; |
348 | } | 347 | } |
349 | 348 | ||
350 | /* Called with kretprobe_lock held. */ | ||
351 | void __kprobes arch_prepare_kretprobe(struct kretprobe_instance *ri, | 349 | void __kprobes arch_prepare_kretprobe(struct kretprobe_instance *ri, |
352 | struct pt_regs *regs) | 350 | struct pt_regs *regs) |
353 | { | 351 | { |
diff --git a/arch/arm/kernel/module.c b/arch/arm/kernel/module.c index 79b7e5cf5416..a68259a0cccd 100644 --- a/arch/arm/kernel/module.c +++ b/arch/arm/kernel/module.c | |||
@@ -13,6 +13,7 @@ | |||
13 | #include <linux/module.h> | 13 | #include <linux/module.h> |
14 | #include <linux/moduleloader.h> | 14 | #include <linux/moduleloader.h> |
15 | #include <linux/kernel.h> | 15 | #include <linux/kernel.h> |
16 | #include <linux/mm.h> | ||
16 | #include <linux/elf.h> | 17 | #include <linux/elf.h> |
17 | #include <linux/vmalloc.h> | 18 | #include <linux/vmalloc.h> |
18 | #include <linux/slab.h> | 19 | #include <linux/slab.h> |
diff --git a/arch/arm/kernel/process.c b/arch/arm/kernel/process.c index 199b3680118b..89bfded70a1f 100644 --- a/arch/arm/kernel/process.c +++ b/arch/arm/kernel/process.c | |||
@@ -162,7 +162,7 @@ void cpu_idle(void) | |||
162 | if (!idle) | 162 | if (!idle) |
163 | idle = default_idle; | 163 | idle = default_idle; |
164 | leds_event(led_idle_start); | 164 | leds_event(led_idle_start); |
165 | tick_nohz_stop_sched_tick(); | 165 | tick_nohz_stop_sched_tick(1); |
166 | while (!need_resched()) | 166 | while (!need_resched()) |
167 | idle(); | 167 | idle(); |
168 | leds_event(led_idle_end); | 168 | leds_event(led_idle_end); |
diff --git a/arch/arm/mach-iop32x/n2100.c b/arch/arm/mach-iop32x/n2100.c index 2741063bf361..28f164ea4726 100644 --- a/arch/arm/mach-iop32x/n2100.c +++ b/arch/arm/mach-iop32x/n2100.c | |||
@@ -17,6 +17,7 @@ | |||
17 | #include <linux/mm.h> | 17 | #include <linux/mm.h> |
18 | #include <linux/init.h> | 18 | #include <linux/init.h> |
19 | #include <linux/f75375s.h> | 19 | #include <linux/f75375s.h> |
20 | #include <linux/leds-pca9532.h> | ||
20 | #include <linux/delay.h> | 21 | #include <linux/delay.h> |
21 | #include <linux/kernel.h> | 22 | #include <linux/kernel.h> |
22 | #include <linux/pci.h> | 23 | #include <linux/pci.h> |
@@ -206,6 +207,53 @@ static struct f75375s_platform_data n2100_f75375s = { | |||
206 | .pwm_enable = { 0, 0 }, | 207 | .pwm_enable = { 0, 0 }, |
207 | }; | 208 | }; |
208 | 209 | ||
210 | static struct pca9532_platform_data n2100_leds = { | ||
211 | .leds = { | ||
212 | { .name = "n2100:red:satafail0", | ||
213 | .state = PCA9532_OFF, | ||
214 | .type = PCA9532_TYPE_LED, | ||
215 | }, | ||
216 | { .name = "n2100:red:satafail1", | ||
217 | .state = PCA9532_OFF, | ||
218 | .type = PCA9532_TYPE_LED, | ||
219 | }, | ||
220 | { .name = "n2100:blue:usb", | ||
221 | .state = PCA9532_OFF, | ||
222 | .type = PCA9532_TYPE_LED, | ||
223 | }, | ||
224 | { .type = PCA9532_TYPE_NONE }, | ||
225 | |||
226 | { .type = PCA9532_TYPE_NONE }, | ||
227 | { .type = PCA9532_TYPE_NONE }, | ||
228 | { .type = PCA9532_TYPE_NONE }, | ||
229 | { .name = "n2100:red:usb", | ||
230 | .state = PCA9532_OFF, | ||
231 | .type = PCA9532_TYPE_LED, | ||
232 | }, | ||
233 | |||
234 | { .type = PCA9532_TYPE_NONE }, /* power OFF gpio */ | ||
235 | { .type = PCA9532_TYPE_NONE }, /* reset gpio */ | ||
236 | { .type = PCA9532_TYPE_NONE }, | ||
237 | { .type = PCA9532_TYPE_NONE }, | ||
238 | |||
239 | { .type = PCA9532_TYPE_NONE }, | ||
240 | { .name = "n2100:orange:system", | ||
241 | .state = PCA9532_OFF, | ||
242 | .type = PCA9532_TYPE_LED, | ||
243 | }, | ||
244 | { .name = "n2100:red:system", | ||
245 | .state = PCA9532_OFF, | ||
246 | .type = PCA9532_TYPE_LED, | ||
247 | }, | ||
248 | { .name = "N2100 beeper" , | ||
249 | .state = PCA9532_OFF, | ||
250 | .type = PCA9532_TYPE_N2100_BEEP, | ||
251 | }, | ||
252 | }, | ||
253 | .psc = { 0, 0 }, | ||
254 | .pwm = { 0, 0 }, | ||
255 | }; | ||
256 | |||
209 | static struct i2c_board_info __initdata n2100_i2c_devices[] = { | 257 | static struct i2c_board_info __initdata n2100_i2c_devices[] = { |
210 | { | 258 | { |
211 | I2C_BOARD_INFO("rs5c372b", 0x32), | 259 | I2C_BOARD_INFO("rs5c372b", 0x32), |
@@ -214,6 +262,10 @@ static struct i2c_board_info __initdata n2100_i2c_devices[] = { | |||
214 | I2C_BOARD_INFO("f75375", 0x2e), | 262 | I2C_BOARD_INFO("f75375", 0x2e), |
215 | .platform_data = &n2100_f75375s, | 263 | .platform_data = &n2100_f75375s, |
216 | }, | 264 | }, |
265 | { | ||
266 | I2C_BOARD_INFO("pca9532", 0x60), | ||
267 | .platform_data = &n2100_leds, | ||
268 | }, | ||
217 | }; | 269 | }; |
218 | 270 | ||
219 | /* | 271 | /* |
diff --git a/arch/arm/mach-ns9xxx/clock.c b/arch/arm/mach-ns9xxx/clock.c index f8639161068f..44ed20d4a388 100644 --- a/arch/arm/mach-ns9xxx/clock.c +++ b/arch/arm/mach-ns9xxx/clock.c | |||
@@ -14,8 +14,8 @@ | |||
14 | #include <linux/clk.h> | 14 | #include <linux/clk.h> |
15 | #include <linux/string.h> | 15 | #include <linux/string.h> |
16 | #include <linux/platform_device.h> | 16 | #include <linux/platform_device.h> |
17 | #include <linux/semaphore.h> | ||
17 | 18 | ||
18 | #include <asm/semaphore.h> | ||
19 | #include "clock.h" | 19 | #include "clock.h" |
20 | 20 | ||
21 | static LIST_HEAD(clocks); | 21 | static LIST_HEAD(clocks); |
diff --git a/arch/arm/mm/discontig.c b/arch/arm/mm/discontig.c index 1e5602189507..c8c0c4b0f0a3 100644 --- a/arch/arm/mm/discontig.c +++ b/arch/arm/mm/discontig.c | |||
@@ -21,26 +21,24 @@ | |||
21 | * Our node_data structure for discontiguous memory. | 21 | * Our node_data structure for discontiguous memory. |
22 | */ | 22 | */ |
23 | 23 | ||
24 | static bootmem_data_t node_bootmem_data[MAX_NUMNODES]; | ||
25 | |||
26 | pg_data_t discontig_node_data[MAX_NUMNODES] = { | 24 | pg_data_t discontig_node_data[MAX_NUMNODES] = { |
27 | { .bdata = &node_bootmem_data[0] }, | 25 | { .bdata = &bootmem_node_data[0] }, |
28 | { .bdata = &node_bootmem_data[1] }, | 26 | { .bdata = &bootmem_node_data[1] }, |
29 | { .bdata = &node_bootmem_data[2] }, | 27 | { .bdata = &bootmem_node_data[2] }, |
30 | { .bdata = &node_bootmem_data[3] }, | 28 | { .bdata = &bootmem_node_data[3] }, |
31 | #if MAX_NUMNODES == 16 | 29 | #if MAX_NUMNODES == 16 |
32 | { .bdata = &node_bootmem_data[4] }, | 30 | { .bdata = &bootmem_node_data[4] }, |
33 | { .bdata = &node_bootmem_data[5] }, | 31 | { .bdata = &bootmem_node_data[5] }, |
34 | { .bdata = &node_bootmem_data[6] }, | 32 | { .bdata = &bootmem_node_data[6] }, |
35 | { .bdata = &node_bootmem_data[7] }, | 33 | { .bdata = &bootmem_node_data[7] }, |
36 | { .bdata = &node_bootmem_data[8] }, | 34 | { .bdata = &bootmem_node_data[8] }, |
37 | { .bdata = &node_bootmem_data[9] }, | 35 | { .bdata = &bootmem_node_data[9] }, |
38 | { .bdata = &node_bootmem_data[10] }, | 36 | { .bdata = &bootmem_node_data[10] }, |
39 | { .bdata = &node_bootmem_data[11] }, | 37 | { .bdata = &bootmem_node_data[11] }, |
40 | { .bdata = &node_bootmem_data[12] }, | 38 | { .bdata = &bootmem_node_data[12] }, |
41 | { .bdata = &node_bootmem_data[13] }, | 39 | { .bdata = &bootmem_node_data[13] }, |
42 | { .bdata = &node_bootmem_data[14] }, | 40 | { .bdata = &bootmem_node_data[14] }, |
43 | { .bdata = &node_bootmem_data[15] }, | 41 | { .bdata = &bootmem_node_data[15] }, |
44 | #endif | 42 | #endif |
45 | }; | 43 | }; |
46 | 44 | ||
diff --git a/arch/arm/mm/init.c b/arch/arm/mm/init.c index b657f1719af0..e6352946dde0 100644 --- a/arch/arm/mm/init.c +++ b/arch/arm/mm/init.c | |||
@@ -284,7 +284,7 @@ bootmem_init_node(int node, int initrd_node, struct meminfo *mi) | |||
284 | */ | 284 | */ |
285 | arch_adjust_zones(node, zone_size, zhole_size); | 285 | arch_adjust_zones(node, zone_size, zhole_size); |
286 | 286 | ||
287 | free_area_init_node(node, pgdat, zone_size, start_pfn, zhole_size); | 287 | free_area_init_node(node, zone_size, start_pfn, zhole_size); |
288 | 288 | ||
289 | return end_pfn; | 289 | return end_pfn; |
290 | } | 290 | } |
diff --git a/arch/arm/plat-omap/fb.c b/arch/arm/plat-omap/fb.c index 7854f19b77cf..5d107520e6b9 100644 --- a/arch/arm/plat-omap/fb.c +++ b/arch/arm/plat-omap/fb.c | |||
@@ -23,6 +23,7 @@ | |||
23 | 23 | ||
24 | #include <linux/module.h> | 24 | #include <linux/module.h> |
25 | #include <linux/kernel.h> | 25 | #include <linux/kernel.h> |
26 | #include <linux/mm.h> | ||
26 | #include <linux/init.h> | 27 | #include <linux/init.h> |
27 | #include <linux/platform_device.h> | 28 | #include <linux/platform_device.h> |
28 | #include <linux/bootmem.h> | 29 | #include <linux/bootmem.h> |
@@ -182,7 +183,7 @@ void __init omapfb_reserve_sdram(void) | |||
182 | return; | 183 | return; |
183 | 184 | ||
184 | bdata = NODE_DATA(0)->bdata; | 185 | bdata = NODE_DATA(0)->bdata; |
185 | sdram_start = bdata->node_boot_start; | 186 | sdram_start = bdata->node_min_pfn << PAGE_SHIFT; |
186 | sdram_size = (bdata->node_low_pfn << PAGE_SHIFT) - sdram_start; | 187 | sdram_size = (bdata->node_low_pfn << PAGE_SHIFT) - sdram_start; |
187 | reserved = 0; | 188 | reserved = 0; |
188 | for (i = 0; ; i++) { | 189 | for (i = 0; ; i++) { |
@@ -340,5 +341,3 @@ unsigned long omapfb_reserve_sram(unsigned long sram_pstart, | |||
340 | 341 | ||
341 | 342 | ||
342 | #endif | 343 | #endif |
343 | |||
344 | |||
diff --git a/arch/arm/plat-omap/gpio.c b/arch/arm/plat-omap/gpio.c index 1903a3491ee9..d8e9c2c3f0f6 100644 --- a/arch/arm/plat-omap/gpio.c +++ b/arch/arm/plat-omap/gpio.c | |||
@@ -1488,6 +1488,9 @@ static int __init _omap_gpio_init(void) | |||
1488 | bank->chip.set = gpio_set; | 1488 | bank->chip.set = gpio_set; |
1489 | if (bank_is_mpuio(bank)) { | 1489 | if (bank_is_mpuio(bank)) { |
1490 | bank->chip.label = "mpuio"; | 1490 | bank->chip.label = "mpuio"; |
1491 | #ifdef CONFIG_ARCH_OMAP1 | ||
1492 | bank->chip.dev = &omap_mpuio_device.dev; | ||
1493 | #endif | ||
1491 | bank->chip.base = OMAP_MPUIO(0); | 1494 | bank->chip.base = OMAP_MPUIO(0); |
1492 | } else { | 1495 | } else { |
1493 | bank->chip.label = "gpio"; | 1496 | bank->chip.label = "gpio"; |