diff options
Diffstat (limited to 'drivers/scsi/isci/host.h')
-rw-r--r-- | drivers/scsi/isci/host.h | 32 |
1 files changed, 12 insertions, 20 deletions
diff --git a/drivers/scsi/isci/host.h b/drivers/scsi/isci/host.h index ec0bba5367ba..062101a39f79 100644 --- a/drivers/scsi/isci/host.h +++ b/drivers/scsi/isci/host.h @@ -416,33 +416,25 @@ static inline struct device *scirdev_to_dev(struct isci_remote_device *idev) return &idev->isci_port->isci_host->pdev->dev; } -enum { - ISCI_SI_REVA0, - ISCI_SI_REVA2, - ISCI_SI_REVB0, - ISCI_SI_REVC0 -}; - -extern int isci_si_rev; - -static inline bool is_a0(void) -{ - return isci_si_rev == ISCI_SI_REVA0; -} - -static inline bool is_a2(void) +static inline bool is_a2(struct pci_dev *pdev) { - return isci_si_rev == ISCI_SI_REVA2; + if (pdev->revision < 4) + return true; + return false; } -static inline bool is_b0(void) +static inline bool is_b0(struct pci_dev *pdev) { - return isci_si_rev == ISCI_SI_REVB0; + if (pdev->revision == 4) + return true; + return false; } -static inline bool is_c0(void) +static inline bool is_c0(struct pci_dev *pdev) { - return isci_si_rev > ISCI_SI_REVB0; + if (pdev->revision >= 5) + return true; + return false; } void sci_controller_post_request(struct isci_host *ihost, |