Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

scsi: remove scsi_driver owner field

The driver core driver structure has grown an owner field and now
requires it to be set for all modular drivers. Set it up for
all scsi_driver instances and get rid of the now superflous
scsi_driver owner field.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reported-by: Shane M Seymour <shane.seymour@hp.com>
Reviewed-by: Ewan D. Milne <emilne@redhat.com
Reviewed-by: Hannes Reinecke <hare@suse.de>

+11 -13
+1 -1
drivers/scsi/ch.c
··· 972 972 } 973 973 974 974 static struct scsi_driver ch_template = { 975 - .owner = THIS_MODULE, 976 975 .gendrv = { 977 976 .name = "ch", 977 + .owner = THIS_MODULE, 978 978 .probe = ch_probe, 979 979 .remove = ch_remove, 980 980 },
+1 -1
drivers/scsi/osd/osd_uld.c
··· 540 540 */ 541 541 542 542 static struct scsi_driver osd_driver = { 543 - .owner = THIS_MODULE, 544 543 .gendrv = { 545 544 .name = osd_name, 545 + .owner = THIS_MODULE, 546 546 .probe = osd_probe, 547 547 .remove = osd_remove, 548 548 }
+1 -1
drivers/scsi/osst.c
··· 172 172 static int osst_remove(struct device *); 173 173 174 174 static struct scsi_driver osst_template = { 175 - .owner = THIS_MODULE, 176 175 .gendrv = { 177 176 .name = "osst", 177 + .owner = THIS_MODULE, 178 178 .probe = osst_probe, 179 179 .remove = osst_remove, 180 180 }
+4 -5
drivers/scsi/scsi_scan.c
··· 1593 1593 1594 1594 void scsi_rescan_device(struct device *dev) 1595 1595 { 1596 - struct scsi_driver *drv; 1597 - 1598 1596 if (!dev->driver) 1599 1597 return; 1600 1598 1601 - drv = to_scsi_driver(dev->driver); 1602 - if (try_module_get(drv->owner)) { 1599 + if (try_module_get(dev->driver->owner)) { 1600 + struct scsi_driver *drv = to_scsi_driver(dev->driver); 1601 + 1603 1602 if (drv->rescan) 1604 1603 drv->rescan(dev); 1605 - module_put(drv->owner); 1604 + module_put(dev->driver->owner); 1606 1605 } 1607 1606 } 1608 1607 EXPORT_SYMBOL(scsi_rescan_device);
+1 -1
drivers/scsi/sd.c
··· 510 510 }; 511 511 512 512 static struct scsi_driver sd_template = { 513 - .owner = THIS_MODULE, 514 513 .gendrv = { 515 514 .name = "sd", 515 + .owner = THIS_MODULE, 516 516 .probe = sd_probe, 517 517 .remove = sd_remove, 518 518 .shutdown = sd_shutdown,
+1 -1
drivers/scsi/ses.c
··· 693 693 }; 694 694 695 695 static struct scsi_driver ses_template = { 696 - .owner = THIS_MODULE, 697 696 .gendrv = { 698 697 .name = "ses", 698 + .owner = THIS_MODULE, 699 699 .probe = ses_probe, 700 700 .remove = ses_remove, 701 701 },
+1 -1
drivers/scsi/sr.c
··· 88 88 }; 89 89 90 90 static struct scsi_driver sr_template = { 91 - .owner = THIS_MODULE, 92 91 .gendrv = { 93 92 .name = "sr", 93 + .owner = THIS_MODULE, 94 94 .probe = sr_probe, 95 95 .remove = sr_remove, 96 96 .pm = &sr_pm_ops,
+1 -1
drivers/scsi/st.c
··· 202 202 static void do_remove_sysfs_files(void); 203 203 204 204 static struct scsi_driver st_template = { 205 - .owner = THIS_MODULE, 206 205 .gendrv = { 207 206 .name = "st", 207 + .owner = THIS_MODULE, 208 208 .probe = st_probe, 209 209 .remove = st_remove, 210 210 },
-1
include/scsi/scsi_driver.h
··· 9 9 struct scsi_device; 10 10 11 11 struct scsi_driver { 12 - struct module *owner; 13 12 struct device_driver gendrv; 14 13 15 14 void (*rescan)(struct device *);