aboutsummaryrefslogtreecommitdiff
path: root/drivers/char
diff options
context:
space:
mode:
authorStephen Rothwell <sfr@canb.auug.org.au>2006-12-15 15:45:13 +1100
committerPaul Mackerras <paulus@samba.org>2006-12-20 16:37:48 +1100
commit94c8f9f974f2ad29b90b2830b189d74a633fef49 (patch)
treeb28a0c2f1d928a890283b0365ec2e5fe22469ae0 /drivers/char
parent31c72ad0d10b561e7e5f843747e7d0c1abf4d6f7 (diff)
[POWERPC] iSeries: fix viocons init
Only initialise viocons on legacy iSeries. Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'drivers/char')
-rw-r--r--drivers/char/viocons.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/char/viocons.c b/drivers/char/viocons.c
index 0e0da443cbd..8de6b95aeb8 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;