aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@woody.linux-foundation.org>2007-03-12 21:13:45 -0400
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-03-12 21:13:45 -0400
commit8b9909ded6922c33c221b105b26917780cfa497d (patch)
treeed90419e17baf41974a6a46611ceb0db0f55692b /drivers
parent44a5085162f3d3231b359784319a207032e09523 (diff)
parent7b3c384db1ff0f336b59d5062617915e216eaec1 (diff)
Merge branch 'merge' of master.kernel.org:/pub/scm/linux/kernel/git/paulus/powerpc
* 'merge' of master.kernel.org:/pub/scm/linux/kernel/git/paulus/powerpc: [POWERPC] sys_move_pages should be callable from an SPU [POWERPC] Wire up sys_epoll_pwait [POWERPC] Allocate syscall number for sys_getcpu [POWERPC] update cell_defconfig [POWERPC] ps3: always make sure were running on a PS3 [POWERPC] Fix spu SLB invalidations [POWERPC] avoid SPU_ACTIVATE_NOWAKE optimization [POWERPC] spufs: fix possible memory corruption is spufs_mem_write
Diffstat (limited to 'drivers')
-rw-r--r--drivers/ps3/ps3av.c9
-rw-r--r--drivers/ps3/sys-manager.c6
-rw-r--r--drivers/ps3/vuart.c2
3 files changed, 15 insertions, 2 deletions
diff --git a/drivers/ps3/ps3av.c b/drivers/ps3/ps3av.c
index 1926b4d3e1f4..d21e04ccb021 100644
--- a/drivers/ps3/ps3av.c
+++ b/drivers/ps3/ps3av.c
@@ -24,6 +24,8 @@
24#include <linux/reboot.h> 24#include <linux/reboot.h>
25#include <linux/kernel.h> 25#include <linux/kernel.h>
26#include <linux/ioctl.h> 26#include <linux/ioctl.h>
27
28#include <asm/firmware.h>
27#include <asm/lv1call.h> 29#include <asm/lv1call.h>
28#include <asm/ps3av.h> 30#include <asm/ps3av.h>
29#include <asm/ps3.h> 31#include <asm/ps3.h>
@@ -947,7 +949,12 @@ static struct ps3_vuart_port_driver ps3av_driver = {
947 949
948static int ps3av_module_init(void) 950static int ps3av_module_init(void)
949{ 951{
950 int error = ps3_vuart_port_driver_register(&ps3av_driver); 952 int error;
953
954 if (!firmware_has_feature(FW_FEATURE_PS3_LV1))
955 return -ENODEV;
956
957 error = ps3_vuart_port_driver_register(&ps3av_driver);
951 if (error) { 958 if (error) {
952 printk(KERN_ERR 959 printk(KERN_ERR
953 "%s: ps3_vuart_port_driver_register failed %d\n", 960 "%s: ps3_vuart_port_driver_register failed %d\n",
diff --git a/drivers/ps3/sys-manager.c b/drivers/ps3/sys-manager.c
index 0fc30be8b81e..3aa2b0dcc369 100644
--- a/drivers/ps3/sys-manager.c
+++ b/drivers/ps3/sys-manager.c
@@ -22,7 +22,10 @@
22#include <linux/module.h> 22#include <linux/module.h>
23#include <linux/workqueue.h> 23#include <linux/workqueue.h>
24#include <linux/reboot.h> 24#include <linux/reboot.h>
25
26#include <asm/firmware.h>
25#include <asm/ps3.h> 27#include <asm/ps3.h>
28
26#include "vuart.h" 29#include "vuart.h"
27 30
28MODULE_AUTHOR("Sony Corporation"); 31MODULE_AUTHOR("Sony Corporation");
@@ -598,6 +601,9 @@ static struct ps3_vuart_port_driver ps3_sys_manager = {
598 601
599static int __init ps3_sys_manager_init(void) 602static int __init ps3_sys_manager_init(void)
600{ 603{
604 if (!firmware_has_feature(FW_FEATURE_PS3_LV1))
605 return -ENODEV;
606
601 return ps3_vuart_port_driver_register(&ps3_sys_manager); 607 return ps3_vuart_port_driver_register(&ps3_sys_manager);
602} 608}
603 609
diff --git a/drivers/ps3/vuart.c b/drivers/ps3/vuart.c
index 746298107d6f..1adf186bfaf5 100644
--- a/drivers/ps3/vuart.c
+++ b/drivers/ps3/vuart.c
@@ -1031,7 +1031,7 @@ int __init ps3_vuart_bus_init(void)
1031 pr_debug("%s:%d:\n", __func__, __LINE__); 1031 pr_debug("%s:%d:\n", __func__, __LINE__);
1032 1032
1033 if (!firmware_has_feature(FW_FEATURE_PS3_LV1)) 1033 if (!firmware_has_feature(FW_FEATURE_PS3_LV1))
1034 return 0; 1034 return -ENODEV;
1035 1035
1036 init_MUTEX(&vuart_bus_priv.probe_mutex); 1036 init_MUTEX(&vuart_bus_priv.probe_mutex);
1037 result = bus_register(&ps3_vuart_bus); 1037 result = bus_register(&ps3_vuart_bus);