diff options
| author | Geoff Levand <geoffrey.levand@am.sony.com> | 2007-06-15 18:01:06 -0400 |
|---|---|---|
| committer | Paul Mackerras <paulus@samba.org> | 2007-06-28 05:16:40 -0400 |
| commit | 7626e78d29651d3075e88f233c0632867ea6a35c (patch) | |
| tree | 0f1d4b26d6597b9a81af2e2009ce2dae6aaabbc7 /arch/powerpc/platforms/ps3 | |
| parent | a3323d1a52ec5b70821590e4beaaf13c466fd396 (diff) | |
[POWERPC] PS3: Vuart rework
PS3 vuart updates to reflect the new PS3 unified device support.
- Move vuart devices to the PS3 system bus.
- Replace use of ps3_vuart_port_device with ps3_system_bus_device.
- Make the PS3 vuart bus driver a loadable module.
- Add remove() and shutdown() routines.
- Move ps3_vuart_work into ps3_vuart_port_priv.tx_list.
- Remove redundant spinlock ps3_vuart_work.lock.
- No longer free ps3_vuart_port_device.priv on shutdown.
- Cleanup Kconfig defs.
- Export symbols needed for modular port drivers.
- Arrange to use port numbers found in repository.
- Fix bugs in ps3_vuart_read_async() and polled reading
- Cleanup handling of shared interrupt with ps3_vuart_bus_interrupt_get()
and ps3_vuart_bus_interrupt_put()
- Add more comments to vuart.c.
Signed-off-by: Geoff Levand <geoffrey.levand@am.sony.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'arch/powerpc/platforms/ps3')
| -rw-r--r-- | arch/powerpc/platforms/ps3/Kconfig | 21 | ||||
| -rw-r--r-- | arch/powerpc/platforms/ps3/interrupt.c | 2 |
2 files changed, 10 insertions, 13 deletions
diff --git a/arch/powerpc/platforms/ps3/Kconfig b/arch/powerpc/platforms/ps3/Kconfig index 40f0008af4d..b5122a76481 100644 --- a/arch/powerpc/platforms/ps3/Kconfig +++ b/arch/powerpc/platforms/ps3/Kconfig | |||
| @@ -73,18 +73,12 @@ config PS3_USE_LPAR_ADDR | |||
| 73 | 73 | ||
| 74 | config PS3_VUART | 74 | config PS3_VUART |
| 75 | depends on PPC_PS3 | 75 | depends on PPC_PS3 |
| 76 | bool "PS3 Virtual UART support" if PS3_ADVANCED | 76 | tristate |
| 77 | default y | ||
| 78 | help | ||
| 79 | Include support for the PS3 Virtual UART. | ||
| 80 | |||
| 81 | This support is required for several system services | ||
| 82 | including the System Manager and AV Settings. In | ||
| 83 | general, all users will say Y. | ||
| 84 | 77 | ||
| 85 | config PS3_PS3AV | 78 | config PS3_PS3AV |
| 79 | depends on PPC_PS3 | ||
| 86 | tristate "PS3 AV settings driver" if PS3_ADVANCED | 80 | tristate "PS3 AV settings driver" if PS3_ADVANCED |
| 87 | depends on PS3_VUART | 81 | select PS3_VUART |
| 88 | default y | 82 | default y |
| 89 | help | 83 | help |
| 90 | Include support for the PS3 AV Settings driver. | 84 | Include support for the PS3 AV Settings driver. |
| @@ -93,13 +87,14 @@ config PS3_PS3AV | |||
| 93 | general, all users will say Y or M. | 87 | general, all users will say Y or M. |
| 94 | 88 | ||
| 95 | config PS3_SYS_MANAGER | 89 | config PS3_SYS_MANAGER |
| 96 | bool "PS3 System Manager driver" if PS3_ADVANCED | 90 | depends on PPC_PS3 |
| 97 | depends on PS3_VUART | 91 | tristate "PS3 System Manager driver" if PS3_ADVANCED |
| 98 | default y | 92 | select PS3_VUART |
| 93 | default m | ||
| 99 | help | 94 | help |
| 100 | Include support for the PS3 System Manager. | 95 | Include support for the PS3 System Manager. |
| 101 | 96 | ||
| 102 | This support is required for system control. In | 97 | This support is required for system control. In |
| 103 | general, all users will say Y. | 98 | general, all users will say Y or M. |
| 104 | 99 | ||
| 105 | endmenu | 100 | endmenu |
diff --git a/arch/powerpc/platforms/ps3/interrupt.c b/arch/powerpc/platforms/ps3/interrupt.c index 51141dc06f9..99a0826c8d9 100644 --- a/arch/powerpc/platforms/ps3/interrupt.c +++ b/arch/powerpc/platforms/ps3/interrupt.c | |||
| @@ -564,6 +564,7 @@ int ps3_vuart_irq_setup(enum ps3_cpu_binding cpu, void* virt_addr_bmp, | |||
| 564 | 564 | ||
| 565 | return result; | 565 | return result; |
| 566 | } | 566 | } |
| 567 | EXPORT_SYMBOL_GPL(ps3_vuart_irq_setup); | ||
| 567 | 568 | ||
| 568 | int ps3_vuart_irq_destroy(unsigned int virq) | 569 | int ps3_vuart_irq_destroy(unsigned int virq) |
| 569 | { | 570 | { |
| @@ -583,6 +584,7 @@ int ps3_vuart_irq_destroy(unsigned int virq) | |||
| 583 | 584 | ||
| 584 | return result; | 585 | return result; |
| 585 | } | 586 | } |
| 587 | EXPORT_SYMBOL_GPL(ps3_vuart_irq_destroy); | ||
| 586 | 588 | ||
| 587 | /** | 589 | /** |
| 588 | * ps3_spe_irq_setup - Setup an spe virq. | 590 | * ps3_spe_irq_setup - Setup an spe virq. |
