[SPARC64]: Unconditionally register vio_bus_type.

The VIO drivers register themselves unconditionally just
like those of any other bus type, so to avoid crashes
on non-VIO systems we need to always register vio_bus_type.

Signed-off-by: David S. Miller <davem@davemloft.net>
diff --git a/arch/sparc64/kernel/vio.c b/arch/sparc64/kernel/vio.c
index 8b269aa..49569b4 100644
--- a/arch/sparc64/kernel/vio.c
+++ b/arch/sparc64/kernel/vio.c
@@ -335,6 +335,13 @@
 	int err, len;
 	u64 root;
 
+	err = bus_register(&vio_bus_type);
+	if (err) {
+		printk(KERN_ERR "VIO: Could not register bus type err=%d\n",
+		       err);
+		return err;
+	}
+
 	hp = mdesc_grab();
 	if (!hp)
 		return 0;
@@ -374,13 +381,6 @@
 
 	cdev_cfg_handle = *cfg_handle;
 
-	err = bus_register(&vio_bus_type);
-	if (err) {
-		printk(KERN_ERR "VIO: Could not register bus type err=%d\n",
-		       err);
-		return err;
-	}
-
 	create_devices(hp, root);
 
 	mdesc_release(hp);