diff options
Diffstat (limited to 'arch/ppc')
-rw-r--r-- | arch/ppc/8xx_io/cs4218_tdm.c | 2 | ||||
-rw-r--r-- | arch/ppc/Kconfig | 10 | ||||
-rw-r--r-- | arch/ppc/boot/common/ns16550.c | 8 | ||||
-rw-r--r-- | arch/ppc/boot/common/util.S | 2 | ||||
-rw-r--r-- | arch/ppc/kernel/Makefile | 3 | ||||
-rw-r--r-- | arch/ppc/kernel/pci.c | 1 | ||||
-rw-r--r-- | arch/ppc/kernel/syscalls.c | 4 | ||||
-rw-r--r-- | arch/ppc/kernel/traps.c | 2 | ||||
-rw-r--r-- | arch/ppc/platforms/4xx/ebony.c | 13 | ||||
-rw-r--r-- | arch/ppc/platforms/hdpu.c | 2 | ||||
-rw-r--r-- | arch/ppc/syslib/ibm440gx_common.c | 7 | ||||
-rw-r--r-- | arch/ppc/syslib/mpc10x_common.c | 4 | ||||
-rw-r--r-- | arch/ppc/syslib/mpc83xx_devices.c | 2 | ||||
-rw-r--r-- | arch/ppc/syslib/mpc85xx_devices.c | 2 | ||||
-rw-r--r-- | arch/ppc/syslib/mv64x60.c | 2 | ||||
-rw-r--r-- | arch/ppc/syslib/qspan_pci.c | 2 |
16 files changed, 31 insertions, 35 deletions
diff --git a/arch/ppc/8xx_io/cs4218_tdm.c b/arch/ppc/8xx_io/cs4218_tdm.c index 89fe0ceeaa40..2ca9ec7ec3a7 100644 --- a/arch/ppc/8xx_io/cs4218_tdm.c +++ b/arch/ppc/8xx_io/cs4218_tdm.c | |||
@@ -1380,7 +1380,7 @@ static void cs_nosound(unsigned long xx) | |||
1380 | spin_unlock_irqrestore(&cs4218_lock, flags); | 1380 | spin_unlock_irqrestore(&cs4218_lock, flags); |
1381 | } | 1381 | } |
1382 | 1382 | ||
1383 | static struct timer_list beep_timer = TIMER_INITIALIZER(cs_nosound, 0, 0); | 1383 | static DEFINE_TIMER(beep_timer, cs_nosound, 0, 0); |
1384 | }; | 1384 | }; |
1385 | 1385 | ||
1386 | static void cs_mksound(unsigned int hz, unsigned int ticks) | 1386 | static void cs_mksound(unsigned int hz, unsigned int ticks) |
diff --git a/arch/ppc/Kconfig b/arch/ppc/Kconfig index 6ab7e5ea5fcf..e3f1ce33e642 100644 --- a/arch/ppc/Kconfig +++ b/arch/ppc/Kconfig | |||
@@ -499,11 +499,6 @@ config WINCEPT | |||
499 | MPC821 PowerPC, introduced in 1998 and designed to be used in | 499 | MPC821 PowerPC, introduced in 1998 and designed to be used in |
500 | thin-client machines. Say Y to support it directly. | 500 | thin-client machines. Say Y to support it directly. |
501 | 501 | ||
502 | Be aware that PCI buses can only function when SYS board is plugged | ||
503 | into the PIB (Platform IO Board) board from Freescale which provide | ||
504 | 3 PCI slots. The PIBs PCI initialization is the bootloader's | ||
505 | responsiblilty. | ||
506 | |||
507 | endchoice | 502 | endchoice |
508 | 503 | ||
509 | choice | 504 | choice |
@@ -680,6 +675,11 @@ config MPC834x_SYS | |||
680 | help | 675 | help |
681 | This option enables support for the MPC 834x SYS evaluation board. | 676 | This option enables support for the MPC 834x SYS evaluation board. |
682 | 677 | ||
678 | Be aware that PCI buses can only function when SYS board is plugged | ||
679 | into the PIB (Platform IO Board) board from Freescale which provide | ||
680 | 3 PCI slots. The PIBs PCI initialization is the bootloader's | ||
681 | responsiblilty. | ||
682 | |||
683 | config EV64360 | 683 | config EV64360 |
684 | bool "Marvell-EV64360BP" | 684 | bool "Marvell-EV64360BP" |
685 | help | 685 | help |
diff --git a/arch/ppc/boot/common/ns16550.c b/arch/ppc/boot/common/ns16550.c index 9017c547a6f6..26818bbb6cff 100644 --- a/arch/ppc/boot/common/ns16550.c +++ b/arch/ppc/boot/common/ns16550.c | |||
@@ -23,7 +23,7 @@ static int shift; | |||
23 | 23 | ||
24 | unsigned long serial_init(int chan, void *ignored) | 24 | unsigned long serial_init(int chan, void *ignored) |
25 | { | 25 | { |
26 | unsigned long com_port; | 26 | unsigned long com_port, base_baud; |
27 | unsigned char lcr, dlm; | 27 | unsigned char lcr, dlm; |
28 | 28 | ||
29 | /* We need to find out which type io we're expecting. If it's | 29 | /* We need to find out which type io we're expecting. If it's |
@@ -43,6 +43,8 @@ unsigned long serial_init(int chan, void *ignored) | |||
43 | 43 | ||
44 | /* How far apart the registers are. */ | 44 | /* How far apart the registers are. */ |
45 | shift = rs_table[chan].iomem_reg_shift; | 45 | shift = rs_table[chan].iomem_reg_shift; |
46 | /* Base baud.. */ | ||
47 | base_baud = rs_table[chan].baud_base; | ||
46 | 48 | ||
47 | /* save the LCR */ | 49 | /* save the LCR */ |
48 | lcr = inb(com_port + (UART_LCR << shift)); | 50 | lcr = inb(com_port + (UART_LCR << shift)); |
@@ -62,9 +64,9 @@ unsigned long serial_init(int chan, void *ignored) | |||
62 | else { | 64 | else { |
63 | /* Input clock. */ | 65 | /* Input clock. */ |
64 | outb(com_port + (UART_DLL << shift), | 66 | outb(com_port + (UART_DLL << shift), |
65 | (BASE_BAUD / SERIAL_BAUD) & 0xFF); | 67 | (base_baud / SERIAL_BAUD) & 0xFF); |
66 | outb(com_port + (UART_DLM << shift), | 68 | outb(com_port + (UART_DLM << shift), |
67 | (BASE_BAUD / SERIAL_BAUD) >> 8); | 69 | (base_baud / SERIAL_BAUD) >> 8); |
68 | /* 8 data, 1 stop, no parity */ | 70 | /* 8 data, 1 stop, no parity */ |
69 | outb(com_port + (UART_LCR << shift), 0x03); | 71 | outb(com_port + (UART_LCR << shift), 0x03); |
70 | /* RTS/DTR */ | 72 | /* RTS/DTR */ |
diff --git a/arch/ppc/boot/common/util.S b/arch/ppc/boot/common/util.S index 47e641455bc5..c96c9f80521e 100644 --- a/arch/ppc/boot/common/util.S +++ b/arch/ppc/boot/common/util.S | |||
@@ -252,7 +252,7 @@ _GLOBAL(flush_instruction_cache) | |||
252 | 1: dcbf r0,r3 # Flush the data cache | 252 | 1: dcbf r0,r3 # Flush the data cache |
253 | icbi r0,r3 # Invalidate the instruction cache | 253 | icbi r0,r3 # Invalidate the instruction cache |
254 | addi r3,r3,0x10 # Increment by one cache line | 254 | addi r3,r3,0x10 # Increment by one cache line |
255 | cmplwi cr0,r3,r4 # Are we at the end yet? | 255 | cmplw cr0,r3,r4 # Are we at the end yet? |
256 | blt 1b # No, keep flushing and invalidating | 256 | blt 1b # No, keep flushing and invalidating |
257 | #else | 257 | #else |
258 | /* Enable, invalidate and then disable the L1 icache/dcache. */ | 258 | /* Enable, invalidate and then disable the L1 icache/dcache. */ |
diff --git a/arch/ppc/kernel/Makefile b/arch/ppc/kernel/Makefile index b1457a8a9c0f..1fb92f16acd6 100644 --- a/arch/ppc/kernel/Makefile +++ b/arch/ppc/kernel/Makefile | |||
@@ -15,8 +15,9 @@ extra-y += vmlinux.lds | |||
15 | obj-y := entry.o traps.o irq.o idle.o time.o misc.o \ | 15 | obj-y := entry.o traps.o irq.o idle.o time.o misc.o \ |
16 | process.o signal.o ptrace.o align.o \ | 16 | process.o signal.o ptrace.o align.o \ |
17 | semaphore.o syscalls.o setup.o \ | 17 | semaphore.o syscalls.o setup.o \ |
18 | cputable.o ppc_htab.o perfmon.o | 18 | cputable.o ppc_htab.o |
19 | obj-$(CONFIG_6xx) += l2cr.o cpu_setup_6xx.o | 19 | obj-$(CONFIG_6xx) += l2cr.o cpu_setup_6xx.o |
20 | obj-$(CONFIG_E500) += perfmon.o | ||
20 | obj-$(CONFIG_SOFTWARE_SUSPEND) += swsusp.o | 21 | obj-$(CONFIG_SOFTWARE_SUSPEND) += swsusp.o |
21 | obj-$(CONFIG_POWER4) += cpu_setup_power4.o | 22 | obj-$(CONFIG_POWER4) += cpu_setup_power4.o |
22 | obj-$(CONFIG_MODULES) += module.o ppc_ksyms.o | 23 | obj-$(CONFIG_MODULES) += module.o ppc_ksyms.o |
diff --git a/arch/ppc/kernel/pci.c b/arch/ppc/kernel/pci.c index 7b3586a3bf30..854e45beb387 100644 --- a/arch/ppc/kernel/pci.c +++ b/arch/ppc/kernel/pci.c | |||
@@ -80,7 +80,6 @@ fixup_broken_pcnet32(struct pci_dev* dev) | |||
80 | if ((dev->class>>8 == PCI_CLASS_NETWORK_ETHERNET)) { | 80 | if ((dev->class>>8 == PCI_CLASS_NETWORK_ETHERNET)) { |
81 | dev->vendor = PCI_VENDOR_ID_AMD; | 81 | dev->vendor = PCI_VENDOR_ID_AMD; |
82 | pci_write_config_word(dev, PCI_VENDOR_ID, PCI_VENDOR_ID_AMD); | 82 | pci_write_config_word(dev, PCI_VENDOR_ID, PCI_VENDOR_ID_AMD); |
83 | pci_name_device(dev); | ||
84 | } | 83 | } |
85 | } | 84 | } |
86 | DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_TRIDENT, PCI_ANY_ID, fixup_broken_pcnet32); | 85 | DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_TRIDENT, PCI_ANY_ID, fixup_broken_pcnet32); |
diff --git a/arch/ppc/kernel/syscalls.c b/arch/ppc/kernel/syscalls.c index 124313ce3c09..127f040de9de 100644 --- a/arch/ppc/kernel/syscalls.c +++ b/arch/ppc/kernel/syscalls.c | |||
@@ -41,10 +41,6 @@ | |||
41 | #include <asm/ipc.h> | 41 | #include <asm/ipc.h> |
42 | #include <asm/semaphore.h> | 42 | #include <asm/semaphore.h> |
43 | 43 | ||
44 | void | ||
45 | check_bugs(void) | ||
46 | { | ||
47 | } | ||
48 | 44 | ||
49 | /* | 45 | /* |
50 | * sys_ipc() is the de-multiplexer for the SysV IPC calls.. | 46 | * sys_ipc() is the de-multiplexer for the SysV IPC calls.. |
diff --git a/arch/ppc/kernel/traps.c b/arch/ppc/kernel/traps.c index d87423d1003a..8356d544fa60 100644 --- a/arch/ppc/kernel/traps.c +++ b/arch/ppc/kernel/traps.c | |||
@@ -849,10 +849,12 @@ void AltivecAssistException(struct pt_regs *regs) | |||
849 | } | 849 | } |
850 | #endif /* CONFIG_ALTIVEC */ | 850 | #endif /* CONFIG_ALTIVEC */ |
851 | 851 | ||
852 | #ifdef CONFIG_E500 | ||
852 | void PerformanceMonitorException(struct pt_regs *regs) | 853 | void PerformanceMonitorException(struct pt_regs *regs) |
853 | { | 854 | { |
854 | perf_irq(regs); | 855 | perf_irq(regs); |
855 | } | 856 | } |
857 | #endif | ||
856 | 858 | ||
857 | #ifdef CONFIG_FSL_BOOKE | 859 | #ifdef CONFIG_FSL_BOOKE |
858 | void CacheLockingException(struct pt_regs *regs, unsigned long address, | 860 | void CacheLockingException(struct pt_regs *regs, unsigned long address, |
diff --git a/arch/ppc/platforms/4xx/ebony.c b/arch/ppc/platforms/4xx/ebony.c index 0fd3442f5131..d6b2b1965dcb 100644 --- a/arch/ppc/platforms/4xx/ebony.c +++ b/arch/ppc/platforms/4xx/ebony.c | |||
@@ -91,15 +91,10 @@ ebony_calibrate_decr(void) | |||
91 | * on Rev. C silicon then errata forces us to | 91 | * on Rev. C silicon then errata forces us to |
92 | * use the internal clock. | 92 | * use the internal clock. |
93 | */ | 93 | */ |
94 | switch (PVR_REV(mfspr(SPRN_PVR))) { | 94 | if (strcmp(cur_cpu_spec[0]->cpu_name, "440GP Rev. B") == 0) |
95 | case PVR_REV(PVR_440GP_RB): | 95 | freq = EBONY_440GP_RB_SYSCLK; |
96 | freq = EBONY_440GP_RB_SYSCLK; | 96 | else |
97 | break; | 97 | freq = EBONY_440GP_RC_SYSCLK; |
98 | case PVR_REV(PVR_440GP_RC1): | ||
99 | default: | ||
100 | freq = EBONY_440GP_RC_SYSCLK; | ||
101 | break; | ||
102 | } | ||
103 | 98 | ||
104 | ibm44x_calibrate_decr(freq); | 99 | ibm44x_calibrate_decr(freq); |
105 | } | 100 | } |
diff --git a/arch/ppc/platforms/hdpu.c b/arch/ppc/platforms/hdpu.c index b659d7b3d747..ff3796860123 100644 --- a/arch/ppc/platforms/hdpu.c +++ b/arch/ppc/platforms/hdpu.c | |||
@@ -58,7 +58,7 @@ static void parse_bootinfo(unsigned long r3, | |||
58 | static void hdpu_set_l1pe(void); | 58 | static void hdpu_set_l1pe(void); |
59 | static void hdpu_cpustate_set(unsigned char new_state); | 59 | static void hdpu_cpustate_set(unsigned char new_state); |
60 | #ifdef CONFIG_SMP | 60 | #ifdef CONFIG_SMP |
61 | static spinlock_t timebase_lock = SPIN_LOCK_UNLOCKED; | 61 | static DEFINE_SPINLOCK(timebase_lock); |
62 | static unsigned int timebase_upper = 0, timebase_lower = 0; | 62 | static unsigned int timebase_upper = 0, timebase_lower = 0; |
63 | extern int smp_tb_synchronized; | 63 | extern int smp_tb_synchronized; |
64 | 64 | ||
diff --git a/arch/ppc/syslib/ibm440gx_common.c b/arch/ppc/syslib/ibm440gx_common.c index d4776af6a3ca..0bb919859b8b 100644 --- a/arch/ppc/syslib/ibm440gx_common.c +++ b/arch/ppc/syslib/ibm440gx_common.c | |||
@@ -236,9 +236,10 @@ void __init ibm440gx_l2c_setup(struct ibm44x_clocks* p) | |||
236 | /* Disable L2C on rev.A, rev.B and 800MHz version of rev.C, | 236 | /* Disable L2C on rev.A, rev.B and 800MHz version of rev.C, |
237 | enable it on all other revisions | 237 | enable it on all other revisions |
238 | */ | 238 | */ |
239 | u32 pvr = mfspr(SPRN_PVR); | 239 | if (strcmp(cur_cpu_spec[0]->cpu_name, "440GX Rev. A") == 0 || |
240 | if (pvr == PVR_440GX_RA || pvr == PVR_440GX_RB || | 240 | strcmp(cur_cpu_spec[0]->cpu_name, "440GX Rev. B") == 0 |
241 | (pvr == PVR_440GX_RC && p->cpu > 667000000)) | 241 | || (strcmp(cur_cpu_spec[0]->cpu_name, "440GX Rev. C") |
242 | == 0 && p->cpu > 667000000)) | ||
242 | ibm440gx_l2c_disable(); | 243 | ibm440gx_l2c_disable(); |
243 | else | 244 | else |
244 | ibm440gx_l2c_enable(); | 245 | ibm440gx_l2c_enable(); |
diff --git a/arch/ppc/syslib/mpc10x_common.c b/arch/ppc/syslib/mpc10x_common.c index 87065e2e4c5f..3e039706bdbc 100644 --- a/arch/ppc/syslib/mpc10x_common.c +++ b/arch/ppc/syslib/mpc10x_common.c | |||
@@ -140,12 +140,12 @@ struct platform_device ppc_sys_platform_devices[] = { | |||
140 | }, | 140 | }, |
141 | [MPC10X_UART0] = { | 141 | [MPC10X_UART0] = { |
142 | .name = "serial8250", | 142 | .name = "serial8250", |
143 | .id = 0, | 143 | .id = PLAT8250_DEV_PLATFORM, |
144 | .dev.platform_data = serial_plat_uart0, | 144 | .dev.platform_data = serial_plat_uart0, |
145 | }, | 145 | }, |
146 | [MPC10X_UART1] = { | 146 | [MPC10X_UART1] = { |
147 | .name = "serial8250", | 147 | .name = "serial8250", |
148 | .id = 1, | 148 | .id = PLAT8250_DEV_PLATFORM1, |
149 | .dev.platform_data = serial_plat_uart1, | 149 | .dev.platform_data = serial_plat_uart1, |
150 | }, | 150 | }, |
151 | 151 | ||
diff --git a/arch/ppc/syslib/mpc83xx_devices.c b/arch/ppc/syslib/mpc83xx_devices.c index 5aaf0e58e1f9..95b3b8a7f0ba 100644 --- a/arch/ppc/syslib/mpc83xx_devices.c +++ b/arch/ppc/syslib/mpc83xx_devices.c | |||
@@ -165,7 +165,7 @@ struct platform_device ppc_sys_platform_devices[] = { | |||
165 | }, | 165 | }, |
166 | [MPC83xx_DUART] = { | 166 | [MPC83xx_DUART] = { |
167 | .name = "serial8250", | 167 | .name = "serial8250", |
168 | .id = 0, | 168 | .id = PLAT8250_DEV_PLATFORM, |
169 | .dev.platform_data = serial_platform_data, | 169 | .dev.platform_data = serial_platform_data, |
170 | }, | 170 | }, |
171 | [MPC83xx_SEC2] = { | 171 | [MPC83xx_SEC2] = { |
diff --git a/arch/ppc/syslib/mpc85xx_devices.c b/arch/ppc/syslib/mpc85xx_devices.c index 8af322dd476a..bbc5ac0de878 100644 --- a/arch/ppc/syslib/mpc85xx_devices.c +++ b/arch/ppc/syslib/mpc85xx_devices.c | |||
@@ -282,7 +282,7 @@ struct platform_device ppc_sys_platform_devices[] = { | |||
282 | }, | 282 | }, |
283 | [MPC85xx_DUART] = { | 283 | [MPC85xx_DUART] = { |
284 | .name = "serial8250", | 284 | .name = "serial8250", |
285 | .id = 0, | 285 | .id = PLAT8250_DEV_PLATFORM, |
286 | .dev.platform_data = serial_platform_data, | 286 | .dev.platform_data = serial_platform_data, |
287 | }, | 287 | }, |
288 | [MPC85xx_PERFMON] = { | 288 | [MPC85xx_PERFMON] = { |
diff --git a/arch/ppc/syslib/mv64x60.c b/arch/ppc/syslib/mv64x60.c index 6262b11f366f..839f8872826f 100644 --- a/arch/ppc/syslib/mv64x60.c +++ b/arch/ppc/syslib/mv64x60.c | |||
@@ -31,7 +31,7 @@ | |||
31 | 31 | ||
32 | 32 | ||
33 | u8 mv64x60_pci_exclude_bridge = 1; | 33 | u8 mv64x60_pci_exclude_bridge = 1; |
34 | spinlock_t mv64x60_lock = SPIN_LOCK_UNLOCKED; | 34 | DEFINE_SPINLOCK(mv64x60_lock); |
35 | 35 | ||
36 | static phys_addr_t mv64x60_bridge_pbase; | 36 | static phys_addr_t mv64x60_bridge_pbase; |
37 | static void *mv64x60_bridge_vbase; | 37 | static void *mv64x60_bridge_vbase; |
diff --git a/arch/ppc/syslib/qspan_pci.c b/arch/ppc/syslib/qspan_pci.c index 57f4ed5e5ae1..0970b5d30391 100644 --- a/arch/ppc/syslib/qspan_pci.c +++ b/arch/ppc/syslib/qspan_pci.c | |||
@@ -94,7 +94,7 @@ | |||
94 | #define mk_config_type1(bus, dev, offset) \ | 94 | #define mk_config_type1(bus, dev, offset) \ |
95 | mk_config_addr(bus, dev, offset) | 1; | 95 | mk_config_addr(bus, dev, offset) | 1; |
96 | 96 | ||
97 | static spinlock_t pcibios_lock = SPIN_LOCK_UNLOCKED; | 97 | static DEFINE_SPINLOCK(pcibios_lock); |
98 | 98 | ||
99 | int qspan_pcibios_read_config_byte(unsigned char bus, unsigned char dev_fn, | 99 | int qspan_pcibios_read_config_byte(unsigned char bus, unsigned char dev_fn, |
100 | unsigned char offset, unsigned char *val) | 100 | unsigned char offset, unsigned char *val) |