diff options
author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-05-18 11:26:28 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-05-18 11:26:28 -0400 |
commit | 347b4599dd6ffef27e18c227532d1ec66556000b (patch) | |
tree | df37f2645e7e13a4203368006ae8fcdf3b86ca78 /arch/powerpc/platforms | |
parent | 939e3428066962b7c5966d8f9648058e644f5395 (diff) | |
parent | ccd308f09a6636d86dbe62bab892b96711feee67 (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/Kconfig | 3 | ||||
-rw-r--r-- | arch/powerpc/platforms/44x/ebony.c | 6 | ||||
-rw-r--r-- | arch/powerpc/platforms/iseries/viopath.c | 21 | ||||
-rw-r--r-- | arch/powerpc/platforms/pasemi/Kconfig | 1 | ||||
-rw-r--r-- | arch/powerpc/platforms/pseries/pseries.h | 4 |
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 | ||
39 | config 440GP | 39 | config 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 | ||
43 | config 440GX | 44 | config 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 | ||
29 | static struct of_device_id ebony_of_bus[] = { | 29 | static 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 | */ |
83 | struct alloc_parms { | 84 | struct 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 | ||
470 | static int allocateEvents(HvLpIndex remoteLp, int numEvents) | 471 | static 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); | |||
21 | extern void smp_init_pseries_mpic(void); | 21 | extern void smp_init_pseries_mpic(void); |
22 | extern void smp_init_pseries_xics(void); | 22 | extern void smp_init_pseries_xics(void); |
23 | #else | 23 | #else |
24 | static inline smp_init_pseries_mpic(void) { }; | 24 | static inline void smp_init_pseries_mpic(void) { }; |
25 | static inline smp_init_pseries_xics(void) { }; | 25 | static inline void smp_init_pseries_xics(void) { }; |
26 | #endif | 26 | #endif |
27 | 27 | ||
28 | #ifdef CONFIG_KEXEC | 28 | #ifdef CONFIG_KEXEC |