[S390] css_driver: remove duplicate members
Sebastian Ott [Tue, 15 Mar 2011 16:08:30 +0000 (17:08 +0100)]
Remove the owner and name members of struct
css_driver and convert all drivers to store
this data in the embedded struct device_driver.

Signed-off-by: Sebastian Ott <sebott@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>

drivers/s390/cio/chsc_sch.c
drivers/s390/cio/css.c
drivers/s390/cio/css.h
drivers/s390/cio/device.c

index 09c2ea8..e950f1a 100644 (file)
@@ -148,7 +148,10 @@ static struct css_device_id chsc_subchannel_ids[] = {
 MODULE_DEVICE_TABLE(css, chsc_subchannel_ids);
 
 static struct css_driver chsc_subchannel_driver = {
-       .owner = THIS_MODULE,
+       .drv = {
+               .owner = THIS_MODULE,
+               .name = "chsc_subchannel",
+       },
        .subchannel_type = chsc_subchannel_ids,
        .irq = chsc_subchannel_irq,
        .probe = chsc_subchannel_probe,
@@ -158,7 +161,6 @@ static struct css_driver chsc_subchannel_driver = {
        .freeze = chsc_subchannel_freeze,
        .thaw = chsc_subchannel_restore,
        .restore = chsc_subchannel_restore,
-       .name = "chsc_subchannel",
 };
 
 static int __init chsc_init_dbfs(void)
index 24d8e97..51eaed0 100644 (file)
@@ -1233,9 +1233,7 @@ struct bus_type css_bus_type = {
  */
 int css_driver_register(struct css_driver *cdrv)
 {
-       cdrv->drv.name = cdrv->name;
        cdrv->drv.bus = &css_bus_type;
-       cdrv->drv.owner = cdrv->owner;
        return driver_register(&cdrv->drv);
 }
 EXPORT_SYMBOL_GPL(css_driver_register);
index 7e37886..566dc1a 100644 (file)
@@ -63,7 +63,6 @@ struct subchannel;
 struct chp_link;
 /**
  * struct css_driver - device driver for subchannels
- * @owner: owning module
  * @subchannel_type: subchannel type supported by this driver
  * @drv: embedded device driver structure
  * @irq: called on interrupts
@@ -78,10 +77,8 @@ struct chp_link;
  * @thaw: undo work done in @freeze
  * @restore: callback for restoring after hibernation
  * @settle: wait for asynchronous work to finish
- * @name: name of the device driver
  */
 struct css_driver {
-       struct module *owner;
        struct css_device_id *subchannel_type;
        struct device_driver drv;
        void (*irq)(struct subchannel *);
@@ -96,7 +93,6 @@ struct css_driver {
        int (*thaw) (struct subchannel *);
        int (*restore)(struct subchannel *);
        int (*settle)(void);
-       const char *name;
 };
 
 #define to_cssdriver(n) container_of(n, struct css_driver, drv)
index 7582a1e..e50b121 100644 (file)
@@ -172,9 +172,11 @@ static int io_subchannel_settle(void)
 }
 
 static struct css_driver io_subchannel_driver = {
-       .owner = THIS_MODULE,
+       .drv = {
+               .owner = THIS_MODULE,
+               .name = "io_subchannel",
+       },
        .subchannel_type = io_subchannel_ids,
-       .name = "io_subchannel",
        .irq = io_subchannel_irq,
        .sch_event = io_subchannel_sch_event,
        .chp_event = io_subchannel_chp_event,