powerpc: don't duplicate name between vio_driver and device_driver

Just set the name field directly in the device_driver structure
contained in the vio_driver struct.

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
diff --git a/arch/powerpc/kernel/vio.c b/arch/powerpc/kernel/vio.c
index 0e555b7..3aec492 100644
--- a/arch/powerpc/kernel/vio.c
+++ b/arch/powerpc/kernel/vio.c
@@ -76,10 +76,9 @@
 int vio_register_driver(struct vio_driver *viodrv)
 {
 	printk(KERN_DEBUG "%s: driver %s registering\n", __FUNCTION__,
-		viodrv->name);
+		viodrv->driver.name);
 
 	/* fill in 'struct driver' fields */
-	viodrv->driver.name = viodrv->name;
 	viodrv->driver.bus = &vio_bus_type;
 	viodrv->driver.probe = vio_bus_probe;
 	viodrv->driver.remove = vio_bus_remove;
diff --git a/drivers/block/viodasd.c b/drivers/block/viodasd.c
index e46ecd2..ea72faa 100644
--- a/drivers/block/viodasd.c
+++ b/drivers/block/viodasd.c
@@ -781,10 +781,12 @@
 
 MODULE_DEVICE_TABLE(vio, viodasd_device_table);
 static struct vio_driver viodasd_driver = {
-	.name = "viodasd",
 	.id_table = viodasd_device_table,
 	.probe = viodasd_probe,
-	.remove = viodasd_remove
+	.remove = viodasd_remove,
+	.driver = {
+		.name = "viodasd",
+	}
 };
 
 /*
diff --git a/drivers/cdrom/viocd.c b/drivers/cdrom/viocd.c
index 0829db5..255d24a 100644
--- a/drivers/cdrom/viocd.c
+++ b/drivers/cdrom/viocd.c
@@ -739,10 +739,12 @@
 
 MODULE_DEVICE_TABLE(vio, viocd_device_table);
 static struct vio_driver viocd_driver = {
-	.name = "viocd",
 	.id_table = viocd_device_table,
 	.probe = viocd_probe,
-	.remove = viocd_remove
+	.remove = viocd_remove,
+	.driver = {
+		.name = "viocd",
+	}
 };
 
 static int __init viocd_init(void)
diff --git a/drivers/char/hvc_vio.c b/drivers/char/hvc_vio.c
index 78d681d..f5212eb 100644
--- a/drivers/char/hvc_vio.c
+++ b/drivers/char/hvc_vio.c
@@ -95,11 +95,11 @@
 }
 
 static struct vio_driver hvc_vio_driver = {
-	.name		= hvc_driver_name,
 	.id_table	= hvc_driver_table,
 	.probe		= hvc_vio_probe,
 	.remove		= hvc_vio_remove,
 	.driver		= {
+		.name	= hvc_driver_name,
 		.owner	= THIS_MODULE,
 	}
 };
diff --git a/drivers/char/hvcs.c b/drivers/char/hvcs.c
index f47f009..8486298 100644
--- a/drivers/char/hvcs.c
+++ b/drivers/char/hvcs.c
@@ -720,10 +720,12 @@
 };
 
 static struct vio_driver hvcs_vio_driver = {
-	.name		= hvcs_driver_name,
 	.id_table	= hvcs_driver_table,
 	.probe		= hvcs_probe,
 	.remove		= hvcs_remove,
+	.driver		= {
+		.name	= hvcs_driver_name,
+	}
 };
 
 /* Only called from hvcs_get_pi please */
diff --git a/drivers/char/viotape.c b/drivers/char/viotape.c
index 0aff45f..8fc1115 100644
--- a/drivers/char/viotape.c
+++ b/drivers/char/viotape.c
@@ -996,10 +996,12 @@
 
 MODULE_DEVICE_TABLE(vio, viotape_device_table);
 static struct vio_driver viotape_driver = {
-	.name = "viotape",
 	.id_table = viotape_device_table,
 	.probe = viotape_probe,
-	.remove = viotape_remove
+	.remove = viotape_remove,
+	.driver = {
+		.name = "viotape",
+	}
 };
 
 
diff --git a/drivers/net/ibmveth.c b/drivers/net/ibmveth.c
index a2c4dd4..fcf6f2c 100644
--- a/drivers/net/ibmveth.c
+++ b/drivers/net/ibmveth.c
@@ -1150,10 +1150,12 @@
 MODULE_DEVICE_TABLE(vio, ibmveth_device_table);
 
 static struct vio_driver ibmveth_driver = {
-	.name        = (char *)ibmveth_driver_name,
-	.id_table    = ibmveth_device_table,
-	.probe       = ibmveth_probe,
-	.remove      = ibmveth_remove
+	.id_table	= ibmveth_device_table,
+	.probe		= ibmveth_probe,
+	.remove		= ibmveth_remove,
+	.driver		= {
+		.name	= ibmveth_driver_name,
+	}
 };
 
 static int __init ibmveth_module_init(void)
diff --git a/drivers/net/iseries_veth.c b/drivers/net/iseries_veth.c
index db3bc2f..33613fe 100644
--- a/drivers/net/iseries_veth.c
+++ b/drivers/net/iseries_veth.c
@@ -1648,10 +1648,12 @@
 MODULE_DEVICE_TABLE(vio, veth_device_table);
 
 static struct vio_driver veth_driver = {
-	.name = DRV_NAME,
 	.id_table = veth_device_table,
 	.probe = veth_probe,
-	.remove = veth_remove
+	.remove = veth_remove,
+	.driver = {
+		.name = DRV_NAME,
+	}
 };
 
 /*
diff --git a/drivers/scsi/ibmvscsi/ibmvscsi.c b/drivers/scsi/ibmvscsi/ibmvscsi.c
index ff25210..965e537 100644
--- a/drivers/scsi/ibmvscsi/ibmvscsi.c
+++ b/drivers/scsi/ibmvscsi/ibmvscsi.c
@@ -1546,10 +1546,12 @@
 
 MODULE_DEVICE_TABLE(vio, ibmvscsi_device_table);
 static struct vio_driver ibmvscsi_driver = {
-	.name = "ibmvscsi",
 	.id_table = ibmvscsi_device_table,
 	.probe = ibmvscsi_probe,
-	.remove = ibmvscsi_remove
+	.remove = ibmvscsi_remove,
+	.driver = {
+		.name = "ibmvscsi",
+	}
 };
 
 int __init ibmvscsi_module_init(void)
diff --git a/include/asm-powerpc/vio.h b/include/asm-powerpc/vio.h
index f10f72f..104c585 100644
--- a/include/asm-powerpc/vio.h
+++ b/include/asm-powerpc/vio.h
@@ -55,7 +55,6 @@
 
 struct vio_driver {
 	struct list_head node;
-	char *name;
 	const struct vio_device_id *id_table;
 	int (*probe)(struct vio_dev *dev, const struct vio_device_id *id);
 	int (*remove)(struct vio_dev *dev);