mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-03-22 07:27:12 +08:00
scsi: core: Pass a struct scsi_driver to scsi_{,un}register_driver()
This aligns with what other subsystems do, reduces boilerplate a bit for device drivers and is less error prone. Reviewed-by: Peter Wang <peter.wang@mediatek.com> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@baylibre.com> Reviewed-by: Bart Van Assche <bvanassche@acm.org> Link: https://patch.msgid.link/ac17fdea58e384cb514c639306d48ce0005820b0.1766133330.git.u.kleine-koenig@baylibre.com Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
committed by
Martin K. Petersen
parent
8f0b4cce44
commit
7d42bcea57
@@ -1014,7 +1014,7 @@ static int __init init_ch_module(void)
|
||||
SCSI_CHANGER_MAJOR);
|
||||
goto fail1;
|
||||
}
|
||||
rc = scsi_register_driver(&ch_template.gendrv);
|
||||
rc = scsi_register_driver(&ch_template);
|
||||
if (rc < 0)
|
||||
goto fail2;
|
||||
return 0;
|
||||
@@ -1028,7 +1028,7 @@ static int __init init_ch_module(void)
|
||||
|
||||
static void __exit exit_ch_module(void)
|
||||
{
|
||||
scsi_unregister_driver(&ch_template.gendrv);
|
||||
scsi_unregister_driver(&ch_template);
|
||||
unregister_chrdev(SCSI_CHANGER_MAJOR, "ch");
|
||||
class_unregister(&ch_sysfs_class);
|
||||
idr_destroy(&ch_index_idr);
|
||||
|
||||
@@ -1554,8 +1554,10 @@ restart:
|
||||
}
|
||||
EXPORT_SYMBOL(scsi_remove_target);
|
||||
|
||||
int __scsi_register_driver(struct device_driver *drv, struct module *owner)
|
||||
int __scsi_register_driver(struct scsi_driver *sdrv, struct module *owner)
|
||||
{
|
||||
struct device_driver *drv = &sdrv->gendrv;
|
||||
|
||||
drv->bus = &scsi_bus_type;
|
||||
drv->owner = owner;
|
||||
|
||||
|
||||
@@ -4417,7 +4417,7 @@ static int __init init_sd(void)
|
||||
goto err_out_class;
|
||||
}
|
||||
|
||||
err = scsi_register_driver(&sd_template.gendrv);
|
||||
err = scsi_register_driver(&sd_template);
|
||||
if (err)
|
||||
goto err_out_driver;
|
||||
|
||||
@@ -4444,7 +4444,7 @@ static void __exit exit_sd(void)
|
||||
|
||||
SCSI_LOG_HLQUEUE(3, printk("exit_sd: exiting sd driver\n"));
|
||||
|
||||
scsi_unregister_driver(&sd_template.gendrv);
|
||||
scsi_unregister_driver(&sd_template);
|
||||
mempool_destroy(sd_page_pool);
|
||||
|
||||
class_unregister(&sd_disk_class);
|
||||
|
||||
@@ -921,7 +921,7 @@ static int __init ses_init(void)
|
||||
if (err)
|
||||
return err;
|
||||
|
||||
err = scsi_register_driver(&ses_template.gendrv);
|
||||
err = scsi_register_driver(&ses_template);
|
||||
if (err)
|
||||
goto out_unreg;
|
||||
|
||||
@@ -934,7 +934,7 @@ static int __init ses_init(void)
|
||||
|
||||
static void __exit ses_exit(void)
|
||||
{
|
||||
scsi_unregister_driver(&ses_template.gendrv);
|
||||
scsi_unregister_driver(&ses_template);
|
||||
scsi_unregister_interface(&ses_interface);
|
||||
}
|
||||
|
||||
|
||||
@@ -1001,7 +1001,7 @@ static int __init init_sr(void)
|
||||
rc = register_blkdev(SCSI_CDROM_MAJOR, "sr");
|
||||
if (rc)
|
||||
return rc;
|
||||
rc = scsi_register_driver(&sr_template.gendrv);
|
||||
rc = scsi_register_driver(&sr_template);
|
||||
if (rc)
|
||||
unregister_blkdev(SCSI_CDROM_MAJOR, "sr");
|
||||
|
||||
@@ -1010,7 +1010,7 @@ static int __init init_sr(void)
|
||||
|
||||
static void __exit exit_sr(void)
|
||||
{
|
||||
scsi_unregister_driver(&sr_template.gendrv);
|
||||
scsi_unregister_driver(&sr_template);
|
||||
unregister_blkdev(SCSI_CDROM_MAJOR, "sr");
|
||||
}
|
||||
|
||||
|
||||
@@ -4576,7 +4576,7 @@ static int __init init_st(void)
|
||||
goto err_class;
|
||||
}
|
||||
|
||||
err = scsi_register_driver(&st_template.gendrv);
|
||||
err = scsi_register_driver(&st_template);
|
||||
if (err)
|
||||
goto err_chrdev;
|
||||
|
||||
@@ -4592,7 +4592,7 @@ err_class:
|
||||
|
||||
static void __exit exit_st(void)
|
||||
{
|
||||
scsi_unregister_driver(&st_template.gendrv);
|
||||
scsi_unregister_driver(&st_template);
|
||||
unregister_chrdev_region(MKDEV(SCSI_TAPE_MAJOR, 0),
|
||||
ST_MAX_TAPE_ENTRIES);
|
||||
class_unregister(&st_sysfs_class);
|
||||
|
||||
@@ -11240,7 +11240,7 @@ static int __init ufshcd_core_init(void)
|
||||
|
||||
ufs_debugfs_init();
|
||||
|
||||
ret = scsi_register_driver(&ufs_dev_wlun_template.gendrv);
|
||||
ret = scsi_register_driver(&ufs_dev_wlun_template);
|
||||
if (ret)
|
||||
ufs_debugfs_exit();
|
||||
return ret;
|
||||
@@ -11249,7 +11249,7 @@ static int __init ufshcd_core_init(void)
|
||||
static void __exit ufshcd_core_exit(void)
|
||||
{
|
||||
ufs_debugfs_exit();
|
||||
scsi_unregister_driver(&ufs_dev_wlun_template.gendrv);
|
||||
scsi_unregister_driver(&ufs_dev_wlun_template);
|
||||
}
|
||||
|
||||
module_init(ufshcd_core_init);
|
||||
|
||||
@@ -25,9 +25,9 @@ struct scsi_driver {
|
||||
|
||||
#define scsi_register_driver(drv) \
|
||||
__scsi_register_driver(drv, THIS_MODULE)
|
||||
int __scsi_register_driver(struct device_driver *, struct module *);
|
||||
int __scsi_register_driver(struct scsi_driver *, struct module *);
|
||||
#define scsi_unregister_driver(drv) \
|
||||
driver_unregister(drv);
|
||||
driver_unregister(&(drv)->gendrv);
|
||||
|
||||
extern int scsi_register_interface(struct class_interface *);
|
||||
#define scsi_unregister_interface(intf) \
|
||||
|
||||
Reference in New Issue
Block a user