diff options
author | Christoph Hellwig <hch@lst.de> | 2018-03-19 08:37:48 +0100 |
---|---|---|
committer | Martin K. Petersen <martin.petersen@oracle.com> | 2018-03-19 22:54:47 -0400 |
commit | 5785bfadcdb596df7e103636c81e5ae6dd0caa5e (patch) | |
tree | 9b5c10568e6ff7dcfed70f8184db5da6a43a9514 /drivers/scsi/esas2r/esas2r_main.c | |
parent | fa1467fb0076143ea678ae1837b5b3bb27153329 (diff) |
scsi: esas2r: remove initialization / cleanup dead wood
esas2r has been converted to hotplug style initialization long ago, but
kept various remant of the old-style scsi_module.c initialization
around. Remove those.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Diffstat (limited to 'drivers/scsi/esas2r/esas2r_main.c')
-rw-r--r-- | drivers/scsi/esas2r/esas2r_main.c | 72 |
1 files changed, 4 insertions, 68 deletions
diff --git a/drivers/scsi/esas2r/esas2r_main.c b/drivers/scsi/esas2r/esas2r_main.c index 4eb14301a497..e07eac5be087 100644 --- a/drivers/scsi/esas2r/esas2r_main.c +++ b/drivers/scsi/esas2r/esas2r_main.c @@ -235,7 +235,6 @@ static struct scsi_host_template driver_template = { .module = THIS_MODULE, .show_info = esas2r_show_info, .name = ESAS2R_LONGNAME, - .release = esas2r_release, .info = esas2r_info, .ioctl = esas2r_ioctl, .queuecommand = esas2r_queuecommand, @@ -520,44 +519,16 @@ static int esas2r_probe(struct pci_dev *pcid, static void esas2r_remove(struct pci_dev *pdev) { - struct Scsi_Host *host; - int index; - - if (pdev == NULL) { - esas2r_log(ESAS2R_LOG_WARN, "esas2r_remove pdev==NULL"); - return; - } - - host = pci_get_drvdata(pdev); - - if (host == NULL) { - /* - * this can happen if pci_set_drvdata was already called - * to clear the host pointer. if this is the case, we - * are okay; this channel has already been cleaned up. - */ - - return; - } + struct Scsi_Host *host = pci_get_drvdata(pdev); + struct esas2r_adapter *a = (struct esas2r_adapter *)host->hostdata; esas2r_log_dev(ESAS2R_LOG_INFO, &(pdev->dev), "esas2r_remove(%p) called; " "host:%p", pdev, host); - index = esas2r_cleanup(host); - - if (index < 0) - esas2r_log_dev(ESAS2R_LOG_WARN, &(pdev->dev), - "unknown host in %s", - __func__); - + esas2r_kill_adapter(a->index); found_adapters--; - - /* if this was the last adapter, clean up the rest of the driver */ - - if (found_adapters == 0) - esas2r_cleanup(NULL); } static int __init esas2r_init(void) @@ -638,30 +609,7 @@ static int __init esas2r_init(void) for (i = 0; i < MAX_ADAPTERS; i++) esas2r_adapters[i] = NULL; - /* initialize */ - - driver_template.module = THIS_MODULE; - - if (pci_register_driver(&esas2r_pci_driver) != 0) - esas2r_log(ESAS2R_LOG_CRIT, "pci_register_driver FAILED"); - else - esas2r_log(ESAS2R_LOG_INFO, "pci_register_driver() OK"); - - if (!found_adapters) { - pci_unregister_driver(&esas2r_pci_driver); - esas2r_cleanup(NULL); - - esas2r_log(ESAS2R_LOG_CRIT, - "driver will not be loaded because no ATTO " - "%s devices were found", - ESAS2R_DRVR_NAME); - return -1; - } else { - esas2r_log(ESAS2R_LOG_INFO, "found %d adapters", - found_adapters); - } - - return 0; + return pci_register_driver(&esas2r_pci_driver); } /* Handle ioctl calls to "/proc/scsi/esas2r/ATTOnode" */ @@ -753,18 +701,6 @@ int esas2r_show_info(struct seq_file *m, struct Scsi_Host *sh) } -int esas2r_release(struct Scsi_Host *sh) -{ - esas2r_log_dev(ESAS2R_LOG_INFO, &(sh->shost_gendev), - "esas2r_release() called"); - - esas2r_cleanup(sh); - if (sh->irq) - free_irq(sh->irq, NULL); - scsi_unregister(sh); - return 0; -} - const char *esas2r_info(struct Scsi_Host *sh) { struct esas2r_adapter *a = (struct esas2r_adapter *)sh->hostdata; |