From dc00c8b6940aa10ab1ce6a4d10b1bfe7b848781b Mon Sep 17 00:00:00 2001 From: Dan Williams Date: Fri, 1 Jul 2011 11:41:21 -0700 Subject: isci: cleanup silicon revision detection Perform checking per-pci device (even though all systems will only have 1 pci device in this generation), and delete support for silicon that does not report a proper revision (i.e. A0). Reported-by: Christoph Hellwig Signed-off-by: Dan Williams --- drivers/scsi/isci/host.h | 32 ++++++++++++-------------------- 1 file changed, 12 insertions(+), 20 deletions(-) (limited to 'drivers/scsi/isci/host.h') 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, -- cgit v1.2.3