[S390] css_driver: remove duplicate members
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>
This commit is contained in:
Родитель
085ee9db88
Коммит
e6aed122a9
|
@ -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)
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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,
|
||||
|
|
Загрузка…
Ссылка в новой задаче