diff options
author | Linus Torvalds <torvalds@woody.osdl.org> | 2006-12-21 08:59:36 +0100 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.osdl.org> | 2006-12-21 08:59:36 +0100 |
commit | 5576d187a0eef3bb3c47500eaab33fb5485bc352 (patch) | |
tree | 608ac1f1091eddf17b4930d59c3a61dad7994614 /drivers/char | |
parent | Merge branch 'drm-patches' of master.kernel.org:/pub/scm/linux/kernel/git/air... (diff) | |
parent | [POWERPC] Fix register save area alignment for swapcontext syscall (diff) | |
download | linux-5576d187a0eef3bb3c47500eaab33fb5485bc352.tar.xz linux-5576d187a0eef3bb3c47500eaab33fb5485bc352.zip |
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] Fix register save area alignment for swapcontext syscall
[POWERPC] Fix PCI device channel state initialization
[POWERPC] Update MTD OF documentation
[POWERPC] Probe Efika platform before CHRP.
[POWERPC] Fix build of cell zImage.initrd
[POWERPC] iSeries: fix CONFIG_VIOPATH dependency
[POWERPC] iSeries: fix viocons init
[POWERPC] iSeries: fix viocd init
[POWERPC] iSeries: fix iseries_veth init
[POWERPC] iSeries: fix viotape init
[POWERPC] iSeries: fix viodasd init
[POWERPC] Workaround oldworld OF bug with IRQs & P2P bridges
[POWERPC] powerpc: add scanning of ebc bus to of_platform
[POWERPC] spufs: fix assignment of node numbers
[POWERPC] cell: Fix spufs with "new style" device-tree
[POWERPC] cell: Enable spider workarounds on all PCI buses
[POWERPC] cell: add forward struct declarations to spu.h
[POWERPC] cell: update cell_defconfig
Diffstat (limited to 'drivers/char')
-rw-r--r-- | drivers/char/viocons.c | 7 | ||||
-rw-r--r-- | drivers/char/viotape.c | 5 |
2 files changed, 11 insertions, 1 deletions
diff --git a/drivers/char/viocons.c b/drivers/char/viocons.c index 0e0da443cbd5..8de6b95aeb84 100644 --- a/drivers/char/viocons.c +++ b/drivers/char/viocons.c @@ -42,6 +42,7 @@ #include <linux/tty_flip.h> #include <linux/sysrq.h> +#include <asm/firmware.h> #include <asm/iseries/vio.h> #include <asm/iseries/hv_lp_event.h> #include <asm/iseries/hv_call_event.h> @@ -1060,6 +1061,9 @@ static int __init viocons_init2(void) atomic_t wait_flag; int rc; + if (!firmware_has_feature(FW_FEATURE_ISERIES)) + return -ENODEV; + /* +2 for fudge */ rc = viopath_open(HvLpConfig_getPrimaryLpIndex(), viomajorsubtype_chario, VIOCHAR_WINDOW + 2); @@ -1145,6 +1149,9 @@ static int __init viocons_init(void) { int i; + if (!firmware_has_feature(FW_FEATURE_ISERIES)) + return -ENODEV; + printk(VIOCONS_KERN_INFO "registering console\n"); for (i = 0; i < VTTY_PORTS; i++) { port_info[i].lp = HvLpIndexInvalid; diff --git a/drivers/char/viotape.c b/drivers/char/viotape.c index 94d79cb8ce8d..9438512b17f1 100644 --- a/drivers/char/viotape.c +++ b/drivers/char/viotape.c @@ -49,7 +49,7 @@ #include <asm/uaccess.h> #include <asm/ioctls.h> - +#include <asm/firmware.h> #include <asm/vio.h> #include <asm/iseries/vio.h> #include <asm/iseries/hv_lp_event.h> @@ -997,6 +997,9 @@ int __init viotap_init(void) int ret; struct proc_dir_entry *e; + if (!firmware_has_feature(FW_FEATURE_ISERIES)) + return -ENODEV; + op_struct_list = NULL; if ((ret = add_op_structs(VIOTAPE_MAXREQ)) < 0) { printk(VIOTAPE_KERN_WARN "couldn't allocate op structs\n"); |