aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm')
-rw-r--r--arch/arm/Kconfig2
-rw-r--r--arch/arm/boot/compressed/head-clps7500.S2
-rw-r--r--arch/arm/boot/compressed/head.S3
-rw-r--r--arch/arm/common/sa1111.c2
-rw-r--r--arch/arm/kernel/head.S18
-rw-r--r--arch/arm/kernel/setup.c2
-rw-r--r--arch/arm/kernel/smp.c2
-rw-r--r--arch/arm/kernel/sys_arm.c4
-rw-r--r--arch/arm/mach-ep93xx/edb9315a.c30
-rw-r--r--arch/arm/mach-ep93xx/gesbc9312.c27
-rw-r--r--arch/arm/mach-ep93xx/ts72xx.c30
-rw-r--r--arch/arm/mach-imx/leds.c2
-rw-r--r--arch/arm/mach-imx/leds.h2
-rw-r--r--arch/arm/mach-ixp4xx/coyote-pci.c2
-rw-r--r--arch/arm/mach-ixp4xx/ixdpg425-pci.c2
-rw-r--r--arch/arm/mach-lh7a40x/arch-lpd7a40x.c2
-rw-r--r--arch/arm/mach-omap1/serial.c2
-rw-r--r--arch/arm/mach-omap2/board-apollon.c2
-rw-r--r--arch/arm/mach-omap2/board-generic.c2
-rw-r--r--arch/arm/mach-omap2/board-h4.c2
-rw-r--r--arch/arm/mach-omap2/irq.c2
-rw-r--r--arch/arm/mach-omap2/prcm-regs.h2
-rw-r--r--arch/arm/mach-omap2/serial.c2
-rw-r--r--arch/arm/mach-omap2/sram-fn.S2
-rw-r--r--arch/arm/mach-pnx4008/clock.c11
-rw-r--r--arch/arm/mach-pxa/corgi_lcd.c6
-rw-r--r--arch/arm/mach-pxa/generic.c13
-rw-r--r--arch/arm/mach-pxa/idp.c9
-rw-r--r--arch/arm/mach-pxa/leds.h2
-rw-r--r--arch/arm/mach-pxa/lpd270.c42
-rw-r--r--arch/arm/mach-pxa/lubbock.c7
-rw-r--r--arch/arm/mach-pxa/mainstone.c17
-rw-r--r--arch/arm/mach-pxa/poodle.c12
-rw-r--r--arch/arm/mach-pxa/spitz.c51
-rw-r--r--arch/arm/mach-pxa/trizeps4.c7
-rw-r--r--arch/arm/mach-s3c2410/Kconfig2
-rw-r--r--arch/arm/mach-s3c2410/s3c2400-gpio.c2
-rw-r--r--arch/arm/mach-s3c2410/s3c2410-clock.c2
-rw-r--r--arch/arm/mach-s3c2410/s3c2410-gpio.c2
-rw-r--r--arch/arm/mach-s3c2410/s3c2442.c2
-rw-r--r--arch/arm/mach-s3c2410/s3c244x-irq.c2
-rw-r--r--arch/arm/mach-s3c2410/s3c244x.h2
-rw-r--r--arch/arm/mach-s3c2410/usb-simtec.h2
-rw-r--r--arch/arm/mach-sa1100/dma.c2
-rw-r--r--arch/arm/mach-shark/leds.c2
-rw-r--r--arch/arm/mm/mmu.c2
-rw-r--r--arch/arm/oprofile/op_model_xscale.c3
-rw-r--r--arch/arm/plat-omap/sram-fn.S2
-rw-r--r--arch/arm/vfp/vfpsingle.c2
49 files changed, 259 insertions, 95 deletions
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index f9362ee9955f..adb05de40e24 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -629,7 +629,7 @@ config ALIGNMENT_TRAP
629 depends on CPU_CP15_MMU 629 depends on CPU_CP15_MMU
630 default y if !ARCH_EBSA110 630 default y if !ARCH_EBSA110
631 help 631 help
632 ARM processors can not fetch/store information which is not 632 ARM processors cannot fetch/store information which is not
633 naturally aligned on the bus, i.e., a 4 byte fetch must start at an 633 naturally aligned on the bus, i.e., a 4 byte fetch must start at an
634 address divisible by 4. On 32-bit ARM processors, these non-aligned 634 address divisible by 4. On 32-bit ARM processors, these non-aligned
635 fetch/store instructions will be emulated in software if you say 635 fetch/store instructions will be emulated in software if you say
diff --git a/arch/arm/boot/compressed/head-clps7500.S b/arch/arm/boot/compressed/head-clps7500.S
index 941c5f5cbacf..4f3c78ac30a0 100644
--- a/arch/arm/boot/compressed/head-clps7500.S
+++ b/arch/arm/boot/compressed/head-clps7500.S
@@ -1,5 +1,5 @@
1/* 1/*
2 * linux/arch/arm/boot/compressed/head.S 2 * linux/arch/arm/boot/compressed/head-clps7500.S
3 * 3 *
4 * Copyright (C) 1999, 2000, 2001 Nexus Electronics Ltd 4 * Copyright (C) 1999, 2000, 2001 Nexus Electronics Ltd
5 */ 5 */
diff --git a/arch/arm/boot/compressed/head.S b/arch/arm/boot/compressed/head.S
index e5ab51b9cceb..2568d311be21 100644
--- a/arch/arm/boot/compressed/head.S
+++ b/arch/arm/boot/compressed/head.S
@@ -237,7 +237,8 @@ not_relocated: mov r0, #0
237 */ 237 */
238 cmp r4, r2 238 cmp r4, r2
239 bhs wont_overwrite 239 bhs wont_overwrite
240 add r0, r4, #4096*1024 @ 4MB largest kernel size 240 sub r3, sp, r5 @ > compressed kernel size
241 add r0, r4, r3, lsl #2 @ allow for 4x expansion
241 cmp r0, r5 242 cmp r0, r5
242 bls wont_overwrite 243 bls wont_overwrite
243 244
diff --git a/arch/arm/common/sa1111.c b/arch/arm/common/sa1111.c
index 29818bd3248f..30046ad41ced 100644
--- a/arch/arm/common/sa1111.c
+++ b/arch/arm/common/sa1111.c
@@ -1,5 +1,5 @@
1/* 1/*
2 * linux/arch/arm/mach-sa1100/sa1111.c 2 * linux/arch/arm/common/sa1111.c
3 * 3 *
4 * SA1111 support 4 * SA1111 support
5 * 5 *
diff --git a/arch/arm/kernel/head.S b/arch/arm/kernel/head.S
index 5365d4e5949e..ebc3e74a7947 100644
--- a/arch/arm/kernel/head.S
+++ b/arch/arm/kernel/head.S
@@ -234,18 +234,18 @@ __create_page_tables:
234 234
235 /* 235 /*
236 * Now setup the pagetables for our kernel direct 236 * Now setup the pagetables for our kernel direct
237 * mapped region. We round TEXTADDR down to the 237 * mapped region.
238 * nearest megabyte boundary. It is assumed that
239 * the kernel fits within 4 contigous 1MB sections.
240 */ 238 */
241 add r0, r4, #(TEXTADDR & 0xff000000) >> 18 @ start of kernel 239 add r0, r4, #(TEXTADDR & 0xff000000) >> 18 @ start of kernel
242 str r3, [r0, #(TEXTADDR & 0x00f00000) >> 18]! 240 str r3, [r0, #(TEXTADDR & 0x00f00000) >> 18]!
243 add r3, r3, #1 << 20 241
244 str r3, [r0, #4]! @ KERNEL + 1MB 242 ldr r6, =(_end - PAGE_OFFSET - 1) @ r6 = number of sections
245 add r3, r3, #1 << 20 243 mov r6, r6, lsr #20 @ needed for kernel minus 1
246 str r3, [r0, #4]! @ KERNEL + 2MB 244
247 add r3, r3, #1 << 20 2451: add r3, r3, #1 << 20
248 str r3, [r0, #4] @ KERNEL + 3MB 246 str r3, [r0, #4]!
247 subs r6, r6, #1
248 bgt 1b
249 249
250 /* 250 /*
251 * Then map first 1MB of ram in case it contains our boot params. 251 * Then map first 1MB of ram in case it contains our boot params.
diff --git a/arch/arm/kernel/setup.c b/arch/arm/kernel/setup.c
index 0a722e77c143..6bbd93dd186a 100644
--- a/arch/arm/kernel/setup.c
+++ b/arch/arm/kernel/setup.c
@@ -348,7 +348,7 @@ static void __init setup_processor(void)
348 cpu_name, processor_id, (int)processor_id & 15, 348 cpu_name, processor_id, (int)processor_id & 15,
349 proc_arch[cpu_architecture()], cr_alignment); 349 proc_arch[cpu_architecture()], cr_alignment);
350 350
351 sprintf(system_utsname.machine, "%s%c", list->arch_name, ENDIANNESS); 351 sprintf(init_utsname()->machine, "%s%c", list->arch_name, ENDIANNESS);
352 sprintf(elf_platform, "%s%c", list->elf_name, ENDIANNESS); 352 sprintf(elf_platform, "%s%c", list->elf_name, ENDIANNESS);
353 elf_hwcap = list->elf_hwcap; 353 elf_hwcap = list->elf_hwcap;
354#ifndef CONFIG_ARM_THUMB 354#ifndef CONFIG_ARM_THUMB
diff --git a/arch/arm/kernel/smp.c b/arch/arm/kernel/smp.c
index 68e9634d260a..421329f5e18e 100644
--- a/arch/arm/kernel/smp.c
+++ b/arch/arm/kernel/smp.c
@@ -36,7 +36,9 @@
36 * The online bitmask indicates that the CPU is up and running. 36 * The online bitmask indicates that the CPU is up and running.
37 */ 37 */
38cpumask_t cpu_possible_map; 38cpumask_t cpu_possible_map;
39EXPORT_SYMBOL(cpu_possible_map);
39cpumask_t cpu_online_map; 40cpumask_t cpu_online_map;
41EXPORT_SYMBOL(cpu_online_map);
40 42
41/* 43/*
42 * as from 2.5, kernels no longer have an init_tasks structure 44 * as from 2.5, kernels no longer have an init_tasks structure
diff --git a/arch/arm/kernel/sys_arm.c b/arch/arm/kernel/sys_arm.c
index 8170af471439..00c18d35913c 100644
--- a/arch/arm/kernel/sys_arm.c
+++ b/arch/arm/kernel/sys_arm.c
@@ -279,7 +279,7 @@ out:
279 return error; 279 return error;
280} 280}
281 281
282long execve(const char *filename, char **argv, char **envp) 282int kernel_execve(const char *filename, char *const argv[], char *const envp[])
283{ 283{
284 struct pt_regs regs; 284 struct pt_regs regs;
285 int ret; 285 int ret;
@@ -317,7 +317,7 @@ long execve(const char *filename, char **argv, char **envp)
317 out: 317 out:
318 return ret; 318 return ret;
319} 319}
320EXPORT_SYMBOL(execve); 320EXPORT_SYMBOL(kernel_execve);
321 321
322/* 322/*
323 * Since loff_t is a 64 bit type we avoid a lot of ABI hastle 323 * Since loff_t is a 64 bit type we avoid a lot of ABI hastle
diff --git a/arch/arm/mach-ep93xx/edb9315a.c b/arch/arm/mach-ep93xx/edb9315a.c
index bfefdaa8f794..fa958e9d6ddd 100644
--- a/arch/arm/mach-ep93xx/edb9315a.c
+++ b/arch/arm/mach-ep93xx/edb9315a.c
@@ -44,10 +44,40 @@ static struct platform_device edb9315a_flash = {
44 .resource = &edb9315a_flash_resource, 44 .resource = &edb9315a_flash_resource,
45}; 45};
46 46
47static struct ep93xx_eth_data edb9315a_eth_data = {
48 .phy_id = 1,
49};
50
51static struct resource edb9315a_eth_resource[] = {
52 {
53 .start = EP93XX_ETHERNET_PHYS_BASE,
54 .end = EP93XX_ETHERNET_PHYS_BASE + 0xffff,
55 .flags = IORESOURCE_MEM,
56 }, {
57 .start = IRQ_EP93XX_ETHERNET,
58 .end = IRQ_EP93XX_ETHERNET,
59 .flags = IORESOURCE_IRQ,
60 }
61};
62
63static struct platform_device edb9315a_eth_device = {
64 .name = "ep93xx-eth",
65 .id = -1,
66 .dev = {
67 .platform_data = &edb9315a_eth_data,
68 },
69 .num_resources = 2,
70 .resource = edb9315a_eth_resource,
71};
72
47static void __init edb9315a_init_machine(void) 73static void __init edb9315a_init_machine(void)
48{ 74{
49 ep93xx_init_devices(); 75 ep93xx_init_devices();
50 platform_device_register(&edb9315a_flash); 76 platform_device_register(&edb9315a_flash);
77
78 memcpy(edb9315a_eth_data.dev_addr,
79 (void *)(EP93XX_ETHERNET_BASE + 0x50), 6);
80 platform_device_register(&edb9315a_eth_device);
51} 81}
52 82
53MACHINE_START(EDB9315A, "Cirrus Logic EDB9315A Evaluation Board") 83MACHINE_START(EDB9315A, "Cirrus Logic EDB9315A Evaluation Board")
diff --git a/arch/arm/mach-ep93xx/gesbc9312.c b/arch/arm/mach-ep93xx/gesbc9312.c
index e760fd4f3655..694590a451c1 100644
--- a/arch/arm/mach-ep93xx/gesbc9312.c
+++ b/arch/arm/mach-ep93xx/gesbc9312.c
@@ -43,10 +43,37 @@ static struct platform_device gesbc9312_flash = {
43 .resource = &gesbc9312_flash_resource, 43 .resource = &gesbc9312_flash_resource,
44}; 44};
45 45
46static struct ep93xx_eth_data gesbc9312_eth_data = {
47 .phy_id = 1,
48};
49
50static struct resource gesbc9312_eth_resource[] = {
51 {
52 .start = EP93XX_ETHERNET_PHYS_BASE,
53 .end = EP93XX_ETHERNET_PHYS_BASE + 0xffff,
54 .flags = IORESOURCE_MEM,
55 }, {
56 .start = IRQ_EP93XX_ETHERNET,
57 .end = IRQ_EP93XX_ETHERNET,
58 .flags = IORESOURCE_IRQ,
59 }
60};
61
62static struct platform_device gesbc9312_eth_device = {
63 .name = "ep93xx-eth",
64 .id = -1,
65 .dev = {
66 .platform_data = &gesbc9312_eth_data,
67 },
68 .num_resources = 2,
69 .resource = gesbc9312_eth_resource,
70};
71
46static void __init gesbc9312_init_machine(void) 72static void __init gesbc9312_init_machine(void)
47{ 73{
48 ep93xx_init_devices(); 74 ep93xx_init_devices();
49 platform_device_register(&gesbc9312_flash); 75 platform_device_register(&gesbc9312_flash);
76 platform_device_register(&gesbc9312_eth_device);
50} 77}
51 78
52MACHINE_START(GESBC9312, "Glomation GESBC-9312-sx") 79MACHINE_START(GESBC9312, "Glomation GESBC-9312-sx")
diff --git a/arch/arm/mach-ep93xx/ts72xx.c b/arch/arm/mach-ep93xx/ts72xx.c
index df315f2e9beb..3a4bf90ba832 100644
--- a/arch/arm/mach-ep93xx/ts72xx.c
+++ b/arch/arm/mach-ep93xx/ts72xx.c
@@ -157,12 +157,42 @@ static struct platform_device ts72xx_rtc_device = {
157 .num_resources = 0, 157 .num_resources = 0,
158}; 158};
159 159
160static struct ep93xx_eth_data ts72xx_eth_data = {
161 .phy_id = 1,
162};
163
164static struct resource ts72xx_eth_resource[] = {
165 {
166 .start = EP93XX_ETHERNET_PHYS_BASE,
167 .end = EP93XX_ETHERNET_PHYS_BASE + 0xffff,
168 .flags = IORESOURCE_MEM,
169 }, {
170 .start = IRQ_EP93XX_ETHERNET,
171 .end = IRQ_EP93XX_ETHERNET,
172 .flags = IORESOURCE_IRQ,
173 }
174};
175
176static struct platform_device ts72xx_eth_device = {
177 .name = "ep93xx-eth",
178 .id = -1,
179 .dev = {
180 .platform_data = &ts72xx_eth_data,
181 },
182 .num_resources = 2,
183 .resource = ts72xx_eth_resource,
184};
185
160static void __init ts72xx_init_machine(void) 186static void __init ts72xx_init_machine(void)
161{ 187{
162 ep93xx_init_devices(); 188 ep93xx_init_devices();
163 if (board_is_ts7200()) 189 if (board_is_ts7200())
164 platform_device_register(&ts72xx_flash); 190 platform_device_register(&ts72xx_flash);
165 platform_device_register(&ts72xx_rtc_device); 191 platform_device_register(&ts72xx_rtc_device);
192
193 memcpy(ts72xx_eth_data.dev_addr,
194 (void *)(EP93XX_ETHERNET_BASE + 0x50), 6);
195 platform_device_register(&ts72xx_eth_device);
166} 196}
167 197
168MACHINE_START(TS72XX, "Technologic Systems TS-72xx SBC") 198MACHINE_START(TS72XX, "Technologic Systems TS-72xx SBC")
diff --git a/arch/arm/mach-imx/leds.c b/arch/arm/mach-imx/leds.c
index 471c1db7c57f..cf30803e019b 100644
--- a/arch/arm/mach-imx/leds.c
+++ b/arch/arm/mach-imx/leds.c
@@ -1,5 +1,5 @@
1/* 1/*
2 * linux/arch/arm/mach-imx/leds.h 2 * linux/arch/arm/mach-imx/leds.c
3 * 3 *
4 * Copyright (C) 2004 Sascha Hauer <sascha@saschahauer.de> 4 * Copyright (C) 2004 Sascha Hauer <sascha@saschahauer.de>
5 * 5 *
diff --git a/arch/arm/mach-imx/leds.h b/arch/arm/mach-imx/leds.h
index 83fa21e795a9..49dc1c1da338 100644
--- a/arch/arm/mach-imx/leds.h
+++ b/arch/arm/mach-imx/leds.h
@@ -1,5 +1,5 @@
1/* 1/*
2 * include/asm-arm/arch-imx/leds.h 2 * arch/arm/mach-imx/leds.h
3 * 3 *
4 * Copyright (c) 2004 Sascha Hauer <sascha@saschahauer.de> 4 * Copyright (c) 2004 Sascha Hauer <sascha@saschahauer.de>
5 * 5 *
diff --git a/arch/arm/mach-ixp4xx/coyote-pci.c b/arch/arm/mach-ixp4xx/coyote-pci.c
index 2cebb2878895..7bc94f3def1c 100644
--- a/arch/arm/mach-ixp4xx/coyote-pci.c
+++ b/arch/arm/mach-ixp4xx/coyote-pci.c
@@ -1,5 +1,5 @@
1/* 1/*
2 * arch/arch/mach-ixp4xx/coyote-pci.c 2 * arch/arm/mach-ixp4xx/coyote-pci.c
3 * 3 *
4 * PCI setup routines for ADI Engineering Coyote platform 4 * PCI setup routines for ADI Engineering Coyote platform
5 * 5 *
diff --git a/arch/arm/mach-ixp4xx/ixdpg425-pci.c b/arch/arm/mach-ixp4xx/ixdpg425-pci.c
index ed5270800217..509a95a692a4 100644
--- a/arch/arm/mach-ixp4xx/ixdpg425-pci.c
+++ b/arch/arm/mach-ixp4xx/ixdpg425-pci.c
@@ -1,5 +1,5 @@
1/* 1/*
2 * arch/arch/mach-ixp4xx/ixdpg425-pci.c 2 * arch/arm/mach-ixp4xx/ixdpg425-pci.c
3 * 3 *
4 * PCI setup routines for Intel IXDPG425 Platform 4 * PCI setup routines for Intel IXDPG425 Platform
5 * 5 *
diff --git a/arch/arm/mach-lh7a40x/arch-lpd7a40x.c b/arch/arm/mach-lh7a40x/arch-lpd7a40x.c
index a6910114b24c..a21b12f06c6b 100644
--- a/arch/arm/mach-lh7a40x/arch-lpd7a40x.c
+++ b/arch/arm/mach-lh7a40x/arch-lpd7a40x.c
@@ -164,7 +164,7 @@ static void lh7a40x_ack_cpld_irq (u32 irq)
164 /* CPLD doesn't have ack capability, but some devices may */ 164 /* CPLD doesn't have ack capability, but some devices may */
165 165
166#if defined (CPLD_INTMASK_TOUCH) 166#if defined (CPLD_INTMASK_TOUCH)
167 /* The touch control *must* mask the the interrupt because the 167 /* The touch control *must* mask the interrupt because the
168 * interrupt bit is read by the driver to determine if the pen 168 * interrupt bit is read by the driver to determine if the pen
169 * is still down. */ 169 * is still down. */
170 if (irq == IRQ_TOUCH) 170 if (irq == IRQ_TOUCH)
diff --git a/arch/arm/mach-omap1/serial.c b/arch/arm/mach-omap1/serial.c
index 976edfb882e2..c4b790217a5b 100644
--- a/arch/arm/mach-omap1/serial.c
+++ b/arch/arm/mach-omap1/serial.c
@@ -1,5 +1,5 @@
1/* 1/*
2 * linux/arch/arm/mach-omap1/id.c 2 * linux/arch/arm/mach-omap1/serial.c
3 * 3 *
4 * OMAP1 CPU identification code 4 * OMAP1 CPU identification code
5 * 5 *
diff --git a/arch/arm/mach-omap2/board-apollon.c b/arch/arm/mach-omap2/board-apollon.c
index 2db6b732b084..c37b0e6d1248 100644
--- a/arch/arm/mach-omap2/board-apollon.c
+++ b/arch/arm/mach-omap2/board-apollon.c
@@ -1,5 +1,5 @@
1/* 1/*
2 * linux/arch/arm/mach-omap/omap2/board-apollon.c 2 * linux/arch/arm/mach-omap2/board-apollon.c
3 * 3 *
4 * Copyright (C) 2005,2006 Samsung Electronics 4 * Copyright (C) 2005,2006 Samsung Electronics
5 * Author: Kyungmin Park <kyungmin.park@samsung.com> 5 * Author: Kyungmin Park <kyungmin.park@samsung.com>
diff --git a/arch/arm/mach-omap2/board-generic.c b/arch/arm/mach-omap2/board-generic.c
index eaecbf422d8c..90938151bcf1 100644
--- a/arch/arm/mach-omap2/board-generic.c
+++ b/arch/arm/mach-omap2/board-generic.c
@@ -1,5 +1,5 @@
1/* 1/*
2 * linux/arch/arm/mach-omap/omap2/board-generic.c 2 * linux/arch/arm/mach-omap2/board-generic.c
3 * 3 *
4 * Copyright (C) 2005 Nokia Corporation 4 * Copyright (C) 2005 Nokia Corporation
5 * Author: Paul Mundt <paul.mundt@nokia.com> 5 * Author: Paul Mundt <paul.mundt@nokia.com>
diff --git a/arch/arm/mach-omap2/board-h4.c b/arch/arm/mach-omap2/board-h4.c
index 996aeda1285d..26a95a642ad7 100644
--- a/arch/arm/mach-omap2/board-h4.c
+++ b/arch/arm/mach-omap2/board-h4.c
@@ -1,5 +1,5 @@
1/* 1/*
2 * linux/arch/arm/mach-omap/omap2/board-h4.c 2 * linux/arch/arm/mach-omap2/board-h4.c
3 * 3 *
4 * Copyright (C) 2005 Nokia Corporation 4 * Copyright (C) 2005 Nokia Corporation
5 * Author: Paul Mundt <paul.mundt@nokia.com> 5 * Author: Paul Mundt <paul.mundt@nokia.com>
diff --git a/arch/arm/mach-omap2/irq.c b/arch/arm/mach-omap2/irq.c
index 1ed2fff4691a..11870093d7a1 100644
--- a/arch/arm/mach-omap2/irq.c
+++ b/arch/arm/mach-omap2/irq.c
@@ -1,5 +1,5 @@
1/* 1/*
2 * linux/arch/arm/mach-omap/omap2/irq.c 2 * linux/arch/arm/mach-omap2/irq.c
3 * 3 *
4 * Interrupt handler for OMAP2 boards. 4 * Interrupt handler for OMAP2 boards.
5 * 5 *
diff --git a/arch/arm/mach-omap2/prcm-regs.h b/arch/arm/mach-omap2/prcm-regs.h
index 22ac7be4f782..5e1c4b53ee9d 100644
--- a/arch/arm/mach-omap2/prcm-regs.h
+++ b/arch/arm/mach-omap2/prcm-regs.h
@@ -1,5 +1,5 @@
1/* 1/*
2 * linux/arch/arm/mach-omap2/prcm-reg.h 2 * linux/arch/arm/mach-omap2/prcm-regs.h
3 * 3 *
4 * OMAP24XX Power Reset and Clock Management (PRCM) registers 4 * OMAP24XX Power Reset and Clock Management (PRCM) registers
5 * 5 *
diff --git a/arch/arm/mach-omap2/serial.c b/arch/arm/mach-omap2/serial.c
index 0884bc7c23b7..aaa5589e8169 100644
--- a/arch/arm/mach-omap2/serial.c
+++ b/arch/arm/mach-omap2/serial.c
@@ -1,5 +1,5 @@
1/* 1/*
2 * arch/arm/mach-omap/omap2/serial.c 2 * arch/arm/mach-omap2/serial.c
3 * 3 *
4 * OMAP2 serial support. 4 * OMAP2 serial support.
5 * 5 *
diff --git a/arch/arm/mach-omap2/sram-fn.S b/arch/arm/mach-omap2/sram-fn.S
index a5ef7f611da9..b27576690f8d 100644
--- a/arch/arm/mach-omap2/sram-fn.S
+++ b/arch/arm/mach-omap2/sram-fn.S
@@ -1,5 +1,5 @@
1/* 1/*
2 * linux/arch/arm/mach-omap2/sram.S 2 * linux/arch/arm/mach-omap2/sram-fn.S
3 * 3 *
4 * Omap2 specific functions that need to be run in internal SRAM 4 * Omap2 specific functions that need to be run in internal SRAM
5 * 5 *
diff --git a/arch/arm/mach-pnx4008/clock.c b/arch/arm/mach-pnx4008/clock.c
index f582ed2ec43c..daa8d3d98eff 100644
--- a/arch/arm/mach-pnx4008/clock.c
+++ b/arch/arm/mach-pnx4008/clock.c
@@ -735,6 +735,16 @@ static struct clk uart6_ck = {
735 .enable_reg = UARTCLKCTRL_REG, 735 .enable_reg = UARTCLKCTRL_REG,
736}; 736};
737 737
738static struct clk wdt_ck = {
739 .name = "wdt_ck",
740 .parent = &per_ck,
741 .flags = NEEDS_INITIALIZATION,
742 .round_rate = &on_off_round_rate,
743 .set_rate = &on_off_set_rate,
744 .enable_shift = 0,
745 .enable_reg = TIMCLKCTRL_REG,
746};
747
738/* These clocks are visible outside this module 748/* These clocks are visible outside this module
739 * and can be initialized 749 * and can be initialized
740 */ 750 */
@@ -765,6 +775,7 @@ static struct clk *onchip_clks[] = {
765 &uart4_ck, 775 &uart4_ck,
766 &uart5_ck, 776 &uart5_ck,
767 &uart6_ck, 777 &uart6_ck,
778 &wdt_ck,
768}; 779};
769 780
770static int local_clk_enable(struct clk *clk) 781static int local_clk_enable(struct clk *clk)
diff --git a/arch/arm/mach-pxa/corgi_lcd.c b/arch/arm/mach-pxa/corgi_lcd.c
index 6dbcaf114ad7..a72476c24621 100644
--- a/arch/arm/mach-pxa/corgi_lcd.c
+++ b/arch/arm/mach-pxa/corgi_lcd.c
@@ -1,5 +1,5 @@
1/* 1/*
2 * linux/drivers/video/w100fb.c 2 * linux/arch/arm/mach-pxa/corgi_lcd.c
3 * 3 *
4 * Corgi/Spitz LCD Specific Code 4 * Corgi/Spitz LCD Specific Code
5 * 5 *
@@ -431,10 +431,10 @@ struct platform_device corgifb_device = {
431 431
432#include <asm/arch/pxafb.h> 432#include <asm/arch/pxafb.h>
433 433
434void spitz_lcd_power(int on) 434void spitz_lcd_power(int on, struct fb_var_screeninfo *var)
435{ 435{
436 if (on) 436 if (on)
437 lcdtg_hw_init(480); 437 lcdtg_hw_init(var->xres);
438 else 438 else
439 lcdtg_suspend(); 439 lcdtg_suspend();
440} 440}
diff --git a/arch/arm/mach-pxa/generic.c b/arch/arm/mach-pxa/generic.c
index 5efa84749f37..45fb2c3bcf82 100644
--- a/arch/arm/mach-pxa/generic.c
+++ b/arch/arm/mach-pxa/generic.c
@@ -204,13 +204,6 @@ static struct platform_device udc_device = {
204 } 204 }
205}; 205};
206 206
207static struct pxafb_mach_info pxa_fb_info;
208
209void __init set_pxa_fb_info(struct pxafb_mach_info *hard_pxa_fb_info)
210{
211 memcpy(&pxa_fb_info,hard_pxa_fb_info,sizeof(struct pxafb_mach_info));
212}
213
214static struct resource pxafb_resources[] = { 207static struct resource pxafb_resources[] = {
215 [0] = { 208 [0] = {
216 .start = 0x44000000, 209 .start = 0x44000000,
@@ -230,7 +223,6 @@ static struct platform_device pxafb_device = {
230 .name = "pxa2xx-fb", 223 .name = "pxa2xx-fb",
231 .id = -1, 224 .id = -1,
232 .dev = { 225 .dev = {
233 .platform_data = &pxa_fb_info,
234 .dma_mask = &fb_dma_mask, 226 .dma_mask = &fb_dma_mask,
235 .coherent_dma_mask = 0xffffffff, 227 .coherent_dma_mask = 0xffffffff,
236 }, 228 },
@@ -238,6 +230,11 @@ static struct platform_device pxafb_device = {
238 .resource = pxafb_resources, 230 .resource = pxafb_resources,
239}; 231};
240 232
233void __init set_pxa_fb_info(struct pxafb_mach_info *info)
234{
235 pxafb_device.dev.platform_data = info;
236}
237
241void __init set_pxa_fb_parent(struct device *parent_dev) 238void __init set_pxa_fb_parent(struct device *parent_dev)
242{ 239{
243 pxafb_device.dev.parent = parent_dev; 240 pxafb_device.dev.parent = parent_dev;
diff --git a/arch/arm/mach-pxa/idp.c b/arch/arm/mach-pxa/idp.c
index 6914d22bc20f..3e4b0ab71c66 100644
--- a/arch/arm/mach-pxa/idp.c
+++ b/arch/arm/mach-pxa/idp.c
@@ -82,7 +82,7 @@ static void idp_vlcd(int on)
82 } 82 }
83} 83}
84 84
85static void idp_lcd_power(int on) 85static void idp_lcd_power(int on, struct fb_var_screeninfo *var)
86{ 86{
87 if (on) { 87 if (on) {
88 IDP_CPLD_LCD |= (1<<0); 88 IDP_CPLD_LCD |= (1<<0);
@@ -99,7 +99,7 @@ static void idp_lcd_power(int on)
99 idp_vlcd(on); 99 idp_vlcd(on);
100} 100}
101 101
102static struct pxafb_mach_info sharp_lm8v31 __initdata = { 102static struct pxafb_mode_info sharp_lm8v31_mode = {
103 .pixclock = 270000, 103 .pixclock = 270000,
104 .xres = 640, 104 .xres = 640,
105 .yres = 480, 105 .yres = 480,
@@ -112,6 +112,11 @@ static struct pxafb_mach_info sharp_lm8v31 __initdata = {
112 .lower_margin = 0, 112 .lower_margin = 0,
113 .sync = FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT, 113 .sync = FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,
114 .cmap_greyscale = 0, 114 .cmap_greyscale = 0,
115};
116
117static struct pxafb_mach_info sharp_lm8v31 = {
118 .modes = &sharp_lm8v31_mode,
119 .num_modes = 1,
115 .cmap_inverse = 0, 120 .cmap_inverse = 0,
116 .cmap_static = 0, 121 .cmap_static = 0,
117 .lccr0 = LCCR0_SDS, 122 .lccr0 = LCCR0_SDS,
diff --git a/arch/arm/mach-pxa/leds.h b/arch/arm/mach-pxa/leds.h
index 4f829b8c39dd..7f0dfe01345a 100644
--- a/arch/arm/mach-pxa/leds.h
+++ b/arch/arm/mach-pxa/leds.h
@@ -1,5 +1,5 @@
1/* 1/*
2 * include/asm-arm/arch-pxa/leds.h 2 * arch/arm/mach-pxa/leds.h
3 * 3 *
4 * Copyright (c) 2001 Jeff Sutherland, Accelent Systems Inc. 4 * Copyright (c) 2001 Jeff Sutherland, Accelent Systems Inc.
5 * 5 *
diff --git a/arch/arm/mach-pxa/lpd270.c b/arch/arm/mach-pxa/lpd270.c
index 12479ae26db2..eff2a91b2565 100644
--- a/arch/arm/mach-pxa/lpd270.c
+++ b/arch/arm/mach-pxa/lpd270.c
@@ -248,7 +248,7 @@ static void lpd270_backlight_power(int on)
248} 248}
249 249
250/* 5.7" TFT QVGA (LoLo display number 1) */ 250/* 5.7" TFT QVGA (LoLo display number 1) */
251static struct pxafb_mach_info sharp_lq057q3dc02 __initdata = { 251static struct pxafb_mode_info sharp_lq057q3dc02_mode = {
252 .pixclock = 150000, 252 .pixclock = 150000,
253 .xres = 320, 253 .xres = 320,
254 .yres = 240, 254 .yres = 240,
@@ -260,13 +260,18 @@ static struct pxafb_mach_info sharp_lq057q3dc02 __initdata = {
260 .upper_margin = 0x08, 260 .upper_margin = 0x08,
261 .lower_margin = 0x14, 261 .lower_margin = 0x14,
262 .sync = FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT, 262 .sync = FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,
263};
264
265static struct pxafb_mach_info sharp_lq057q3dc02 = {
266 .modes = &sharp_lq057q3dc02_mode,
267 .num_modes = 1,
263 .lccr0 = 0x07800080, 268 .lccr0 = 0x07800080,
264 .lccr3 = 0x00400000, 269 .lccr3 = 0x00400000,
265 .pxafb_backlight_power = lpd270_backlight_power, 270 .pxafb_backlight_power = lpd270_backlight_power,
266}; 271};
267 272
268/* 12.1" TFT SVGA (LoLo display number 2) */ 273/* 12.1" TFT SVGA (LoLo display number 2) */
269static struct pxafb_mach_info sharp_lq121s1dg31 __initdata = { 274static struct pxafb_mode_info sharp_lq121s1dg31_mode = {
270 .pixclock = 50000, 275 .pixclock = 50000,
271 .xres = 800, 276 .xres = 800,
272 .yres = 600, 277 .yres = 600,
@@ -278,13 +283,18 @@ static struct pxafb_mach_info sharp_lq121s1dg31 __initdata = {
278 .upper_margin = 0x14, 283 .upper_margin = 0x14,
279 .lower_margin = 0x0a, 284 .lower_margin = 0x0a,
280 .sync = FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT, 285 .sync = FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,
286};
287
288static struct pxafb_mach_info sharp_lq121s1dg31 = {
289 .modes = &sharp_lq121s1dg31_mode,
290 .num_modes = 1,
281 .lccr0 = 0x07800080, 291 .lccr0 = 0x07800080,
282 .lccr3 = 0x00400000, 292 .lccr3 = 0x00400000,
283 .pxafb_backlight_power = lpd270_backlight_power, 293 .pxafb_backlight_power = lpd270_backlight_power,
284}; 294};
285 295
286/* 3.6" TFT QVGA (LoLo display number 3) */ 296/* 3.6" TFT QVGA (LoLo display number 3) */
287static struct pxafb_mach_info sharp_lq036q1da01 __initdata = { 297static struct pxafb_mode_info sharp_lq036q1da01_mode = {
288 .pixclock = 150000, 298 .pixclock = 150000,
289 .xres = 320, 299 .xres = 320,
290 .yres = 240, 300 .yres = 240,
@@ -296,13 +306,18 @@ static struct pxafb_mach_info sharp_lq036q1da01 __initdata = {
296 .upper_margin = 0x03, 306 .upper_margin = 0x03,
297 .lower_margin = 0x03, 307 .lower_margin = 0x03,
298 .sync = FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT, 308 .sync = FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,
309};
310
311static struct pxafb_mach_info sharp_lq036q1da01 = {
312 .modes = &sharp_lq036q1da01_mode,
313 .num_modes = 1,
299 .lccr0 = 0x07800080, 314 .lccr0 = 0x07800080,
300 .lccr3 = 0x00400000, 315 .lccr3 = 0x00400000,
301 .pxafb_backlight_power = lpd270_backlight_power, 316 .pxafb_backlight_power = lpd270_backlight_power,
302}; 317};
303 318
304/* 6.4" TFT VGA (LoLo display number 5) */ 319/* 6.4" TFT VGA (LoLo display number 5) */
305static struct pxafb_mach_info sharp_lq64d343 __initdata = { 320static struct pxafb_mode_info sharp_lq64d343_mode = {
306 .pixclock = 25000, 321 .pixclock = 25000,
307 .xres = 640, 322 .xres = 640,
308 .yres = 480, 323 .yres = 480,
@@ -314,13 +329,18 @@ static struct pxafb_mach_info sharp_lq64d343 __initdata = {
314 .upper_margin = 0x22, 329 .upper_margin = 0x22,
315 .lower_margin = 0x00, 330 .lower_margin = 0x00,
316 .sync = FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT, 331 .sync = FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,
332};
333
334static struct pxafb_mach_info sharp_lq64d343 = {
335 .modes = &sharp_lq64d343_mode,
336 .num_modes = 1,
317 .lccr0 = 0x07800080, 337 .lccr0 = 0x07800080,
318 .lccr3 = 0x00400000, 338 .lccr3 = 0x00400000,
319 .pxafb_backlight_power = lpd270_backlight_power, 339 .pxafb_backlight_power = lpd270_backlight_power,
320}; 340};
321 341
322/* 10.4" TFT VGA (LoLo display number 7) */ 342/* 10.4" TFT VGA (LoLo display number 7) */
323static struct pxafb_mach_info sharp_lq10d368 __initdata = { 343static struct pxafb_mode_info sharp_lq10d368_mode = {
324 .pixclock = 25000, 344 .pixclock = 25000,
325 .xres = 640, 345 .xres = 640,
326 .yres = 480, 346 .yres = 480,
@@ -332,13 +352,18 @@ static struct pxafb_mach_info sharp_lq10d368 __initdata = {
332 .upper_margin = 0x22, 352 .upper_margin = 0x22,
333 .lower_margin = 0x00, 353 .lower_margin = 0x00,
334 .sync = FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT, 354 .sync = FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,
355};
356
357static struct pxafb_mach_info sharp_lq10d368 = {
358 .modes = &sharp_lq10d368_mode,
359 .num_modes = 1,
335 .lccr0 = 0x07800080, 360 .lccr0 = 0x07800080,
336 .lccr3 = 0x00400000, 361 .lccr3 = 0x00400000,
337 .pxafb_backlight_power = lpd270_backlight_power, 362 .pxafb_backlight_power = lpd270_backlight_power,
338}; 363};
339 364
340/* 3.5" TFT QVGA (LoLo display number 8) */ 365/* 3.5" TFT QVGA (LoLo display number 8) */
341static struct pxafb_mach_info sharp_lq035q7db02_20 __initdata = { 366static struct pxafb_mode_info sharp_lq035q7db02_20_mode = {
342 .pixclock = 150000, 367 .pixclock = 150000,
343 .xres = 240, 368 .xres = 240,
344 .yres = 320, 369 .yres = 320,
@@ -350,6 +375,11 @@ static struct pxafb_mach_info sharp_lq035q7db02_20 __initdata = {
350 .upper_margin = 0x05, 375 .upper_margin = 0x05,
351 .lower_margin = 0x14, 376 .lower_margin = 0x14,
352 .sync = FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT, 377 .sync = FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,
378};
379
380static struct pxafb_mach_info sharp_lq035q7db02_20 = {
381 .modes = &sharp_lq035q7db02_20_mode,
382 .num_modes = 1,
353 .lccr0 = 0x07800080, 383 .lccr0 = 0x07800080,
354 .lccr3 = 0x00400000, 384 .lccr3 = 0x00400000,
355 .pxafb_backlight_power = lpd270_backlight_power, 385 .pxafb_backlight_power = lpd270_backlight_power,
diff --git a/arch/arm/mach-pxa/lubbock.c b/arch/arm/mach-pxa/lubbock.c
index 83ff5cee64d9..157cf47cbe66 100644
--- a/arch/arm/mach-pxa/lubbock.c
+++ b/arch/arm/mach-pxa/lubbock.c
@@ -352,7 +352,7 @@ static struct platform_device *devices[] __initdata = {
352 &pxa_ssp, 352 &pxa_ssp,
353}; 353};
354 354
355static struct pxafb_mach_info sharp_lm8v31 __initdata = { 355static struct pxafb_mode_info sharp_lm8v31_mode = {
356 .pixclock = 270000, 356 .pixclock = 270000,
357 .xres = 640, 357 .xres = 640,
358 .yres = 480, 358 .yres = 480,
@@ -365,6 +365,11 @@ static struct pxafb_mach_info sharp_lm8v31 __initdata = {
365 .lower_margin = 0, 365 .lower_margin = 0,
366 .sync = FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT, 366 .sync = FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,
367 .cmap_greyscale = 0, 367 .cmap_greyscale = 0,
368};
369
370static struct pxafb_mach_info sharp_lm8v31 = {
371 .modes = &sharp_lm8v31_mode,
372 .num_modes = 1,
368 .cmap_inverse = 0, 373 .cmap_inverse = 0,
369 .cmap_static = 0, 374 .cmap_static = 0,
370 .lccr0 = LCCR0_SDS, 375 .lccr0 = LCCR0_SDS,
diff --git a/arch/arm/mach-pxa/mainstone.c b/arch/arm/mach-pxa/mainstone.c
index a7e9b96f258a..7ba0447d6fa3 100644
--- a/arch/arm/mach-pxa/mainstone.c
+++ b/arch/arm/mach-pxa/mainstone.c
@@ -279,7 +279,7 @@ static void mainstone_backlight_power(int on)
279 } 279 }
280} 280}
281 281
282static struct pxafb_mach_info toshiba_ltm04c380k __initdata = { 282static struct pxafb_mode_info toshiba_ltm04c380k_mode = {
283 .pixclock = 50000, 283 .pixclock = 50000,
284 .xres = 640, 284 .xres = 640,
285 .yres = 480, 285 .yres = 480,
@@ -291,12 +291,9 @@ static struct pxafb_mach_info toshiba_ltm04c380k __initdata = {
291 .upper_margin = 0, 291 .upper_margin = 0,
292 .lower_margin = 0, 292 .lower_margin = 0,
293 .sync = FB_SYNC_HOR_HIGH_ACT|FB_SYNC_VERT_HIGH_ACT, 293 .sync = FB_SYNC_HOR_HIGH_ACT|FB_SYNC_VERT_HIGH_ACT,
294 .lccr0 = LCCR0_Act,
295 .lccr3 = LCCR3_PCP,
296 .pxafb_backlight_power = mainstone_backlight_power,
297}; 294};
298 295
299static struct pxafb_mach_info toshiba_ltm035a776c __initdata = { 296static struct pxafb_mode_info toshiba_ltm035a776c_mode = {
300 .pixclock = 110000, 297 .pixclock = 110000,
301 .xres = 240, 298 .xres = 240,
302 .yres = 320, 299 .yres = 320,
@@ -308,6 +305,10 @@ static struct pxafb_mach_info toshiba_ltm035a776c __initdata = {
308 .upper_margin = 1, 305 .upper_margin = 1,
309 .lower_margin = 10, 306 .lower_margin = 10,
310 .sync = FB_SYNC_HOR_HIGH_ACT|FB_SYNC_VERT_HIGH_ACT, 307 .sync = FB_SYNC_HOR_HIGH_ACT|FB_SYNC_VERT_HIGH_ACT,
308};
309
310static struct pxafb_mach_info mainstone_pxafb_info = {
311 .num_modes = 1,
311 .lccr0 = LCCR0_Act, 312 .lccr0 = LCCR0_Act,
312 .lccr3 = LCCR3_PCP, 313 .lccr3 = LCCR3_PCP,
313 .pxafb_backlight_power = mainstone_backlight_power, 314 .pxafb_backlight_power = mainstone_backlight_power,
@@ -448,9 +449,11 @@ static void __init mainstone_init(void)
448 /* reading Mainstone's "Virtual Configuration Register" 449 /* reading Mainstone's "Virtual Configuration Register"
449 might be handy to select LCD type here */ 450 might be handy to select LCD type here */
450 if (0) 451 if (0)
451 set_pxa_fb_info(&toshiba_ltm04c380k); 452 mainstone_pxafb_info.modes = &toshiba_ltm04c380k_mode;
452 else 453 else
453 set_pxa_fb_info(&toshiba_ltm035a776c); 454 mainstone_pxafb_info.modes = &toshiba_ltm035a776c_mode;
455
456 set_pxa_fb_info(&mainstone_pxafb_info);
454 457
455 pxa_set_mci_info(&mainstone_mci_platform_data); 458 pxa_set_mci_info(&mainstone_mci_platform_data);
456 pxa_set_ficp_info(&mainstone_ficp_platform_data); 459 pxa_set_ficp_info(&mainstone_ficp_platform_data);
diff --git a/arch/arm/mach-pxa/poodle.c b/arch/arm/mach-pxa/poodle.c
index 6dbff6d94801..5e8c098ca139 100644
--- a/arch/arm/mach-pxa/poodle.c
+++ b/arch/arm/mach-pxa/poodle.c
@@ -296,27 +296,25 @@ static struct pxa2xx_udc_mach_info udc_info __initdata = {
296 296
297 297
298/* PXAFB device */ 298/* PXAFB device */
299static struct pxafb_mach_info poodle_fb_info __initdata = { 299static struct pxafb_mode_info poodle_fb_mode = {
300 .pixclock = 144700, 300 .pixclock = 144700,
301
302 .xres = 320, 301 .xres = 320,
303 .yres = 240, 302 .yres = 240,
304 .bpp = 16, 303 .bpp = 16,
305
306 .hsync_len = 7, 304 .hsync_len = 7,
307 .left_margin = 11, 305 .left_margin = 11,
308 .right_margin = 30, 306 .right_margin = 30,
309
310 .vsync_len = 2, 307 .vsync_len = 2,
311 .upper_margin = 2, 308 .upper_margin = 2,
312 .lower_margin = 0, 309 .lower_margin = 0,
313 .sync = FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT, 310 .sync = FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,
311};
314 312
313static struct pxafb_mach_info poodle_fb_info = {
314 .modes = &poodle_fb_mode,
315 .num_modes = 1,
315 .lccr0 = LCCR0_Act | LCCR0_Sngl | LCCR0_Color, 316 .lccr0 = LCCR0_Act | LCCR0_Sngl | LCCR0_Color,
316 .lccr3 = 0, 317 .lccr3 = 0,
317
318 .pxafb_backlight_power = NULL,
319 .pxafb_lcd_power = NULL,
320}; 318};
321 319
322static struct platform_device *devices[] __initdata = { 320static struct platform_device *devices[] __initdata = {
diff --git a/arch/arm/mach-pxa/spitz.c b/arch/arm/mach-pxa/spitz.c
index 1c32a9310dc2..401cdb850fbc 100644
--- a/arch/arm/mach-pxa/spitz.c
+++ b/arch/arm/mach-pxa/spitz.c
@@ -407,21 +407,42 @@ static struct pxaficp_platform_data spitz_ficp_platform_data = {
407/* 407/*
408 * Spitz PXA Framebuffer 408 * Spitz PXA Framebuffer
409 */ 409 */
410static struct pxafb_mach_info spitz_pxafb_info __initdata = { 410
411 .pixclock = 19231, 411static struct pxafb_mode_info spitz_pxafb_modes[] = {
412 .xres = 480, 412{
413 .yres = 640, 413 .pixclock = 19231,
414 .bpp = 16, 414 .xres = 480,
415 .hsync_len = 40, 415 .yres = 640,
416 .left_margin = 46, 416 .bpp = 16,
417 .right_margin = 125, 417 .hsync_len = 40,
418 .vsync_len = 3, 418 .left_margin = 46,
419 .upper_margin = 1, 419 .right_margin = 125,
420 .lower_margin = 0, 420 .vsync_len = 3,
421 .sync = 0, 421 .upper_margin = 1,
422 .lccr0 = LCCR0_Color | LCCR0_Sngl | LCCR0_Act | LCCR0_LDDALT | LCCR0_OUC | LCCR0_CMDIM | LCCR0_RDSTM, 422 .lower_margin = 0,
423 .lccr3 = LCCR3_PixRsEdg | LCCR3_OutEnH, 423 .sync = 0,
424 .pxafb_lcd_power = spitz_lcd_power, 424},{
425 .pixclock = 134617,
426 .xres = 240,
427 .yres = 320,
428 .bpp = 16,
429 .hsync_len = 20,
430 .left_margin = 20,
431 .right_margin = 46,
432 .vsync_len = 2,
433 .upper_margin = 1,
434 .lower_margin = 0,
435 .sync = 0,
436},
437};
438
439static struct pxafb_mach_info spitz_pxafb_info = {
440 .modes = &spitz_pxafb_modes[0],
441 .num_modes = 2,
442 .fixed_modes = 1,
443 .lccr0 = LCCR0_Color | LCCR0_Sngl | LCCR0_Act | LCCR0_LDDALT | LCCR0_OUC | LCCR0_CMDIM | LCCR0_RDSTM,
444 .lccr3 = LCCR3_PixRsEdg | LCCR3_OutEnH,
445 .pxafb_lcd_power = spitz_lcd_power,
425}; 446};
426 447
427 448
diff --git a/arch/arm/mach-pxa/trizeps4.c b/arch/arm/mach-pxa/trizeps4.c
index 7c3007df1bd6..910571e9a190 100644
--- a/arch/arm/mach-pxa/trizeps4.c
+++ b/arch/arm/mach-pxa/trizeps4.c
@@ -368,7 +368,7 @@ static struct map_desc trizeps4_io_desc[] __initdata = {
368 } 368 }
369}; 369};
370 370
371static struct pxafb_mach_info sharp_lcd __initdata = { 371static struct pxafb_mode_info sharp_lcd_mode = {
372 .pixclock = 78000, 372 .pixclock = 78000,
373 .xres = 640, 373 .xres = 640,
374 .yres = 480, 374 .yres = 480,
@@ -381,6 +381,11 @@ static struct pxafb_mach_info sharp_lcd __initdata = {
381 .lower_margin = 0, 381 .lower_margin = 0,
382 .sync = FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT, 382 .sync = FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,
383 .cmap_greyscale = 0, 383 .cmap_greyscale = 0,
384};
385
386static struct pxafb_mach_info sharp_lcd = {
387 .modes = &sharp_lcd_mode,
388 .num_modes = 1,
384 .cmap_inverse = 0, 389 .cmap_inverse = 0,
385 .cmap_static = 0, 390 .cmap_static = 0,
386 .lccr0 = LCCR0_Color | LCCR0_Pas | LCCR0_Dual, 391 .lccr0 = LCCR0_Color | LCCR0_Pas | LCCR0_Dual,
diff --git a/arch/arm/mach-s3c2410/Kconfig b/arch/arm/mach-s3c2410/Kconfig
index df37594c30f8..63965c78de8c 100644
--- a/arch/arm/mach-s3c2410/Kconfig
+++ b/arch/arm/mach-s3c2410/Kconfig
@@ -13,7 +13,7 @@ config MACH_ANUBIS
13 bool "Simtec Electronics ANUBIS" 13 bool "Simtec Electronics ANUBIS"
14 select CPU_S3C2440 14 select CPU_S3C2440
15 help 15 help
16 Say Y gere if you are using the Simtec Electronics ANUBIS 16 Say Y here if you are using the Simtec Electronics ANUBIS
17 development system 17 development system
18 18
19config MACH_OSIRIS 19config MACH_OSIRIS
diff --git a/arch/arm/mach-s3c2410/s3c2400-gpio.c b/arch/arm/mach-s3c2410/s3c2400-gpio.c
index f2a78175a70a..1576d01d5f82 100644
--- a/arch/arm/mach-s3c2410/s3c2400-gpio.c
+++ b/arch/arm/mach-s3c2410/s3c2400-gpio.c
@@ -1,4 +1,4 @@
1/* linux/arch/arm/mach-s3c2410/gpio.c 1/* linux/arch/arm/mach-s3c2410/s3c2400-gpio.c
2 * 2 *
3 * Copyright (c) 2006 Lucas Correia Villa Real <lucasvr@gobolinux.org> 3 * Copyright (c) 2006 Lucas Correia Villa Real <lucasvr@gobolinux.org>
4 * 4 *
diff --git a/arch/arm/mach-s3c2410/s3c2410-clock.c b/arch/arm/mach-s3c2410/s3c2410-clock.c
index 99718663318e..00abe199a08e 100644
--- a/arch/arm/mach-s3c2410/s3c2410-clock.c
+++ b/arch/arm/mach-s3c2410/s3c2410-clock.c
@@ -1,4 +1,4 @@
1/* linux/arch/arm/mach-s3c2410/clock.c 1/* linux/arch/arm/mach-s3c2410/s3c2410-clock.c
2 * 2 *
3 * Copyright (c) 2006 Simtec Electronics 3 * Copyright (c) 2006 Simtec Electronics
4 * Ben Dooks <ben@simtec.co.uk> 4 * Ben Dooks <ben@simtec.co.uk>
diff --git a/arch/arm/mach-s3c2410/s3c2410-gpio.c b/arch/arm/mach-s3c2410/s3c2410-gpio.c
index 471a71490010..a2098f692d83 100644
--- a/arch/arm/mach-s3c2410/s3c2410-gpio.c
+++ b/arch/arm/mach-s3c2410/s3c2410-gpio.c
@@ -1,4 +1,4 @@
1/* linux/arch/arm/mach-s3c2410/gpio.c 1/* linux/arch/arm/mach-s3c2410/s3c2410-gpio.c
2 * 2 *
3 * Copyright (c) 2004-2006 Simtec Electronics 3 * Copyright (c) 2004-2006 Simtec Electronics
4 * Ben Dooks <ben@simtec.co.uk> 4 * Ben Dooks <ben@simtec.co.uk>
diff --git a/arch/arm/mach-s3c2410/s3c2442.c b/arch/arm/mach-s3c2410/s3c2442.c
index debae2430557..581667efd13c 100644
--- a/arch/arm/mach-s3c2410/s3c2442.c
+++ b/arch/arm/mach-s3c2410/s3c2442.c
@@ -1,4 +1,4 @@
1/* linux/arch/arm/mach-s3c2410/s3c2440.c 1/* linux/arch/arm/mach-s3c2410/s3c2442.c
2 * 2 *
3 * Copyright (c) 2006 Simtec Electronics 3 * Copyright (c) 2006 Simtec Electronics
4 * Ben Dooks <ben@simtec.co.uk> 4 * Ben Dooks <ben@simtec.co.uk>
diff --git a/arch/arm/mach-s3c2410/s3c244x-irq.c b/arch/arm/mach-s3c2410/s3c244x-irq.c
index 0d13546c3500..ec702f88b299 100644
--- a/arch/arm/mach-s3c2410/s3c244x-irq.c
+++ b/arch/arm/mach-s3c2410/s3c244x-irq.c
@@ -1,4 +1,4 @@
1/* linux/arch/arm/mach-s3c2410/s3c2440-irq.c 1/* linux/arch/arm/mach-s3c2410/s3c244x-irq.c
2 * 2 *
3 * Copyright (c) 2003,2004 Simtec Electronics 3 * Copyright (c) 2003,2004 Simtec Electronics
4 * Ben Dooks <ben@simtec.co.uk> 4 * Ben Dooks <ben@simtec.co.uk>
diff --git a/arch/arm/mach-s3c2410/s3c244x.h b/arch/arm/mach-s3c2410/s3c244x.h
index 3e7f5f75134d..1488c1eb37e6 100644
--- a/arch/arm/mach-s3c2410/s3c244x.h
+++ b/arch/arm/mach-s3c2410/s3c244x.h
@@ -1,4 +1,4 @@
1/* arch/arm/mach-s3c2410/s3c2440.h 1/* arch/arm/mach-s3c2410/s3c244x.h
2 * 2 *
3 * Copyright (c) 2004-2005 Simtec Electronics 3 * Copyright (c) 2004-2005 Simtec Electronics
4 * Ben Dooks <ben@simtec.co.uk> 4 * Ben Dooks <ben@simtec.co.uk>
diff --git a/arch/arm/mach-s3c2410/usb-simtec.h b/arch/arm/mach-s3c2410/usb-simtec.h
index 92c0cc83aeec..d8aa6127dedb 100644
--- a/arch/arm/mach-s3c2410/usb-simtec.h
+++ b/arch/arm/mach-s3c2410/usb-simtec.h
@@ -1,4 +1,4 @@
1/* linux/arch/arm/mach-s3c2410/usb-simtec.c 1/* linux/arch/arm/mach-s3c2410/usb-simtec.h
2 * 2 *
3 * Copyright (c) 2004 Simtec Electronics 3 * Copyright (c) 2004 Simtec Electronics
4 * Ben Dooks <ben@simtec.co.uk> 4 * Ben Dooks <ben@simtec.co.uk>
diff --git a/arch/arm/mach-sa1100/dma.c b/arch/arm/mach-sa1100/dma.c
index 3c6441d4bc59..2ea2a657a034 100644
--- a/arch/arm/mach-sa1100/dma.c
+++ b/arch/arm/mach-sa1100/dma.c
@@ -1,5 +1,5 @@
1/* 1/*
2 * arch/arm/kernel/dma-sa1100.c 2 * arch/arm/mach-sa1100/dma.c
3 * 3 *
4 * Support functions for the SA11x0 internal DMA channels. 4 * Support functions for the SA11x0 internal DMA channels.
5 * 5 *
diff --git a/arch/arm/mach-shark/leds.c b/arch/arm/mach-shark/leds.c
index 7cd86d357a3c..5386a81f796a 100644
--- a/arch/arm/mach-shark/leds.c
+++ b/arch/arm/mach-shark/leds.c
@@ -1,5 +1,5 @@
1/* 1/*
2 * arch/arm/kernel/leds-shark.c 2 * arch/arm/mach-shark/leds.c
3 * by Alexander Schulz 3 * by Alexander Schulz
4 * 4 *
5 * derived from: 5 * derived from:
diff --git a/arch/arm/mm/mmu.c b/arch/arm/mm/mmu.c
index e566cbe4b222..f866bf6b97d4 100644
--- a/arch/arm/mm/mmu.c
+++ b/arch/arm/mm/mmu.c
@@ -27,7 +27,7 @@
27 27
28DEFINE_PER_CPU(struct mmu_gather, mmu_gathers); 28DEFINE_PER_CPU(struct mmu_gather, mmu_gathers);
29 29
30extern void _stext, __data_start, _end; 30extern void _stext, _etext, __data_start, _end;
31extern pgd_t swapper_pg_dir[PTRS_PER_PGD]; 31extern pgd_t swapper_pg_dir[PTRS_PER_PGD];
32 32
33/* 33/*
diff --git a/arch/arm/oprofile/op_model_xscale.c b/arch/arm/oprofile/op_model_xscale.c
index 6576143f2559..726ad2b3b435 100644
--- a/arch/arm/oprofile/op_model_xscale.c
+++ b/arch/arm/oprofile/op_model_xscale.c
@@ -33,9 +33,6 @@
33#define PMU_CNT64 0x008 /* Make CCNT count every 64th cycle */ 33#define PMU_CNT64 0x008 /* Make CCNT count every 64th cycle */
34 34
35/* TODO do runtime detection */ 35/* TODO do runtime detection */
36#ifdef CONFIG_ARCH_IOP310
37#define XSCALE_PMU_IRQ IRQ_XS80200_PMU
38#endif
39#ifdef CONFIG_ARCH_IOP32X 36#ifdef CONFIG_ARCH_IOP32X
40#define XSCALE_PMU_IRQ IRQ_IOP32X_CORE_PMU 37#define XSCALE_PMU_IRQ IRQ_IOP32X_CORE_PMU
41#endif 38#endif
diff --git a/arch/arm/plat-omap/sram-fn.S b/arch/arm/plat-omap/sram-fn.S
index 85cffe2c6266..9e1813c77e05 100644
--- a/arch/arm/plat-omap/sram-fn.S
+++ b/arch/arm/plat-omap/sram-fn.S
@@ -1,5 +1,5 @@
1/* 1/*
2 * linux/arch/arm/plat-omap/sram.S 2 * linux/arch/arm/plat-omap/sram-fn.S
3 * 3 *
4 * Functions that need to be run in internal SRAM 4 * Functions that need to be run in internal SRAM
5 * 5 *
diff --git a/arch/arm/vfp/vfpsingle.c b/arch/arm/vfp/vfpsingle.c
index ab5e9503bae5..0221ba3bc799 100644
--- a/arch/arm/vfp/vfpsingle.c
+++ b/arch/arm/vfp/vfpsingle.c
@@ -198,8 +198,10 @@ u32 vfp_single_normaliseround(int sd, struct vfp_single *vs, u32 fpscr, u32 exce
198 vfp_single_dump("pack: final", vs); 198 vfp_single_dump("pack: final", vs);
199 { 199 {
200 s32 d = vfp_single_pack(vs); 200 s32 d = vfp_single_pack(vs);
201#ifdef DEBUG
201 pr_debug("VFP: %s: d(s%d)=%08x exceptions=%08x\n", func, 202 pr_debug("VFP: %s: d(s%d)=%08x exceptions=%08x\n", func,
202 sd, d, exceptions); 203 sd, d, exceptions);
204#endif
203 vfp_put_float(d, sd); 205 vfp_put_float(d, sd);
204 } 206 }
205 207