summaryrefslogtreecommitdiff
path: root/drivers/block/viodasd.c
diff options
context:
space:
mode:
authorStephen Rothwell <sfr@canb.auug.org.au>2006-12-15 07:40:08 +0300
committerPaul Mackerras <paulus@samba.org>2006-12-20 08:37:47 +0300
commitfb8b50078458ba74c3d3f7bf05f5ddc27b88f051 (patch)
tree9eec2360a0f774e3419a5cc2760a88721f1828a7 /drivers/block/viodasd.c
parent6f67f9d26fe5ced50f716e9620b42c0721d8b8d9 (diff)
downloadlinux-fb8b50078458ba74c3d3f7bf05f5ddc27b88f051.tar.xz
[POWERPC] iSeries: fix viodasd init
Don't initialise viodasd except 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/block/viodasd.c')
-rw-r--r--drivers/block/viodasd.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/block/viodasd.c b/drivers/block/viodasd.c
index e19ba4ebcd4e..68592c336011 100644
--- a/drivers/block/viodasd.c
+++ b/drivers/block/viodasd.c
@@ -49,6 +49,7 @@
#include <asm/iseries/hv_lp_event.h>
#include <asm/iseries/hv_lp_config.h>
#include <asm/iseries/vio.h>
+#include <asm/firmware.h>
MODULE_DESCRIPTION("iSeries Virtual DASD");
MODULE_AUTHOR("Dave Boutcher");
@@ -769,6 +770,11 @@ static int __init viodasd_init(void)
{
int rc;
+ if (!firmware_has_feature(FW_FEATURE_ISERIES)) {
+ rc = -ENODEV;
+ goto early_fail;
+ }
+
/* Try to open to our host lp */
if (viopath_hostLp == HvLpIndexInvalid)
vio_set_hostlp();