diff options
Diffstat (limited to 'arch/arm')
29 files changed, 41 insertions, 132 deletions
diff --git a/arch/arm/include/asm/cnt32_to_63.h b/arch/arm/include/asm/cnt32_to_63.h deleted file mode 100644 index 480c873fa746..000000000000 --- a/arch/arm/include/asm/cnt32_to_63.h +++ /dev/null | |||
@@ -1,78 +0,0 @@ | |||
1 | /* | ||
2 | * include/asm/cnt32_to_63.h -- extend a 32-bit counter to 63 bits | ||
3 | * | ||
4 | * Author: Nicolas Pitre | ||
5 | * Created: December 3, 2006 | ||
6 | * Copyright: MontaVista Software, Inc. | ||
7 | * | ||
8 | * This program is free software; you can redistribute it and/or modify | ||
9 | * it under the terms of the GNU General Public License version 2 | ||
10 | * as published by the Free Software Foundation. | ||
11 | */ | ||
12 | |||
13 | #ifndef __INCLUDE_CNT32_TO_63_H__ | ||
14 | #define __INCLUDE_CNT32_TO_63_H__ | ||
15 | |||
16 | #include <linux/compiler.h> | ||
17 | #include <asm/types.h> | ||
18 | #include <asm/byteorder.h> | ||
19 | |||
20 | /* | ||
21 | * Prototype: u64 cnt32_to_63(u32 cnt) | ||
22 | * Many hardware clock counters are only 32 bits wide and therefore have | ||
23 | * a relatively short period making wrap-arounds rather frequent. This | ||
24 | * is a problem when implementing sched_clock() for example, where a 64-bit | ||
25 | * non-wrapping monotonic value is expected to be returned. | ||
26 | * | ||
27 | * To overcome that limitation, let's extend a 32-bit counter to 63 bits | ||
28 | * in a completely lock free fashion. Bits 0 to 31 of the clock are provided | ||
29 | * by the hardware while bits 32 to 62 are stored in memory. The top bit in | ||
30 | * memory is used to synchronize with the hardware clock half-period. When | ||
31 | * the top bit of both counters (hardware and in memory) differ then the | ||
32 | * memory is updated with a new value, incrementing it when the hardware | ||
33 | * counter wraps around. | ||
34 | * | ||
35 | * Because a word store in memory is atomic then the incremented value will | ||
36 | * always be in synch with the top bit indicating to any potential concurrent | ||
37 | * reader if the value in memory is up to date or not with regards to the | ||
38 | * needed increment. And any race in updating the value in memory is harmless | ||
39 | * as the same value would simply be stored more than once. | ||
40 | * | ||
41 | * The only restriction for the algorithm to work properly is that this | ||
42 | * code must be executed at least once per each half period of the 32-bit | ||
43 | * counter to properly update the state bit in memory. This is usually not a | ||
44 | * problem in practice, but if it is then a kernel timer could be scheduled | ||
45 | * to manage for this code to be executed often enough. | ||
46 | * | ||
47 | * Note that the top bit (bit 63) in the returned value should be considered | ||
48 | * as garbage. It is not cleared here because callers are likely to use a | ||
49 | * multiplier on the returned value which can get rid of the top bit | ||
50 | * implicitly by making the multiplier even, therefore saving on a runtime | ||
51 | * clear-bit instruction. Otherwise caller must remember to clear the top | ||
52 | * bit explicitly. | ||
53 | */ | ||
54 | |||
55 | /* this is used only to give gcc a clue about good code generation */ | ||
56 | typedef union { | ||
57 | struct { | ||
58 | #if defined(__LITTLE_ENDIAN) | ||
59 | u32 lo, hi; | ||
60 | #elif defined(__BIG_ENDIAN) | ||
61 | u32 hi, lo; | ||
62 | #endif | ||
63 | }; | ||
64 | u64 val; | ||
65 | } cnt32_to_63_t; | ||
66 | |||
67 | #define cnt32_to_63(cnt_lo) \ | ||
68 | ({ \ | ||
69 | static volatile u32 __m_cnt_hi = 0; \ | ||
70 | cnt32_to_63_t __x; \ | ||
71 | __x.hi = __m_cnt_hi; \ | ||
72 | __x.lo = (cnt_lo); \ | ||
73 | if (unlikely((s32)(__x.hi ^ __x.lo) < 0)) \ | ||
74 | __m_cnt_hi = __x.hi = (__x.hi ^ 0x80000000) + (__x.hi >> 31); \ | ||
75 | __x.val; \ | ||
76 | }) | ||
77 | |||
78 | #endif | ||
diff --git a/arch/arm/kernel/kgdb.c b/arch/arm/kernel/kgdb.c index aaffaecffcd1..ba8ccfede964 100644 --- a/arch/arm/kernel/kgdb.c +++ b/arch/arm/kernel/kgdb.c | |||
@@ -111,8 +111,6 @@ int kgdb_arch_handle_exception(int exception_vector, int signo, | |||
111 | case 'D': | 111 | case 'D': |
112 | case 'k': | 112 | case 'k': |
113 | case 'c': | 113 | case 'c': |
114 | kgdb_contthread = NULL; | ||
115 | |||
116 | /* | 114 | /* |
117 | * Try to read optional parameter, pc unchanged if no parm. | 115 | * Try to read optional parameter, pc unchanged if no parm. |
118 | * If this was a compiled breakpoint, we need to move | 116 | * If this was a compiled breakpoint, we need to move |
diff --git a/arch/arm/kernel/smp.c b/arch/arm/kernel/smp.c index e9842f6767f9..e42a749a56dd 100644 --- a/arch/arm/kernel/smp.c +++ b/arch/arm/kernel/smp.c | |||
@@ -277,6 +277,7 @@ asmlinkage void __cpuinit secondary_start_kernel(void) | |||
277 | /* | 277 | /* |
278 | * Enable local interrupts. | 278 | * Enable local interrupts. |
279 | */ | 279 | */ |
280 | notify_cpu_starting(cpu); | ||
280 | local_irq_enable(); | 281 | local_irq_enable(); |
281 | local_fiq_enable(); | 282 | local_fiq_enable(); |
282 | 283 | ||
diff --git a/arch/arm/mach-davinci/psc.c b/arch/arm/mach-davinci/psc.c index 42b976e8a7e9..58754f066d5b 100644 --- a/arch/arm/mach-davinci/psc.c +++ b/arch/arm/mach-davinci/psc.c | |||
@@ -70,9 +70,6 @@ void davinci_psc_config(unsigned int domain, unsigned int id, char enable) | |||
70 | { | 70 | { |
71 | u32 epcpr, ptcmd, ptstat, pdstat, pdctl1, mdstat, mdctl, mdstat_mask; | 71 | u32 epcpr, ptcmd, ptstat, pdstat, pdctl1, mdstat, mdctl, mdstat_mask; |
72 | 72 | ||
73 | if (id < 0) | ||
74 | return; | ||
75 | |||
76 | mdctl = davinci_readl(DAVINCI_PWR_SLEEP_CNTRL_BASE + MDCTL + 4 * id); | 73 | mdctl = davinci_readl(DAVINCI_PWR_SLEEP_CNTRL_BASE + MDCTL + 4 * id); |
77 | if (enable) | 74 | if (enable) |
78 | mdctl |= 0x00000003; /* Enable Module */ | 75 | mdctl |= 0x00000003; /* Enable Module */ |
diff --git a/arch/arm/mach-kirkwood/db88f6281-bp-setup.c b/arch/arm/mach-kirkwood/db88f6281-bp-setup.c index 89d746d13fda..a14c2948c62a 100644 --- a/arch/arm/mach-kirkwood/db88f6281-bp-setup.c +++ b/arch/arm/mach-kirkwood/db88f6281-bp-setup.c | |||
@@ -25,7 +25,7 @@ | |||
25 | #include "common.h" | 25 | #include "common.h" |
26 | 26 | ||
27 | static struct mv643xx_eth_platform_data db88f6281_ge00_data = { | 27 | static struct mv643xx_eth_platform_data db88f6281_ge00_data = { |
28 | .phy_addr = 8, | 28 | .phy_addr = MV643XX_ETH_PHY_ADDR(8), |
29 | }; | 29 | }; |
30 | 30 | ||
31 | static struct mv_sata_platform_data db88f6281_sata_data = { | 31 | static struct mv_sata_platform_data db88f6281_sata_data = { |
diff --git a/arch/arm/mach-kirkwood/rd88f6192-nas-setup.c b/arch/arm/mach-kirkwood/rd88f6192-nas-setup.c index a3012d445971..b1d1a87a6821 100644 --- a/arch/arm/mach-kirkwood/rd88f6192-nas-setup.c +++ b/arch/arm/mach-kirkwood/rd88f6192-nas-setup.c | |||
@@ -30,7 +30,7 @@ | |||
30 | #define RD88F6192_GPIO_USB_VBUS 10 | 30 | #define RD88F6192_GPIO_USB_VBUS 10 |
31 | 31 | ||
32 | static struct mv643xx_eth_platform_data rd88f6192_ge00_data = { | 32 | static struct mv643xx_eth_platform_data rd88f6192_ge00_data = { |
33 | .phy_addr = 8, | 33 | .phy_addr = MV643XX_ETH_PHY_ADDR(8), |
34 | }; | 34 | }; |
35 | 35 | ||
36 | static struct mv_sata_platform_data rd88f6192_sata_data = { | 36 | static struct mv_sata_platform_data rd88f6192_sata_data = { |
diff --git a/arch/arm/mach-kirkwood/rd88f6281-setup.c b/arch/arm/mach-kirkwood/rd88f6281-setup.c index fb8990f9770d..f785093e433f 100644 --- a/arch/arm/mach-kirkwood/rd88f6281-setup.c +++ b/arch/arm/mach-kirkwood/rd88f6281-setup.c | |||
@@ -69,7 +69,7 @@ static struct platform_device rd88f6281_nand_flash = { | |||
69 | }; | 69 | }; |
70 | 70 | ||
71 | static struct mv643xx_eth_platform_data rd88f6281_ge00_data = { | 71 | static struct mv643xx_eth_platform_data rd88f6281_ge00_data = { |
72 | .phy_addr = -1, | 72 | .phy_addr = MV643XX_ETH_PHY_NONE, |
73 | .speed = SPEED_1000, | 73 | .speed = SPEED_1000, |
74 | .duplex = DUPLEX_FULL, | 74 | .duplex = DUPLEX_FULL, |
75 | }; | 75 | }; |
diff --git a/arch/arm/mach-loki/lb88rc8480-setup.c b/arch/arm/mach-loki/lb88rc8480-setup.c index 2cc9ac9b488f..85f9c1296aa0 100644 --- a/arch/arm/mach-loki/lb88rc8480-setup.c +++ b/arch/arm/mach-loki/lb88rc8480-setup.c | |||
@@ -67,7 +67,7 @@ static struct platform_device lb88rc8480_boot_flash = { | |||
67 | }; | 67 | }; |
68 | 68 | ||
69 | static struct mv643xx_eth_platform_data lb88rc8480_ge0_data = { | 69 | static struct mv643xx_eth_platform_data lb88rc8480_ge0_data = { |
70 | .phy_addr = 1, | 70 | .phy_addr = MV643XX_ETH_PHY_ADDR(1), |
71 | .mac_addr = { 0x00, 0x50, 0x43, 0x11, 0x22, 0x33 }, | 71 | .mac_addr = { 0x00, 0x50, 0x43, 0x11, 0x22, 0x33 }, |
72 | }; | 72 | }; |
73 | 73 | ||
diff --git a/arch/arm/mach-mv78xx0/common.c b/arch/arm/mach-mv78xx0/common.c index d56a05e8356b..238a2f8c2d52 100644 --- a/arch/arm/mach-mv78xx0/common.c +++ b/arch/arm/mach-mv78xx0/common.c | |||
@@ -335,6 +335,7 @@ void __init mv78xx0_ge00_init(struct mv643xx_eth_platform_data *eth_data) | |||
335 | struct mv643xx_eth_shared_platform_data mv78xx0_ge01_shared_data = { | 335 | struct mv643xx_eth_shared_platform_data mv78xx0_ge01_shared_data = { |
336 | .t_clk = 0, | 336 | .t_clk = 0, |
337 | .dram = &mv78xx0_mbus_dram_info, | 337 | .dram = &mv78xx0_mbus_dram_info, |
338 | .shared_smi = &mv78xx0_ge00_shared, | ||
338 | }; | 339 | }; |
339 | 340 | ||
340 | static struct resource mv78xx0_ge01_shared_resources[] = { | 341 | static struct resource mv78xx0_ge01_shared_resources[] = { |
@@ -375,7 +376,6 @@ static struct platform_device mv78xx0_ge01 = { | |||
375 | void __init mv78xx0_ge01_init(struct mv643xx_eth_platform_data *eth_data) | 376 | void __init mv78xx0_ge01_init(struct mv643xx_eth_platform_data *eth_data) |
376 | { | 377 | { |
377 | eth_data->shared = &mv78xx0_ge01_shared; | 378 | eth_data->shared = &mv78xx0_ge01_shared; |
378 | eth_data->shared_smi = &mv78xx0_ge00_shared; | ||
379 | mv78xx0_ge01.dev.platform_data = eth_data; | 379 | mv78xx0_ge01.dev.platform_data = eth_data; |
380 | 380 | ||
381 | platform_device_register(&mv78xx0_ge01_shared); | 381 | platform_device_register(&mv78xx0_ge01_shared); |
@@ -389,6 +389,7 @@ void __init mv78xx0_ge01_init(struct mv643xx_eth_platform_data *eth_data) | |||
389 | struct mv643xx_eth_shared_platform_data mv78xx0_ge10_shared_data = { | 389 | struct mv643xx_eth_shared_platform_data mv78xx0_ge10_shared_data = { |
390 | .t_clk = 0, | 390 | .t_clk = 0, |
391 | .dram = &mv78xx0_mbus_dram_info, | 391 | .dram = &mv78xx0_mbus_dram_info, |
392 | .shared_smi = &mv78xx0_ge00_shared, | ||
392 | }; | 393 | }; |
393 | 394 | ||
394 | static struct resource mv78xx0_ge10_shared_resources[] = { | 395 | static struct resource mv78xx0_ge10_shared_resources[] = { |
@@ -429,7 +430,6 @@ static struct platform_device mv78xx0_ge10 = { | |||
429 | void __init mv78xx0_ge10_init(struct mv643xx_eth_platform_data *eth_data) | 430 | void __init mv78xx0_ge10_init(struct mv643xx_eth_platform_data *eth_data) |
430 | { | 431 | { |
431 | eth_data->shared = &mv78xx0_ge10_shared; | 432 | eth_data->shared = &mv78xx0_ge10_shared; |
432 | eth_data->shared_smi = &mv78xx0_ge00_shared; | ||
433 | mv78xx0_ge10.dev.platform_data = eth_data; | 433 | mv78xx0_ge10.dev.platform_data = eth_data; |
434 | 434 | ||
435 | platform_device_register(&mv78xx0_ge10_shared); | 435 | platform_device_register(&mv78xx0_ge10_shared); |
@@ -443,6 +443,7 @@ void __init mv78xx0_ge10_init(struct mv643xx_eth_platform_data *eth_data) | |||
443 | struct mv643xx_eth_shared_platform_data mv78xx0_ge11_shared_data = { | 443 | struct mv643xx_eth_shared_platform_data mv78xx0_ge11_shared_data = { |
444 | .t_clk = 0, | 444 | .t_clk = 0, |
445 | .dram = &mv78xx0_mbus_dram_info, | 445 | .dram = &mv78xx0_mbus_dram_info, |
446 | .shared_smi = &mv78xx0_ge00_shared, | ||
446 | }; | 447 | }; |
447 | 448 | ||
448 | static struct resource mv78xx0_ge11_shared_resources[] = { | 449 | static struct resource mv78xx0_ge11_shared_resources[] = { |
@@ -483,7 +484,6 @@ static struct platform_device mv78xx0_ge11 = { | |||
483 | void __init mv78xx0_ge11_init(struct mv643xx_eth_platform_data *eth_data) | 484 | void __init mv78xx0_ge11_init(struct mv643xx_eth_platform_data *eth_data) |
484 | { | 485 | { |
485 | eth_data->shared = &mv78xx0_ge11_shared; | 486 | eth_data->shared = &mv78xx0_ge11_shared; |
486 | eth_data->shared_smi = &mv78xx0_ge00_shared; | ||
487 | mv78xx0_ge11.dev.platform_data = eth_data; | 487 | mv78xx0_ge11.dev.platform_data = eth_data; |
488 | 488 | ||
489 | platform_device_register(&mv78xx0_ge11_shared); | 489 | platform_device_register(&mv78xx0_ge11_shared); |
diff --git a/arch/arm/mach-mv78xx0/db78x00-bp-setup.c b/arch/arm/mach-mv78xx0/db78x00-bp-setup.c index a2d0c9783604..49f434c39eb7 100644 --- a/arch/arm/mach-mv78xx0/db78x00-bp-setup.c +++ b/arch/arm/mach-mv78xx0/db78x00-bp-setup.c | |||
@@ -19,19 +19,19 @@ | |||
19 | #include "common.h" | 19 | #include "common.h" |
20 | 20 | ||
21 | static struct mv643xx_eth_platform_data db78x00_ge00_data = { | 21 | static struct mv643xx_eth_platform_data db78x00_ge00_data = { |
22 | .phy_addr = 8, | 22 | .phy_addr = MV643XX_ETH_PHY_ADDR(8), |
23 | }; | 23 | }; |
24 | 24 | ||
25 | static struct mv643xx_eth_platform_data db78x00_ge01_data = { | 25 | static struct mv643xx_eth_platform_data db78x00_ge01_data = { |
26 | .phy_addr = 9, | 26 | .phy_addr = MV643XX_ETH_PHY_ADDR(9), |
27 | }; | 27 | }; |
28 | 28 | ||
29 | static struct mv643xx_eth_platform_data db78x00_ge10_data = { | 29 | static struct mv643xx_eth_platform_data db78x00_ge10_data = { |
30 | .phy_addr = -1, | 30 | .phy_addr = MV643XX_ETH_PHY_NONE, |
31 | }; | 31 | }; |
32 | 32 | ||
33 | static struct mv643xx_eth_platform_data db78x00_ge11_data = { | 33 | static struct mv643xx_eth_platform_data db78x00_ge11_data = { |
34 | .phy_addr = -1, | 34 | .phy_addr = MV643XX_ETH_PHY_NONE, |
35 | }; | 35 | }; |
36 | 36 | ||
37 | static struct mv_sata_platform_data db78x00_sata_data = { | 37 | static struct mv_sata_platform_data db78x00_sata_data = { |
diff --git a/arch/arm/mach-orion5x/db88f5281-setup.c b/arch/arm/mach-orion5x/db88f5281-setup.c index ff13e9060b18..d318bea2af91 100644 --- a/arch/arm/mach-orion5x/db88f5281-setup.c +++ b/arch/arm/mach-orion5x/db88f5281-setup.c | |||
@@ -285,7 +285,7 @@ subsys_initcall(db88f5281_pci_init); | |||
285 | * Ethernet | 285 | * Ethernet |
286 | ****************************************************************************/ | 286 | ****************************************************************************/ |
287 | static struct mv643xx_eth_platform_data db88f5281_eth_data = { | 287 | static struct mv643xx_eth_platform_data db88f5281_eth_data = { |
288 | .phy_addr = 8, | 288 | .phy_addr = MV643XX_ETH_PHY_ADDR(8), |
289 | }; | 289 | }; |
290 | 290 | ||
291 | /***************************************************************************** | 291 | /***************************************************************************** |
diff --git a/arch/arm/mach-orion5x/dns323-setup.c b/arch/arm/mach-orion5x/dns323-setup.c index b38c65ccfb15..3e66098340a5 100644 --- a/arch/arm/mach-orion5x/dns323-setup.c +++ b/arch/arm/mach-orion5x/dns323-setup.c | |||
@@ -79,7 +79,7 @@ subsys_initcall(dns323_pci_init); | |||
79 | */ | 79 | */ |
80 | 80 | ||
81 | static struct mv643xx_eth_platform_data dns323_eth_data = { | 81 | static struct mv643xx_eth_platform_data dns323_eth_data = { |
82 | .phy_addr = 8, | 82 | .phy_addr = MV643XX_ETH_PHY_ADDR(8), |
83 | }; | 83 | }; |
84 | 84 | ||
85 | /**************************************************************************** | 85 | /**************************************************************************** |
diff --git a/arch/arm/mach-orion5x/kurobox_pro-setup.c b/arch/arm/mach-orion5x/kurobox_pro-setup.c index c5bd54d8aa0c..dfbb68df7b09 100644 --- a/arch/arm/mach-orion5x/kurobox_pro-setup.c +++ b/arch/arm/mach-orion5x/kurobox_pro-setup.c | |||
@@ -161,7 +161,7 @@ subsys_initcall(kurobox_pro_pci_init); | |||
161 | ****************************************************************************/ | 161 | ****************************************************************************/ |
162 | 162 | ||
163 | static struct mv643xx_eth_platform_data kurobox_pro_eth_data = { | 163 | static struct mv643xx_eth_platform_data kurobox_pro_eth_data = { |
164 | .phy_addr = 8, | 164 | .phy_addr = MV643XX_ETH_PHY_ADDR(8), |
165 | }; | 165 | }; |
166 | 166 | ||
167 | /***************************************************************************** | 167 | /***************************************************************************** |
diff --git a/arch/arm/mach-orion5x/mss2-setup.c b/arch/arm/mach-orion5x/mss2-setup.c index 53ff1893b883..68acca98e638 100644 --- a/arch/arm/mach-orion5x/mss2-setup.c +++ b/arch/arm/mach-orion5x/mss2-setup.c | |||
@@ -109,7 +109,7 @@ subsys_initcall(mss2_pci_init); | |||
109 | ****************************************************************************/ | 109 | ****************************************************************************/ |
110 | 110 | ||
111 | static struct mv643xx_eth_platform_data mss2_eth_data = { | 111 | static struct mv643xx_eth_platform_data mss2_eth_data = { |
112 | .phy_addr = 8, | 112 | .phy_addr = MV643XX_ETH_PHY_ADDR(8), |
113 | }; | 113 | }; |
114 | 114 | ||
115 | /***************************************************************************** | 115 | /***************************************************************************** |
diff --git a/arch/arm/mach-orion5x/mv2120-setup.c b/arch/arm/mach-orion5x/mv2120-setup.c index 978d4d599396..97c9ccb2ac60 100644 --- a/arch/arm/mach-orion5x/mv2120-setup.c +++ b/arch/arm/mach-orion5x/mv2120-setup.c | |||
@@ -39,7 +39,7 @@ | |||
39 | * Ethernet | 39 | * Ethernet |
40 | ****************************************************************************/ | 40 | ****************************************************************************/ |
41 | static struct mv643xx_eth_platform_data mv2120_eth_data = { | 41 | static struct mv643xx_eth_platform_data mv2120_eth_data = { |
42 | .phy_addr = 8, | 42 | .phy_addr = MV643XX_ETH_PHY_ADDR(8), |
43 | }; | 43 | }; |
44 | 44 | ||
45 | static struct mv_sata_platform_data mv2120_sata_data = { | 45 | static struct mv_sata_platform_data mv2120_sata_data = { |
diff --git a/arch/arm/mach-orion5x/rd88f5181l-fxo-setup.c b/arch/arm/mach-orion5x/rd88f5181l-fxo-setup.c index e72fe1e065e8..500cdadaf09c 100644 --- a/arch/arm/mach-orion5x/rd88f5181l-fxo-setup.c +++ b/arch/arm/mach-orion5x/rd88f5181l-fxo-setup.c | |||
@@ -88,7 +88,7 @@ static struct orion5x_mpp_mode rd88f5181l_fxo_mpp_modes[] __initdata = { | |||
88 | }; | 88 | }; |
89 | 89 | ||
90 | static struct mv643xx_eth_platform_data rd88f5181l_fxo_eth_data = { | 90 | static struct mv643xx_eth_platform_data rd88f5181l_fxo_eth_data = { |
91 | .phy_addr = -1, | 91 | .phy_addr = MV643XX_ETH_PHY_NONE, |
92 | .speed = SPEED_1000, | 92 | .speed = SPEED_1000, |
93 | .duplex = DUPLEX_FULL, | 93 | .duplex = DUPLEX_FULL, |
94 | }; | 94 | }; |
diff --git a/arch/arm/mach-orion5x/rd88f5181l-ge-setup.c b/arch/arm/mach-orion5x/rd88f5181l-ge-setup.c index a1fe3257320d..ebde81416499 100644 --- a/arch/arm/mach-orion5x/rd88f5181l-ge-setup.c +++ b/arch/arm/mach-orion5x/rd88f5181l-ge-setup.c | |||
@@ -89,7 +89,7 @@ static struct orion5x_mpp_mode rd88f5181l_ge_mpp_modes[] __initdata = { | |||
89 | }; | 89 | }; |
90 | 90 | ||
91 | static struct mv643xx_eth_platform_data rd88f5181l_ge_eth_data = { | 91 | static struct mv643xx_eth_platform_data rd88f5181l_ge_eth_data = { |
92 | .phy_addr = -1, | 92 | .phy_addr = MV643XX_ETH_PHY_NONE, |
93 | .speed = SPEED_1000, | 93 | .speed = SPEED_1000, |
94 | .duplex = DUPLEX_FULL, | 94 | .duplex = DUPLEX_FULL, |
95 | }; | 95 | }; |
diff --git a/arch/arm/mach-orion5x/rd88f5182-setup.c b/arch/arm/mach-orion5x/rd88f5182-setup.c index 4c3bcd76ac85..a04f9e4b633a 100644 --- a/arch/arm/mach-orion5x/rd88f5182-setup.c +++ b/arch/arm/mach-orion5x/rd88f5182-setup.c | |||
@@ -221,7 +221,7 @@ subsys_initcall(rd88f5182_pci_init); | |||
221 | ****************************************************************************/ | 221 | ****************************************************************************/ |
222 | 222 | ||
223 | static struct mv643xx_eth_platform_data rd88f5182_eth_data = { | 223 | static struct mv643xx_eth_platform_data rd88f5182_eth_data = { |
224 | .phy_addr = 8, | 224 | .phy_addr = MV643XX_ETH_PHY_ADDR(8), |
225 | }; | 225 | }; |
226 | 226 | ||
227 | /***************************************************************************** | 227 | /***************************************************************************** |
diff --git a/arch/arm/mach-orion5x/ts78xx-setup.c b/arch/arm/mach-orion5x/ts78xx-setup.c index ae0a5dccd2a1..1368e9fd1a06 100644 --- a/arch/arm/mach-orion5x/ts78xx-setup.c +++ b/arch/arm/mach-orion5x/ts78xx-setup.c | |||
@@ -103,8 +103,7 @@ static struct platform_device ts78xx_nor_boot_flash = { | |||
103 | * Ethernet | 103 | * Ethernet |
104 | ****************************************************************************/ | 104 | ****************************************************************************/ |
105 | static struct mv643xx_eth_platform_data ts78xx_eth_data = { | 105 | static struct mv643xx_eth_platform_data ts78xx_eth_data = { |
106 | .phy_addr = 0, | 106 | .phy_addr = MV643XX_ETH_PHY_ADDR(0), |
107 | .force_phy_addr = 1, | ||
108 | }; | 107 | }; |
109 | 108 | ||
110 | /***************************************************************************** | 109 | /***************************************************************************** |
diff --git a/arch/arm/mach-orion5x/tsx09-common.c b/arch/arm/mach-orion5x/tsx09-common.c index 5128da1101bf..c9abb8fbfa70 100644 --- a/arch/arm/mach-orion5x/tsx09-common.c +++ b/arch/arm/mach-orion5x/tsx09-common.c | |||
@@ -49,7 +49,7 @@ void qnap_tsx09_power_off(void) | |||
49 | ****************************************************************************/ | 49 | ****************************************************************************/ |
50 | 50 | ||
51 | struct mv643xx_eth_platform_data qnap_tsx09_eth_data = { | 51 | struct mv643xx_eth_platform_data qnap_tsx09_eth_data = { |
52 | .phy_addr = 8, | 52 | .phy_addr = MV643XX_ETH_PHY_ADDR(8), |
53 | }; | 53 | }; |
54 | 54 | ||
55 | static int __init qnap_tsx09_parse_hex_nibble(char n) | 55 | static int __init qnap_tsx09_parse_hex_nibble(char n) |
diff --git a/arch/arm/mach-orion5x/wnr854t-setup.c b/arch/arm/mach-orion5x/wnr854t-setup.c index b6bc43e07eed..7ddc22c2bb54 100644 --- a/arch/arm/mach-orion5x/wnr854t-setup.c +++ b/arch/arm/mach-orion5x/wnr854t-setup.c | |||
@@ -92,7 +92,7 @@ static struct platform_device wnr854t_nor_flash = { | |||
92 | }; | 92 | }; |
93 | 93 | ||
94 | static struct mv643xx_eth_platform_data wnr854t_eth_data = { | 94 | static struct mv643xx_eth_platform_data wnr854t_eth_data = { |
95 | .phy_addr = -1, | 95 | .phy_addr = MV643XX_ETH_PHY_NONE, |
96 | .speed = SPEED_1000, | 96 | .speed = SPEED_1000, |
97 | .duplex = DUPLEX_FULL, | 97 | .duplex = DUPLEX_FULL, |
98 | }; | 98 | }; |
diff --git a/arch/arm/mach-orion5x/wrt350n-v2-setup.c b/arch/arm/mach-orion5x/wrt350n-v2-setup.c index b10da17b3fbd..9a4fd5256462 100644 --- a/arch/arm/mach-orion5x/wrt350n-v2-setup.c +++ b/arch/arm/mach-orion5x/wrt350n-v2-setup.c | |||
@@ -100,7 +100,7 @@ static struct platform_device wrt350n_v2_nor_flash = { | |||
100 | }; | 100 | }; |
101 | 101 | ||
102 | static struct mv643xx_eth_platform_data wrt350n_v2_eth_data = { | 102 | static struct mv643xx_eth_platform_data wrt350n_v2_eth_data = { |
103 | .phy_addr = -1, | 103 | .phy_addr = MV643XX_ETH_PHY_NONE, |
104 | .speed = SPEED_1000, | 104 | .speed = SPEED_1000, |
105 | .duplex = DUPLEX_FULL, | 105 | .duplex = DUPLEX_FULL, |
106 | }; | 106 | }; |
diff --git a/arch/arm/mach-pxa/time.c b/arch/arm/mach-pxa/time.c index 18d149745837..f8a9a62959e5 100644 --- a/arch/arm/mach-pxa/time.c +++ b/arch/arm/mach-pxa/time.c | |||
@@ -17,9 +17,9 @@ | |||
17 | #include <linux/interrupt.h> | 17 | #include <linux/interrupt.h> |
18 | #include <linux/clockchips.h> | 18 | #include <linux/clockchips.h> |
19 | #include <linux/sched.h> | 19 | #include <linux/sched.h> |
20 | #include <linux/cnt32_to_63.h> | ||
20 | 21 | ||
21 | #include <asm/div64.h> | 22 | #include <asm/div64.h> |
22 | #include <asm/cnt32_to_63.h> | ||
23 | #include <asm/mach/irq.h> | 23 | #include <asm/mach/irq.h> |
24 | #include <asm/mach/time.h> | 24 | #include <asm/mach/time.h> |
25 | #include <mach/pxa-regs.h> | 25 | #include <mach/pxa-regs.h> |
diff --git a/arch/arm/mach-sa1100/generic.c b/arch/arm/mach-sa1100/generic.c index b9fae2a39851..c1fbd5b5f9c4 100644 --- a/arch/arm/mach-sa1100/generic.c +++ b/arch/arm/mach-sa1100/generic.c | |||
@@ -18,9 +18,9 @@ | |||
18 | #include <linux/ioport.h> | 18 | #include <linux/ioport.h> |
19 | #include <linux/sched.h> /* just for sched_clock() - funny that */ | 19 | #include <linux/sched.h> /* just for sched_clock() - funny that */ |
20 | #include <linux/platform_device.h> | 20 | #include <linux/platform_device.h> |
21 | #include <linux/cnt32_to_63.h> | ||
21 | 22 | ||
22 | #include <asm/div64.h> | 23 | #include <asm/div64.h> |
23 | #include <asm/cnt32_to_63.h> | ||
24 | #include <mach/hardware.h> | 24 | #include <mach/hardware.h> |
25 | #include <asm/system.h> | 25 | #include <asm/system.h> |
26 | #include <asm/pgtable.h> | 26 | #include <asm/pgtable.h> |
diff --git a/arch/arm/mach-sa1100/include/mach/jornada720.h b/arch/arm/mach-sa1100/include/mach/jornada720.h index bc120850d313..cc6b4bfcecf6 100644 --- a/arch/arm/mach-sa1100/include/mach/jornada720.h +++ b/arch/arm/mach-sa1100/include/mach/jornada720.h | |||
@@ -1,10 +1,10 @@ | |||
1 | /* | 1 | /* |
2 | * arch/arm/mach-sa1100/include/mach/jornada720.h | 2 | * arch/arm/mach-sa1100/include/mach/jornada720.h |
3 | * | 3 | * |
4 | * This file contains SSP/MCU communication definitions for HP Jornada 710/720/728 | 4 | * SSP/MCU communication definitions for HP Jornada 710/720/728 |
5 | * | 5 | * |
6 | * Copyright (C) 2007 Kristoffer Ericson <Kristoffer.Ericson@gmail.com> | 6 | * Copyright 2007,2008 Kristoffer Ericson <Kristoffer.Ericson@gmail.com> |
7 | * Copyright (C) 2000 John Ankcorn <jca@lcs.mit.edu> | 7 | * Copyright 2000 John Ankcorn <jca@lcs.mit.edu> |
8 | * | 8 | * |
9 | * This program is free software; you can redistribute it and/or modify | 9 | * This program is free software; you can redistribute it and/or modify |
10 | * it under the terms of the GNU General Public License version 2 as | 10 | * it under the terms of the GNU General Public License version 2 as |
@@ -25,3 +25,8 @@ | |||
25 | #define PWMOFF 0xDF | 25 | #define PWMOFF 0xDF |
26 | #define TXDUMMY 0x11 | 26 | #define TXDUMMY 0x11 |
27 | #define ERRORCODE 0x00 | 27 | #define ERRORCODE 0x00 |
28 | |||
29 | extern void jornada_ssp_start(void); | ||
30 | extern void jornada_ssp_end(void); | ||
31 | extern int jornada_ssp_inout(u8 byte); | ||
32 | extern int jornada_ssp_byte(u8 byte); | ||
diff --git a/arch/arm/mach-sa1100/jornada720_ssp.c b/arch/arm/mach-sa1100/jornada720_ssp.c index 06ea7abd9170..28cf36967977 100644 --- a/arch/arm/mach-sa1100/jornada720_ssp.c +++ b/arch/arm/mach-sa1100/jornada720_ssp.c | |||
@@ -21,8 +21,8 @@ | |||
21 | #include <linux/slab.h> | 21 | #include <linux/slab.h> |
22 | 22 | ||
23 | #include <mach/hardware.h> | 23 | #include <mach/hardware.h> |
24 | #include <asm/hardware/ssp.h> | ||
25 | #include <mach/jornada720.h> | 24 | #include <mach/jornada720.h> |
25 | #include <asm/hardware/ssp.h> | ||
26 | 26 | ||
27 | static DEFINE_SPINLOCK(jornada_ssp_lock); | 27 | static DEFINE_SPINLOCK(jornada_ssp_lock); |
28 | static unsigned long jornada_ssp_flags; | 28 | static unsigned long jornada_ssp_flags; |
@@ -109,12 +109,12 @@ EXPORT_SYMBOL(jornada_ssp_inout); | |||
109 | * jornada_ssp_start - enable mcu | 109 | * jornada_ssp_start - enable mcu |
110 | * | 110 | * |
111 | */ | 111 | */ |
112 | int jornada_ssp_start() | 112 | void jornada_ssp_start(void) |
113 | { | 113 | { |
114 | spin_lock_irqsave(&jornada_ssp_lock, jornada_ssp_flags); | 114 | spin_lock_irqsave(&jornada_ssp_lock, jornada_ssp_flags); |
115 | GPCR = GPIO_GPIO25; | 115 | GPCR = GPIO_GPIO25; |
116 | udelay(50); | 116 | udelay(50); |
117 | return 0; | 117 | return; |
118 | }; | 118 | }; |
119 | EXPORT_SYMBOL(jornada_ssp_start); | 119 | EXPORT_SYMBOL(jornada_ssp_start); |
120 | 120 | ||
@@ -122,11 +122,11 @@ EXPORT_SYMBOL(jornada_ssp_start); | |||
122 | * jornada_ssp_end - disable mcu and turn off lock | 122 | * jornada_ssp_end - disable mcu and turn off lock |
123 | * | 123 | * |
124 | */ | 124 | */ |
125 | int jornada_ssp_end() | 125 | void jornada_ssp_end(void) |
126 | { | 126 | { |
127 | GPSR = GPIO_GPIO25; | 127 | GPSR = GPIO_GPIO25; |
128 | spin_unlock_irqrestore(&jornada_ssp_lock, jornada_ssp_flags); | 128 | spin_unlock_irqrestore(&jornada_ssp_lock, jornada_ssp_flags); |
129 | return 0; | 129 | return; |
130 | }; | 130 | }; |
131 | EXPORT_SYMBOL(jornada_ssp_end); | 131 | EXPORT_SYMBOL(jornada_ssp_end); |
132 | 132 | ||
diff --git a/arch/arm/mach-versatile/core.c b/arch/arm/mach-versatile/core.c index 824121d52b8d..565e0ba0d67e 100644 --- a/arch/arm/mach-versatile/core.c +++ b/arch/arm/mach-versatile/core.c | |||
@@ -28,9 +28,9 @@ | |||
28 | #include <linux/amba/clcd.h> | 28 | #include <linux/amba/clcd.h> |
29 | #include <linux/clocksource.h> | 29 | #include <linux/clocksource.h> |
30 | #include <linux/clockchips.h> | 30 | #include <linux/clockchips.h> |
31 | #include <linux/cnt32_to_63.h> | ||
31 | #include <linux/io.h> | 32 | #include <linux/io.h> |
32 | 33 | ||
33 | #include <asm/cnt32_to_63.h> | ||
34 | #include <asm/system.h> | 34 | #include <asm/system.h> |
35 | #include <mach/hardware.h> | 35 | #include <mach/hardware.h> |
36 | #include <asm/irq.h> | 36 | #include <asm/irq.h> |
diff --git a/arch/arm/plat-omap/devices.c b/arch/arm/plat-omap/devices.c index b38410f26203..a716ecd1db27 100644 --- a/arch/arm/plat-omap/devices.c +++ b/arch/arm/plat-omap/devices.c | |||
@@ -316,19 +316,6 @@ static inline void omap_init_mmc_conf(const struct omap_mmc_config *mmc_conf) | |||
316 | omap_cfg_reg(MMC_DAT3); | 316 | omap_cfg_reg(MMC_DAT3); |
317 | } | 317 | } |
318 | } | 318 | } |
319 | #if defined(CONFIG_ARCH_OMAP2420) | ||
320 | if (mmc_conf->mmc[0].internal_clock) { | ||
321 | /* | ||
322 | * Use internal loop-back in MMC/SDIO | ||
323 | * Module Input Clock selection | ||
324 | */ | ||
325 | if (cpu_is_omap24xx()) { | ||
326 | u32 v = omap_ctrl_readl(OMAP2_CONTROL_DEVCONF0); | ||
327 | v |= (1 << 24); /* not used in 243x */ | ||
328 | omap_ctrl_writel(v, OMAP2_CONTROL_DEVCONF0); | ||
329 | } | ||
330 | } | ||
331 | #endif | ||
332 | } | 319 | } |
333 | 320 | ||
334 | #ifdef CONFIG_ARCH_OMAP16XX | 321 | #ifdef CONFIG_ARCH_OMAP16XX |
diff --git a/arch/arm/plat-omap/include/mach/mtd-xip.h b/arch/arm/plat-omap/include/mach/mtd-xip.h index 5cee7e16a1b4..39b591ff54bb 100644 --- a/arch/arm/plat-omap/include/mach/mtd-xip.h +++ b/arch/arm/plat-omap/include/mach/mtd-xip.h | |||
@@ -3,7 +3,7 @@ | |||
3 | * | 3 | * |
4 | * Do not include this file directly. It's included from linux/mtd/xip.h | 4 | * Do not include this file directly. It's included from linux/mtd/xip.h |
5 | * | 5 | * |
6 | * Author: Vladimir Barinov <vbarinov@ru.mvista.com> | 6 | * Author: Vladimir Barinov <vbarinov@embeddedalley.com> |
7 | * | 7 | * |
8 | * (c) 2005 MontaVista Software, Inc. This file is licensed under the | 8 | * (c) 2005 MontaVista Software, Inc. This file is licensed under the |
9 | * terms of the GNU General Public License version 2. This program is | 9 | * terms of the GNU General Public License version 2. This program is |