diff --git a/drivers/s390/cio/ccwgroup.c b/drivers/s390/cio/ccwgroup.c index b9997fb4883c..dc1c5f4dd256 100644 --- a/drivers/s390/cio/ccwgroup.c +++ b/drivers/s390/cio/ccwgroup.c @@ -408,6 +408,7 @@ int ccwgroup_driver_register(struct ccwgroup_driver *cdriver) /* register our new driver with the core */ cdriver->driver.bus = &ccwgroup_bus_type; cdriver->driver.name = cdriver->name; + cdriver->driver.owner = cdriver->owner; return driver_register(&cdriver->driver); } diff --git a/drivers/s390/cio/css.c b/drivers/s390/cio/css.c index 4d98a0fddedf..69d56c7284d1 100644 --- a/drivers/s390/cio/css.c +++ b/drivers/s390/cio/css.c @@ -862,6 +862,7 @@ 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); diff --git a/drivers/s390/cio/css.h b/drivers/s390/cio/css.h index ee65761e8254..40598b8ee27d 100644 --- a/drivers/s390/cio/css.h +++ b/drivers/s390/cio/css.h @@ -65,6 +65,7 @@ struct pgid { */ struct subchannel; struct css_driver { + struct module *owner; unsigned int subchannel_type; struct device_driver drv; void (*irq)(struct subchannel *); diff --git a/drivers/s390/cio/device.c b/drivers/s390/cio/device.c index 933f763e9586..f80d7f5418d3 100644 --- a/drivers/s390/cio/device.c +++ b/drivers/s390/cio/device.c @@ -125,6 +125,7 @@ static void io_subchannel_ioterm(struct subchannel *); static void io_subchannel_shutdown(struct subchannel *); static struct css_driver io_subchannel_driver = { + .owner = THIS_MODULE, .subchannel_type = SUBCHANNEL_TYPE_IO, .name = "io_subchannel", .irq = io_subchannel_irq, @@ -1476,6 +1477,7 @@ int ccw_driver_register(struct ccw_driver *cdriver) drv->bus = &ccw_bus_type; drv->name = cdriver->name; + drv->owner = cdriver->owner; return driver_register(drv); }