From: Xiang Chen chenxiang66@hisilicon.com
Use managed pci functions such as pcim_enable_device() and pcim_iomap_regions() to simplify exception handling code.
Signed-off-by: Xiang Chen chenxiang66@hisilicon.com --- drivers/scsi/hisi_sas/hisi_sas_v3_hw.c | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-)
diff --git a/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c b/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c index e954083..e4b31b1 100644 --- a/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c +++ b/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c @@ -518,6 +518,8 @@ struct hisi_sas_err_record_v3 { #define CHNL_INT_STS_INT2_MSK BIT(3) #define CHNL_WIDTH 4
+#define BAR_NO_V3_HW 5 + enum { DSM_FUNC_ERR_HANDLE_MSI = 0, }; @@ -4675,15 +4677,15 @@ hisi_sas_v3_probe(struct pci_dev *pdev, const struct pci_device_id *id) struct sas_ha_struct *sha; int rc, phy_nr, port_nr, i;
- rc = pci_enable_device(pdev); + rc = pcim_enable_device(pdev); if (rc) goto err_out;
pci_set_master(pdev);
- rc = pci_request_regions(pdev, DRV_NAME); + rc = pcim_iomap_regions(pdev, 1 << BAR_NO_V3_HW, DRV_NAME); if (rc) - goto err_out_disable_device; + goto err_out;
rc = dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(64)); if (rc) @@ -4691,20 +4693,20 @@ hisi_sas_v3_probe(struct pci_dev *pdev, const struct pci_device_id *id) if (rc) { dev_err(dev, "No usable DMA addressing method\n"); rc = -ENODEV; - goto err_out_regions; + goto err_out; }
shost = hisi_sas_shost_alloc_pci(pdev); if (!shost) { rc = -ENOMEM; - goto err_out_regions; + goto err_out; }
sha = SHOST_TO_SAS_HA(shost); hisi_hba = shost_priv(shost); dev_set_drvdata(dev, sha);
- hisi_hba->regs = pcim_iomap(pdev, 5, 0); + hisi_hba->regs = pcim_iomap_table(pdev)[BAR_NO_V3_HW]; if (!hisi_hba->regs) { dev_err(dev, "cannot map register\n"); rc = -ENOMEM; @@ -4798,10 +4800,6 @@ hisi_sas_v3_probe(struct pci_dev *pdev, const struct pci_device_id *id) err_out_ha: hisi_sas_free(hisi_hba); scsi_host_put(shost); -err_out_regions: - pci_release_regions(pdev); -err_out_disable_device: - pci_disable_device(pdev); err_out: return rc; } @@ -4839,8 +4837,6 @@ static void hisi_sas_v3_remove(struct pci_dev *pdev) sas_remove_host(sha->core.shost);
hisi_sas_v3_destroy_irqs(pdev, hisi_hba); - pci_release_regions(pdev); - pci_disable_device(pdev); hisi_sas_free(hisi_hba); debugfs_exit_v3_hw(hisi_hba); scsi_host_put(shost);
On 01/07/2021 03:49, chenxiang wrote:
From: Xiang Chenchenxiang66@hisilicon.com
Use managed pci functions such as pcim_enable_device() and pcim_iomap_regions() to simplify exception handling code.
Signed-off-by: Xiang Chenchenxiang66@hisilicon.com
Can you please send a patch versus the 5.13 branch? Or is it a typo to write 5.12?
Thanks, John
在 2021/7/1 15:54, John Garry 写道:
On 01/07/2021 03:49, chenxiang wrote:
From: Xiang Chenchenxiang66@hisilicon.com
Use managed pci functions such as pcim_enable_device() and pcim_iomap_regions() to simplify exception handling code.
Signed-off-by: Xiang Chenchenxiang66@hisilicon.com
Can you please send a patch versus the 5.13 branch? Or is it a typo to write 5.12?
Recently there is something wrong with kernel-dev repo, and i can't git pull it now. I will resend a patch based on mainline 5.13 branch.
Thanks, John
.
在 2021/7/1 17:22, chenxiang (M) 写道:
在 2021/7/1 15:54, John Garry 写道:
On 01/07/2021 03:49, chenxiang wrote:
From: Xiang Chenchenxiang66@hisilicon.com
Use managed pci functions such as pcim_enable_device() and pcim_iomap_regions() to simplify exception handling code.
Signed-off-by: Xiang Chenchenxiang66@hisilicon.com
Can you please send a patch versus the 5.13 branch? Or is it a typo to write 5.12?
Recently there is something wrong with kernel-dev repo, and i can't git pull it now. I will resend a patch based on mainline 5.13 branch.
In other server, i can git pull it, so i will still resend a patch base on topic-sas-5.13.
Thanks, John
.
Linuxarm mailing list -- linuxarm@openeuler.org To unsubscribe send an email to linuxarm-leave@openeuler.org