Commit 4beee646 authored by Cornelia Huck's avatar Cornelia Huck Committed by Martin Schwidefsky

[S390] cio: Set driver->owner on css, ccw and ccwgroup busses.

Set the owner field in the embedded struct device_driver to the
value provided in the {css,ccw,ccwgroup}_driver.
Signed-off-by: default avatarCornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
parent db6a6423
...@@ -408,6 +408,7 @@ int ccwgroup_driver_register(struct ccwgroup_driver *cdriver) ...@@ -408,6 +408,7 @@ int ccwgroup_driver_register(struct ccwgroup_driver *cdriver)
/* register our new driver with the core */ /* register our new driver with the core */
cdriver->driver.bus = &ccwgroup_bus_type; cdriver->driver.bus = &ccwgroup_bus_type;
cdriver->driver.name = cdriver->name; cdriver->driver.name = cdriver->name;
cdriver->driver.owner = cdriver->owner;
return driver_register(&cdriver->driver); return driver_register(&cdriver->driver);
} }
......
...@@ -862,6 +862,7 @@ int css_driver_register(struct css_driver *cdrv) ...@@ -862,6 +862,7 @@ int css_driver_register(struct css_driver *cdrv)
{ {
cdrv->drv.name = cdrv->name; cdrv->drv.name = cdrv->name;
cdrv->drv.bus = &css_bus_type; cdrv->drv.bus = &css_bus_type;
cdrv->drv.owner = cdrv->owner;
return driver_register(&cdrv->drv); return driver_register(&cdrv->drv);
} }
EXPORT_SYMBOL_GPL(css_driver_register); EXPORT_SYMBOL_GPL(css_driver_register);
......
...@@ -65,6 +65,7 @@ struct pgid { ...@@ -65,6 +65,7 @@ struct pgid {
*/ */
struct subchannel; struct subchannel;
struct css_driver { struct css_driver {
struct module *owner;
unsigned int subchannel_type; unsigned int subchannel_type;
struct device_driver drv; struct device_driver drv;
void (*irq)(struct subchannel *); void (*irq)(struct subchannel *);
......
...@@ -125,6 +125,7 @@ static void io_subchannel_ioterm(struct subchannel *); ...@@ -125,6 +125,7 @@ static void io_subchannel_ioterm(struct subchannel *);
static void io_subchannel_shutdown(struct subchannel *); static void io_subchannel_shutdown(struct subchannel *);
static struct css_driver io_subchannel_driver = { static struct css_driver io_subchannel_driver = {
.owner = THIS_MODULE,
.subchannel_type = SUBCHANNEL_TYPE_IO, .subchannel_type = SUBCHANNEL_TYPE_IO,
.name = "io_subchannel", .name = "io_subchannel",
.irq = io_subchannel_irq, .irq = io_subchannel_irq,
...@@ -1476,6 +1477,7 @@ int ccw_driver_register(struct ccw_driver *cdriver) ...@@ -1476,6 +1477,7 @@ int ccw_driver_register(struct ccw_driver *cdriver)
drv->bus = &ccw_bus_type; drv->bus = &ccw_bus_type;
drv->name = cdriver->name; drv->name = cdriver->name;
drv->owner = cdriver->owner;
return driver_register(drv); return driver_register(drv);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment