diff options
author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-10-11 22:21:23 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-10-11 22:21:23 -0400 |
commit | dd6d1844af33acb4edd0a40b1770d091a22c94be (patch) | |
tree | e6bd3549919773a13b770324a4dddb51b194b452 /arch/mips/dec | |
parent | 19f71153b9be219756c6b2757921433a69b7975c (diff) | |
parent | aaf76a3245c02faba51c96b9a340c14d6bb0dcc0 (diff) |
Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus
* 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: (80 commits)
[MIPS] tlbex.c: Cleanup __init usage.
[MIPS] WRPPMC serial support move to platform device
[MIPS] R1: Fix hazard barriers to make kernels work on R2 also.
[MIPS] VPE: reimplement ELF loader.
[MIPS] cleanup WRPPMC include files
[MIPS] Add BUG_ON assertion for attempt to run kernel on the wrong CPU type.
[MIPS] SMP: Use ISO C struct initializer for local structs.
[MIPS] SMP: Kill useless casts.
[MIPS] Kill num_online_cpus() loops.
[MIPS] SMP: Implement smp_call_function_mask().
[MIPS] Make facility to convert CPU types to strings generally available.
[MIPS] Convert list of CPU types from #define to enum.
[MIPS] Optimize get_unaligned / put_unaligned implementations.
[MIPS] checkfiles: Fix "need space after that ','" errors.
[MIPS] Fix "no space between function name and open parenthesis" warnings.
[MIPS] Allow hardwiring of the CPU type to a single type for optimization.
[MIPS] tlbex: Size optimize code by declaring a few functions inline.
[MIPS] pg-r4k.c: Dump the generated code
[MIPS] Cobalt: Remove cobalt_machine_power_off()
[MIPS] Cobalt: Move reset port definition to arch/mips/cobalt/reset.c
...
Diffstat (limited to 'arch/mips/dec')
-rw-r--r-- | arch/mips/dec/ecc-berr.c | 2 | ||||
-rw-r--r-- | arch/mips/dec/kn02xa-berr.c | 2 | ||||
-rw-r--r-- | arch/mips/dec/prom/identify.c | 3 | ||||
-rw-r--r-- | arch/mips/dec/prom/init.c | 8 | ||||
-rw-r--r-- | arch/mips/dec/setup.c | 4 | ||||
-rw-r--r-- | arch/mips/dec/time.c | 13 |
6 files changed, 10 insertions, 22 deletions
diff --git a/arch/mips/dec/ecc-berr.c b/arch/mips/dec/ecc-berr.c index 6d55e8aab668..6a17c9b508ea 100644 --- a/arch/mips/dec/ecc-berr.c +++ b/arch/mips/dec/ecc-berr.c | |||
@@ -263,7 +263,7 @@ static inline void dec_kn03_be_init(void) | |||
263 | */ | 263 | */ |
264 | *mcr = (*mcr & ~(KN03_MCR_DIAGCHK | KN03_MCR_DIAGGEN)) | | 264 | *mcr = (*mcr & ~(KN03_MCR_DIAGCHK | KN03_MCR_DIAGGEN)) | |
265 | KN03_MCR_CORRECT; | 265 | KN03_MCR_CORRECT; |
266 | if (current_cpu_data.cputype == CPU_R4400SC) | 266 | if (current_cpu_type() == CPU_R4400SC) |
267 | *mbcs |= KN4K_MB_CSR_EE; | 267 | *mbcs |= KN4K_MB_CSR_EE; |
268 | fast_iob(); | 268 | fast_iob(); |
269 | } | 269 | } |
diff --git a/arch/mips/dec/kn02xa-berr.c b/arch/mips/dec/kn02xa-berr.c index 7a053aadcd3a..5f04545c3606 100644 --- a/arch/mips/dec/kn02xa-berr.c +++ b/arch/mips/dec/kn02xa-berr.c | |||
@@ -132,7 +132,7 @@ void __init dec_kn02xa_be_init(void) | |||
132 | volatile u32 *mbcs = (void *)CKSEG1ADDR(KN4K_SLOT_BASE + KN4K_MB_CSR); | 132 | volatile u32 *mbcs = (void *)CKSEG1ADDR(KN4K_SLOT_BASE + KN4K_MB_CSR); |
133 | 133 | ||
134 | /* For KN04 we need to make sure EE (?) is enabled in the MB. */ | 134 | /* For KN04 we need to make sure EE (?) is enabled in the MB. */ |
135 | if (current_cpu_data.cputype == CPU_R4000SC) | 135 | if (current_cpu_type() == CPU_R4000SC) |
136 | *mbcs |= KN4K_MB_CSR_EE; | 136 | *mbcs |= KN4K_MB_CSR_EE; |
137 | fast_iob(); | 137 | fast_iob(); |
138 | 138 | ||
diff --git a/arch/mips/dec/prom/identify.c b/arch/mips/dec/prom/identify.c index cd85924e2572..95e26f4bb38f 100644 --- a/arch/mips/dec/prom/identify.c +++ b/arch/mips/dec/prom/identify.c | |||
@@ -133,9 +133,6 @@ void __init prom_identify_arch(u32 magic) | |||
133 | dec_firmrev = (dec_sysid & 0xff00) >> 8; | 133 | dec_firmrev = (dec_sysid & 0xff00) >> 8; |
134 | dec_etc = dec_sysid & 0xff; | 134 | dec_etc = dec_sysid & 0xff; |
135 | 135 | ||
136 | /* We're obviously one of the DEC machines */ | ||
137 | mips_machgroup = MACH_GROUP_DEC; | ||
138 | |||
139 | /* | 136 | /* |
140 | * FIXME: This may not be an exhaustive list of DECStations/Servers! | 137 | * FIXME: This may not be an exhaustive list of DECStations/Servers! |
141 | * Put all model-specific initialisation calls here. | 138 | * Put all model-specific initialisation calls here. |
diff --git a/arch/mips/dec/prom/init.c b/arch/mips/dec/prom/init.c index 808c182fd3fa..93f1239af524 100644 --- a/arch/mips/dec/prom/init.c +++ b/arch/mips/dec/prom/init.c | |||
@@ -108,8 +108,8 @@ void __init prom_init(void) | |||
108 | 108 | ||
109 | /* Were we compiled with the right CPU option? */ | 109 | /* Were we compiled with the right CPU option? */ |
110 | #if defined(CONFIG_CPU_R3000) | 110 | #if defined(CONFIG_CPU_R3000) |
111 | if ((current_cpu_data.cputype == CPU_R4000SC) || | 111 | if ((current_cpu_type() == CPU_R4000SC) || |
112 | (current_cpu_data.cputype == CPU_R4400SC)) { | 112 | (current_cpu_type() == CPU_R4400SC)) { |
113 | static char r4k_msg[] __initdata = | 113 | static char r4k_msg[] __initdata = |
114 | "Please recompile with \"CONFIG_CPU_R4x00 = y\".\n"; | 114 | "Please recompile with \"CONFIG_CPU_R4x00 = y\".\n"; |
115 | printk(cpu_msg); | 115 | printk(cpu_msg); |
@@ -119,8 +119,8 @@ void __init prom_init(void) | |||
119 | #endif | 119 | #endif |
120 | 120 | ||
121 | #if defined(CONFIG_CPU_R4X00) | 121 | #if defined(CONFIG_CPU_R4X00) |
122 | if ((current_cpu_data.cputype == CPU_R3000) || | 122 | if ((current_cpu_type() == CPU_R3000) || |
123 | (current_cpu_data.cputype == CPU_R3000A)) { | 123 | (current_cpu_type() == CPU_R3000A)) { |
124 | static char r3k_msg[] __initdata = | 124 | static char r3k_msg[] __initdata = |
125 | "Please recompile with \"CONFIG_CPU_R3000 = y\".\n"; | 125 | "Please recompile with \"CONFIG_CPU_R3000 = y\".\n"; |
126 | printk(cpu_msg); | 126 | printk(cpu_msg); |
diff --git a/arch/mips/dec/setup.c b/arch/mips/dec/setup.c index 3e634f2f5443..bd5431e1f408 100644 --- a/arch/mips/dec/setup.c +++ b/arch/mips/dec/setup.c | |||
@@ -145,13 +145,9 @@ static void __init dec_be_init(void) | |||
145 | } | 145 | } |
146 | } | 146 | } |
147 | 147 | ||
148 | |||
149 | extern void dec_time_init(void); | ||
150 | |||
151 | void __init plat_mem_setup(void) | 148 | void __init plat_mem_setup(void) |
152 | { | 149 | { |
153 | board_be_init = dec_be_init; | 150 | board_be_init = dec_be_init; |
154 | board_time_init = dec_time_init; | ||
155 | 151 | ||
156 | wbflush_setup(); | 152 | wbflush_setup(); |
157 | 153 | ||
diff --git a/arch/mips/dec/time.c b/arch/mips/dec/time.c index 8b7e0c17ac35..820e5331205f 100644 --- a/arch/mips/dec/time.c +++ b/arch/mips/dec/time.c | |||
@@ -24,7 +24,6 @@ | |||
24 | 24 | ||
25 | #include <asm/bootinfo.h> | 25 | #include <asm/bootinfo.h> |
26 | #include <asm/cpu.h> | 26 | #include <asm/cpu.h> |
27 | #include <asm/div64.h> | ||
28 | #include <asm/io.h> | 27 | #include <asm/io.h> |
29 | #include <asm/irq.h> | 28 | #include <asm/irq.h> |
30 | #include <asm/mipsregs.h> | 29 | #include <asm/mipsregs.h> |
@@ -36,7 +35,7 @@ | |||
36 | #include <asm/dec/ioasic_addrs.h> | 35 | #include <asm/dec/ioasic_addrs.h> |
37 | #include <asm/dec/machtype.h> | 36 | #include <asm/dec/machtype.h> |
38 | 37 | ||
39 | static unsigned long dec_rtc_get_time(void) | 38 | unsigned long read_persistent_clock(void) |
40 | { | 39 | { |
41 | unsigned int year, mon, day, hour, min, sec, real_year; | 40 | unsigned int year, mon, day, hour, min, sec, real_year; |
42 | unsigned long flags; | 41 | unsigned long flags; |
@@ -75,13 +74,13 @@ static unsigned long dec_rtc_get_time(void) | |||
75 | } | 74 | } |
76 | 75 | ||
77 | /* | 76 | /* |
78 | * In order to set the CMOS clock precisely, dec_rtc_set_mmss has to | 77 | * In order to set the CMOS clock precisely, rtc_mips_set_mmss has to |
79 | * be called 500 ms after the second nowtime has started, because when | 78 | * be called 500 ms after the second nowtime has started, because when |
80 | * nowtime is written into the registers of the CMOS clock, it will | 79 | * nowtime is written into the registers of the CMOS clock, it will |
81 | * jump to the next second precisely 500 ms later. Check the Dallas | 80 | * jump to the next second precisely 500 ms later. Check the Dallas |
82 | * DS1287 data sheet for details. | 81 | * DS1287 data sheet for details. |
83 | */ | 82 | */ |
84 | static int dec_rtc_set_mmss(unsigned long nowtime) | 83 | int rtc_mips_set_mmss(unsigned long nowtime) |
85 | { | 84 | { |
86 | int retval = 0; | 85 | int retval = 0; |
87 | int real_seconds, real_minutes, cmos_minutes; | 86 | int real_seconds, real_minutes, cmos_minutes; |
@@ -140,7 +139,6 @@ static int dec_rtc_set_mmss(unsigned long nowtime) | |||
140 | return retval; | 139 | return retval; |
141 | } | 140 | } |
142 | 141 | ||
143 | |||
144 | static int dec_timer_state(void) | 142 | static int dec_timer_state(void) |
145 | { | 143 | { |
146 | return (CMOS_READ(RTC_REG_C) & RTC_PF) != 0; | 144 | return (CMOS_READ(RTC_REG_C) & RTC_PF) != 0; |
@@ -161,11 +159,8 @@ static cycle_t dec_ioasic_hpt_read(void) | |||
161 | } | 159 | } |
162 | 160 | ||
163 | 161 | ||
164 | void __init dec_time_init(void) | 162 | void __init plat_time_init(void) |
165 | { | 163 | { |
166 | rtc_mips_get_time = dec_rtc_get_time; | ||
167 | rtc_mips_set_mmss = dec_rtc_set_mmss; | ||
168 | |||
169 | mips_timer_state = dec_timer_state; | 164 | mips_timer_state = dec_timer_state; |
170 | mips_timer_ack = dec_timer_ack; | 165 | mips_timer_ack = dec_timer_ack; |
171 | 166 | ||