aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/platforms
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@woody.linux-foundation.org>2007-05-18 11:26:28 -0400
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-05-18 11:26:28 -0400
commit347b4599dd6ffef27e18c227532d1ec66556000b (patch)
treedf37f2645e7e13a4203368006ae8fcdf3b86ca78 /arch/powerpc/platforms
parent939e3428066962b7c5966d8f9648058e644f5395 (diff)
parentccd308f09a6636d86dbe62bab892b96711feee67 (diff)
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc
* 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: (32 commits) [POWERPC] Remove build warnings in windfarm_core [POWERPC] Pass per-file CFLAGs for platform specific op codes [POWERPC] Correct #endif comment [POWERPC] Fix ppc_rtas_progress_show() [POWERPC] Fix sed command lines for zlib source construction [POWERPC] Specify GNUTARGET on $(AR) invocations [POWERPC] Make sure device node type/name is not NULL on hot-added nodes [POWERPC] Small fixes for the Ebony device tree [POWERPC] Fix warning on UP [POWERPC] cell_defconfig: Disable cpufreq and pmi [POWERPC] Fix IO space on PCI buses created from of_platform [POWERPC] Add spinlock to request_phb_iospace() [POWERPC] Fix make rules for treeImage.initrd [POWERPC] Remove warning in mpic.c [POWERPC] Update pasemi_defconfig [POWERPC] pasemi: CONFIG_GENERIC_TBSYNC no longer needed [POWERPC] Update iseries_defconfig [POWERPC] Wire up some more syscalls [POWERPC] Fix bug adding properties with flatdevtree.c's ft_set_prop() [POWERPC] Remove fixup_bigphys_addr() for arch/powerpc to avoid link error ...
Diffstat (limited to 'arch/powerpc/platforms')
-rw-r--r--arch/powerpc/platforms/44x/Kconfig3
-rw-r--r--arch/powerpc/platforms/44x/ebony.c6
-rw-r--r--arch/powerpc/platforms/iseries/viopath.c21
-rw-r--r--arch/powerpc/platforms/pasemi/Kconfig1
-rw-r--r--arch/powerpc/platforms/pseries/pseries.h4
5 files changed, 18 insertions, 17 deletions
diff --git a/arch/powerpc/platforms/44x/Kconfig b/arch/powerpc/platforms/44x/Kconfig
index 8e66949e7c67..1b3e008fd148 100644
--- a/arch/powerpc/platforms/44x/Kconfig
+++ b/arch/powerpc/platforms/44x/Kconfig
@@ -38,7 +38,8 @@ config 440EP
38 38
39config 440GP 39config 440GP
40 bool 40 bool
41 select IBM_NEW_EMAC_ZMII 41# Disabled until the new EMAC Driver is merged.
42# select IBM_NEW_EMAC_ZMII
42 43
43config 440GX 44config 440GX
44 bool 45 bool
diff --git a/arch/powerpc/platforms/44x/ebony.c b/arch/powerpc/platforms/44x/ebony.c
index ad526eafc90b..5a7fec8d10d3 100644
--- a/arch/powerpc/platforms/44x/ebony.c
+++ b/arch/powerpc/platforms/44x/ebony.c
@@ -27,9 +27,9 @@
27#include "44x.h" 27#include "44x.h"
28 28
29static struct of_device_id ebony_of_bus[] = { 29static struct of_device_id ebony_of_bus[] = {
30 { .type = "ibm,plb", }, 30 { .compatible = "ibm,plb4", },
31 { .type = "ibm,opb", }, 31 { .compatible = "ibm,opb", },
32 { .type = "ibm,ebc", }, 32 { .compatible = "ibm,ebc", },
33 {}, 33 {},
34}; 34};
35 35
diff --git a/arch/powerpc/platforms/iseries/viopath.c b/arch/powerpc/platforms/iseries/viopath.c
index 354b8dd2a2c1..6a0060a5f2ec 100644
--- a/arch/powerpc/platforms/iseries/viopath.c
+++ b/arch/powerpc/platforms/iseries/viopath.c
@@ -37,6 +37,7 @@
37#include <linux/wait.h> 37#include <linux/wait.h>
38#include <linux/seq_file.h> 38#include <linux/seq_file.h>
39#include <linux/interrupt.h> 39#include <linux/interrupt.h>
40#include <linux/completion.h>
40 41
41#include <asm/system.h> 42#include <asm/system.h>
42#include <asm/uaccess.h> 43#include <asm/uaccess.h>
@@ -81,7 +82,7 @@ static void handleMonitorEvent(struct HvLpEvent *event);
81 * if system_state is not SYSTEM_RUNNING, then wait_atomic is used ... 82 * if system_state is not SYSTEM_RUNNING, then wait_atomic is used ...
82 */ 83 */
83struct alloc_parms { 84struct alloc_parms {
84 struct semaphore sem; 85 struct completion done;
85 int number; 86 int number;
86 atomic_t wait_atomic; 87 atomic_t wait_atomic;
87 int used_wait_atomic; 88 int used_wait_atomic;
@@ -115,7 +116,7 @@ static int proc_viopath_show(struct seq_file *m, void *v)
115 u16 vlanMap; 116 u16 vlanMap;
116 dma_addr_t handle; 117 dma_addr_t handle;
117 HvLpEvent_Rc hvrc; 118 HvLpEvent_Rc hvrc;
118 DECLARE_MUTEX_LOCKED(Semaphore); 119 DECLARE_COMPLETION(done);
119 struct device_node *node; 120 struct device_node *node;
120 const char *sysid; 121 const char *sysid;
121 122
@@ -132,13 +133,13 @@ static int proc_viopath_show(struct seq_file *m, void *v)
132 HvLpEvent_AckInd_DoAck, HvLpEvent_AckType_ImmediateAck, 133 HvLpEvent_AckInd_DoAck, HvLpEvent_AckType_ImmediateAck,
133 viopath_sourceinst(viopath_hostLp), 134 viopath_sourceinst(viopath_hostLp),
134 viopath_targetinst(viopath_hostLp), 135 viopath_targetinst(viopath_hostLp),
135 (u64)(unsigned long)&Semaphore, VIOVERSION << 16, 136 (u64)(unsigned long)&done, VIOVERSION << 16,
136 ((u64)handle) << 32, HW_PAGE_SIZE, 0, 0); 137 ((u64)handle) << 32, HW_PAGE_SIZE, 0, 0);
137 138
138 if (hvrc != HvLpEvent_Rc_Good) 139 if (hvrc != HvLpEvent_Rc_Good)
139 printk(VIOPATH_KERN_WARN "hv error on op %d\n", (int)hvrc); 140 printk(VIOPATH_KERN_WARN "hv error on op %d\n", (int)hvrc);
140 141
141 down(&Semaphore); 142 wait_for_completion(&done);
142 143
143 vlanMap = HvLpConfig_getVirtualLanIndexMap(); 144 vlanMap = HvLpConfig_getVirtualLanIndexMap();
144 145
@@ -353,7 +354,7 @@ static void handleConfig(struct HvLpEvent *event)
353 return; 354 return;
354 } 355 }
355 356
356 up((struct semaphore *)event->xCorrelationToken); 357 complete((struct completion *)event->xCorrelationToken);
357} 358}
358 359
359/* 360/*
@@ -464,7 +465,7 @@ static void viopath_donealloc(void *parm, int number)
464 if (parmsp->used_wait_atomic) 465 if (parmsp->used_wait_atomic)
465 atomic_set(&parmsp->wait_atomic, 0); 466 atomic_set(&parmsp->wait_atomic, 0);
466 else 467 else
467 up(&parmsp->sem); 468 complete(&parmsp->done);
468} 469}
469 470
470static int allocateEvents(HvLpIndex remoteLp, int numEvents) 471static int allocateEvents(HvLpIndex remoteLp, int numEvents)
@@ -476,7 +477,7 @@ static int allocateEvents(HvLpIndex remoteLp, int numEvents)
476 atomic_set(&parms.wait_atomic, 1); 477 atomic_set(&parms.wait_atomic, 1);
477 } else { 478 } else {
478 parms.used_wait_atomic = 0; 479 parms.used_wait_atomic = 0;
479 init_MUTEX_LOCKED(&parms.sem); 480 init_completion(&parms.done);
480 } 481 }
481 mf_allocate_lp_events(remoteLp, HvLpEvent_Type_VirtualIo, 250, /* It would be nice to put a real number here! */ 482 mf_allocate_lp_events(remoteLp, HvLpEvent_Type_VirtualIo, 250, /* It would be nice to put a real number here! */
482 numEvents, &viopath_donealloc, &parms); 483 numEvents, &viopath_donealloc, &parms);
@@ -484,7 +485,7 @@ static int allocateEvents(HvLpIndex remoteLp, int numEvents)
484 while (atomic_read(&parms.wait_atomic)) 485 while (atomic_read(&parms.wait_atomic))
485 mb(); 486 mb();
486 } else 487 } else
487 down(&parms.sem); 488 wait_for_completion(&parms.done);
488 return parms.number; 489 return parms.number;
489} 490}
490 491
@@ -585,10 +586,10 @@ int viopath_close(HvLpIndex remoteLp, int subtype, int numReq)
585 spin_unlock_irqrestore(&statuslock, flags); 586 spin_unlock_irqrestore(&statuslock, flags);
586 587
587 parms.used_wait_atomic = 0; 588 parms.used_wait_atomic = 0;
588 init_MUTEX_LOCKED(&parms.sem); 589 init_completion(&parms.done);
589 mf_deallocate_lp_events(remoteLp, HvLpEvent_Type_VirtualIo, 590 mf_deallocate_lp_events(remoteLp, HvLpEvent_Type_VirtualIo,
590 numReq, &viopath_donealloc, &parms); 591 numReq, &viopath_donealloc, &parms);
591 down(&parms.sem); 592 wait_for_completion(&parms.done);
592 593
593 spin_lock_irqsave(&statuslock, flags); 594 spin_lock_irqsave(&statuslock, flags);
594 for (i = 0, numOpen = 0; i < VIO_MAX_SUBTYPES; i++) 595 for (i = 0, numOpen = 0; i < VIO_MAX_SUBTYPES; i++)
diff --git a/arch/powerpc/platforms/pasemi/Kconfig b/arch/powerpc/platforms/pasemi/Kconfig
index eb4dbc705b06..7c5076e38ea1 100644
--- a/arch/powerpc/platforms/pasemi/Kconfig
+++ b/arch/powerpc/platforms/pasemi/Kconfig
@@ -4,7 +4,6 @@ config PPC_PASEMI
4 default n 4 default n
5 select MPIC 5 select MPIC
6 select PPC_UDBG_16550 6 select PPC_UDBG_16550
7 select GENERIC_TBSYNC
8 select PPC_NATIVE 7 select PPC_NATIVE
9 help 8 help
10 This option enables support for PA Semi's PWRficient line 9 This option enables support for PA Semi's PWRficient line
diff --git a/arch/powerpc/platforms/pseries/pseries.h b/arch/powerpc/platforms/pseries/pseries.h
index 22bc01989749..2729d559fd91 100644
--- a/arch/powerpc/platforms/pseries/pseries.h
+++ b/arch/powerpc/platforms/pseries/pseries.h
@@ -21,8 +21,8 @@ extern int pSeries_machine_check_exception(struct pt_regs *regs);
21extern void smp_init_pseries_mpic(void); 21extern void smp_init_pseries_mpic(void);
22extern void smp_init_pseries_xics(void); 22extern void smp_init_pseries_xics(void);
23#else 23#else
24static inline smp_init_pseries_mpic(void) { }; 24static inline void smp_init_pseries_mpic(void) { };
25static inline smp_init_pseries_xics(void) { }; 25static inline void smp_init_pseries_xics(void) { };
26#endif 26#endif
27 27
28#ifdef CONFIG_KEXEC 28#ifdef CONFIG_KEXEC