aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/isci/init.c
diff options
context:
space:
mode:
authorDan Williams <dan.j.williams@intel.com>2012-02-25 17:29:49 -0500
committerDan Williams <dan.j.williams@intel.com>2012-05-17 15:27:13 -0400
commitd1dc5e2d21a55538167d7ce82aa147c91c5e6788 (patch)
treeb63ebbe0267506d1f355a987229ea18cd0807670 /drivers/scsi/isci/init.c
parent2396a2650a5a39634e3ad6b29e1104944e5ab88f (diff)
isci: kill isci_host.shost
We can retrieve the shost from the sas_ha like the rest of libsas and drop this out of our local data structure. Acked-by: Jacek Danecki <jacek.danecki@intel.com> Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Diffstat (limited to 'drivers/scsi/isci/init.c')
-rw-r--r--drivers/scsi/isci/init.c16
1 files changed, 7 insertions, 9 deletions
diff --git a/drivers/scsi/isci/init.c b/drivers/scsi/isci/init.c
index eda43851cc98..fdae42f572b6 100644
--- a/drivers/scsi/isci/init.c
+++ b/drivers/scsi/isci/init.c
@@ -271,13 +271,12 @@ static void isci_unregister(struct isci_host *isci_host)
271 if (!isci_host) 271 if (!isci_host)
272 return; 272 return;
273 273
274 shost = isci_host->shost;
275
276 sas_unregister_ha(&isci_host->sas_ha); 274 sas_unregister_ha(&isci_host->sas_ha);
277 275
278 sas_remove_host(isci_host->shost); 276 shost = to_shost(isci_host);
279 scsi_remove_host(isci_host->shost); 277 sas_remove_host(shost);
280 scsi_host_put(isci_host->shost); 278 scsi_remove_host(shost);
279 scsi_host_put(shost);
281} 280}
282 281
283static int __devinit isci_pci_init(struct pci_dev *pdev) 282static int __devinit isci_pci_init(struct pci_dev *pdev)
@@ -578,7 +577,6 @@ static struct isci_host *isci_host_alloc(struct pci_dev *pdev, int id)
578 shost = scsi_host_alloc(&isci_sht, sizeof(void *)); 577 shost = scsi_host_alloc(&isci_sht, sizeof(void *));
579 if (!shost) 578 if (!shost)
580 return NULL; 579 return NULL;
581 ihost->shost = shost;
582 580
583 dev_info(&pdev->dev, "%sSCU controller %d: phy 3-0 cables: " 581 dev_info(&pdev->dev, "%sSCU controller %d: phy 3-0 cables: "
584 "{%s, %s, %s, %s}\n", 582 "{%s, %s, %s, %s}\n",
@@ -690,11 +688,11 @@ static int __devinit isci_pci_probe(struct pci_dev *pdev, const struct pci_devic
690 pci_info->hosts[i] = h; 688 pci_info->hosts[i] = h;
691 689
692 /* turn on DIF support */ 690 /* turn on DIF support */
693 scsi_host_set_prot(h->shost, 691 scsi_host_set_prot(to_shost(h),
694 SHOST_DIF_TYPE1_PROTECTION | 692 SHOST_DIF_TYPE1_PROTECTION |
695 SHOST_DIF_TYPE2_PROTECTION | 693 SHOST_DIF_TYPE2_PROTECTION |
696 SHOST_DIF_TYPE3_PROTECTION); 694 SHOST_DIF_TYPE3_PROTECTION);
697 scsi_host_set_guard(h->shost, SHOST_DIX_GUARD_CRC); 695 scsi_host_set_guard(to_shost(h), SHOST_DIX_GUARD_CRC);
698 } 696 }
699 697
700 err = isci_setup_interrupts(pdev); 698 err = isci_setup_interrupts(pdev);
@@ -702,7 +700,7 @@ static int __devinit isci_pci_probe(struct pci_dev *pdev, const struct pci_devic
702 goto err_host_alloc; 700 goto err_host_alloc;
703 701
704 for_each_isci_host(i, isci_host, pdev) 702 for_each_isci_host(i, isci_host, pdev)
705 scsi_scan_host(isci_host->shost); 703 scsi_scan_host(to_shost(isci_host));
706 704
707 return 0; 705 return 0;
708 706