[PATCH] powerpc: don't duplicate name between vio_driver and device_driver

Stephen Rothwell sfr at canb.auug.org.au
Mon Oct 24 16:05:03 EST 2005


There has been a discussion on LKML about the duplication of the name and
owner fields in struct pci_driver which concluded that we should just set
the embedded device_driver fields instead.  This does the same for the
name field of struct vio_driver.

Signed-off-by: Stephen Rothwell <sfr at canb.auug.org.au>
---

 arch/powerpc/kernel/vio.c        |    3 +--
 drivers/block/viodasd.c          |    6 ++++--
 drivers/cdrom/viocd.c            |    6 ++++--
 drivers/char/hvc_vio.c           |    2 +-
 drivers/char/hvcs.c              |    4 +++-
 drivers/char/viotape.c           |    6 ++++--
 drivers/net/ibmveth.c            |   10 ++++++----
 drivers/net/iseries_veth.c       |    6 ++++--
 drivers/scsi/ibmvscsi/ibmvscsi.c |    6 ++++--
 include/asm-powerpc/vio.h        |    1 -
 10 files changed, 31 insertions(+), 19 deletions(-)

This patch depends on Michael Ellerman's patches merging vio.[ch] int the
merge tree.

-- 
Cheers,
Stephen Rothwell                    sfr at canb.auug.org.au
http://www.canb.auug.org.au/~sfr/

e787d14a6d87d4963c91a176139d1e83d0c845fa
diff --git a/arch/powerpc/kernel/vio.c b/arch/powerpc/kernel/vio.c
--- a/arch/powerpc/kernel/vio.c
+++ b/arch/powerpc/kernel/vio.c
@@ -76,10 +76,9 @@ static int vio_bus_remove(struct device 
 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
--- a/drivers/block/viodasd.c
+++ b/drivers/block/viodasd.c
@@ -781,10 +781,12 @@ static struct vio_device_id viodasd_devi
 
 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
--- a/drivers/cdrom/viocd.c
+++ b/drivers/cdrom/viocd.c
@@ -739,10 +739,12 @@ static struct vio_device_id viocd_device
 
 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
--- a/drivers/char/hvc_vio.c
+++ b/drivers/char/hvc_vio.c
@@ -95,11 +95,11 @@ static int __devexit hvc_vio_remove(stru
 }
 
 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
--- a/drivers/char/hvcs.c
+++ b/drivers/char/hvcs.c
@@ -720,10 +720,12 @@ static int __devexit hvcs_remove(struct 
 };
 
 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
--- a/drivers/char/viotape.c
+++ b/drivers/char/viotape.c
@@ -996,10 +996,12 @@ static struct vio_device_id viotape_devi
 
 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
--- a/drivers/net/ibmveth.c
+++ b/drivers/net/ibmveth.c
@@ -1150,10 +1150,12 @@ static struct vio_device_id ibmveth_devi
 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
--- a/drivers/net/iseries_veth.c
+++ b/drivers/net/iseries_veth.c
@@ -1648,10 +1648,12 @@ static struct vio_device_id veth_device_
 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
--- a/drivers/scsi/ibmvscsi/ibmvscsi.c
+++ b/drivers/scsi/ibmvscsi/ibmvscsi.c
@@ -1546,10 +1546,12 @@ static struct vio_device_id ibmvscsi_dev
 
 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
--- a/include/asm-powerpc/vio.h
+++ b/include/asm-powerpc/vio.h
@@ -55,7 +55,6 @@ struct vio_dev {
 
 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);



More information about the Linuxppc64-dev mailing list