diff options
Diffstat (limited to 'arch/arm')
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 | 245 | 1: 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 | */ |
38 | cpumask_t cpu_possible_map; | 38 | cpumask_t cpu_possible_map; |
39 | EXPORT_SYMBOL(cpu_possible_map); | ||
39 | cpumask_t cpu_online_map; | 40 | cpumask_t cpu_online_map; |
41 | EXPORT_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 | ||
282 | long execve(const char *filename, char **argv, char **envp) | 282 | int 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 | } |
320 | EXPORT_SYMBOL(execve); | 320 | EXPORT_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 | ||
47 | static struct ep93xx_eth_data edb9315a_eth_data = { | ||
48 | .phy_id = 1, | ||
49 | }; | ||
50 | |||
51 | static 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 | |||
63 | static 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 | |||
47 | static void __init edb9315a_init_machine(void) | 73 | static 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 | ||
53 | MACHINE_START(EDB9315A, "Cirrus Logic EDB9315A Evaluation Board") | 83 | MACHINE_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 | ||
46 | static struct ep93xx_eth_data gesbc9312_eth_data = { | ||
47 | .phy_id = 1, | ||
48 | }; | ||
49 | |||
50 | static 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 | |||
62 | static 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 | |||
46 | static void __init gesbc9312_init_machine(void) | 72 | static 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 | ||
52 | MACHINE_START(GESBC9312, "Glomation GESBC-9312-sx") | 79 | MACHINE_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 | ||
160 | static struct ep93xx_eth_data ts72xx_eth_data = { | ||
161 | .phy_id = 1, | ||
162 | }; | ||
163 | |||
164 | static 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 | |||
176 | static 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 | |||
160 | static void __init ts72xx_init_machine(void) | 186 | static 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 | ||
168 | MACHINE_START(TS72XX, "Technologic Systems TS-72xx SBC") | 198 | MACHINE_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 | ||
738 | static 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 | ||
770 | static int local_clk_enable(struct clk *clk) | 781 | static 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 | ||
434 | void spitz_lcd_power(int on) | 434 | void 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 | ||
207 | static struct pxafb_mach_info pxa_fb_info; | ||
208 | |||
209 | void __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 | |||
214 | static struct resource pxafb_resources[] = { | 207 | static 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 | ||
233 | void __init set_pxa_fb_info(struct pxafb_mach_info *info) | ||
234 | { | ||
235 | pxafb_device.dev.platform_data = info; | ||
236 | } | ||
237 | |||
241 | void __init set_pxa_fb_parent(struct device *parent_dev) | 238 | void __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 | ||
85 | static void idp_lcd_power(int on) | 85 | static 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 | ||
102 | static struct pxafb_mach_info sharp_lm8v31 __initdata = { | 102 | static 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 | |||
117 | static 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) */ |
251 | static struct pxafb_mach_info sharp_lq057q3dc02 __initdata = { | 251 | static 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 | |||
265 | static 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) */ |
269 | static struct pxafb_mach_info sharp_lq121s1dg31 __initdata = { | 274 | static 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 | |||
288 | static 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) */ |
287 | static struct pxafb_mach_info sharp_lq036q1da01 __initdata = { | 297 | static 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 | |||
311 | static 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) */ |
305 | static struct pxafb_mach_info sharp_lq64d343 __initdata = { | 320 | static 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 | |||
334 | static 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) */ |
323 | static struct pxafb_mach_info sharp_lq10d368 __initdata = { | 343 | static 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 | |||
357 | static 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) */ |
341 | static struct pxafb_mach_info sharp_lq035q7db02_20 __initdata = { | 366 | static 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 | |||
380 | static 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 | ||
355 | static struct pxafb_mach_info sharp_lm8v31 __initdata = { | 355 | static 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 | |||
370 | static 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 | ||
282 | static struct pxafb_mach_info toshiba_ltm04c380k __initdata = { | 282 | static 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 | ||
299 | static struct pxafb_mach_info toshiba_ltm035a776c __initdata = { | 296 | static 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 | |||
310 | static 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 */ |
299 | static struct pxafb_mach_info poodle_fb_info __initdata = { | 299 | static 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 | ||
313 | static 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 | ||
322 | static struct platform_device *devices[] __initdata = { | 320 | static 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 | */ |
410 | static struct pxafb_mach_info spitz_pxafb_info __initdata = { | 410 | |
411 | .pixclock = 19231, | 411 | static 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 | |||
439 | static 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 | ||
371 | static struct pxafb_mach_info sharp_lcd __initdata = { | 371 | static 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 | |||
386 | static 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 | ||
19 | config MACH_OSIRIS | 19 | config 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 | ||
28 | DEFINE_PER_CPU(struct mmu_gather, mmu_gathers); | 28 | DEFINE_PER_CPU(struct mmu_gather, mmu_gathers); |
29 | 29 | ||
30 | extern void _stext, __data_start, _end; | 30 | extern void _stext, _etext, __data_start, _end; |
31 | extern pgd_t swapper_pg_dir[PTRS_PER_PGD]; | 31 | extern 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 | ||