diff options
author | Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com> | 2007-03-10 02:05:38 +0300 |
---|---|---|
committer | Arnd Bergmann <arnd@klappe.arndb.de> | 2007-03-10 02:07:51 +0300 |
commit | ef596c697a4d80048eccf50530153d7e3330c127 (patch) | |
tree | afd1d1cf9c4fc2c53d557a669d0fdba085dc3e35 /drivers/ps3/ps3av.c | |
parent | 94b2a4393c500a620de90c3266d595926302e26b (diff) | |
download | linux-ef596c697a4d80048eccf50530153d7e3330c127.tar.xz |
[POWERPC] ps3: always make sure were running on a PS3
Add missing checks to PS3 specific drivers ps3av and sys-manager to verify that
we are actually running on a PS3 (pointed out by Arnd).
Correct existing checks in other subsystems/drivers to return -ENODEV instead
of zero.
Signed-off-by: Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com>
Signed-off-by: Arnd Bergmann <arnd.bergmann@de.ibm.com>
Diffstat (limited to 'drivers/ps3/ps3av.c')
-rw-r--r-- | drivers/ps3/ps3av.c | 9 |
1 files changed, 8 insertions, 1 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 @@ #include <linux/reboot.h> #include <linux/kernel.h> #include <linux/ioctl.h> + +#include <asm/firmware.h> #include <asm/lv1call.h> #include <asm/ps3av.h> #include <asm/ps3.h> @@ -947,7 +949,12 @@ static struct ps3_vuart_port_driver ps3av_driver = { static int ps3av_module_init(void) { - int error = ps3_vuart_port_driver_register(&ps3av_driver); + int error; + + if (!firmware_has_feature(FW_FEATURE_PS3_LV1)) + return -ENODEV; + + error = ps3_vuart_port_driver_register(&ps3av_driver); if (error) { printk(KERN_ERR "%s: ps3_vuart_port_driver_register failed %d\n", |