Several more network drivers that read the device's revision ID
from the PCI configuration register were merged after the commit
44c10138fd4bbc4b6d6bff0873c24902f2a9da65 (PCI: Change all drivers
to use pci_device->revision), so it's time to do another pass of
conversion to using the 'revision' field of 'struct pci_dev'...

Signed-off-by: Sergei Shtylyov <sshtyl...@ru.mvista.com>

---
The patch is against the recent Linus' tree.

 drivers/net/atl1e/atl1e_main.c          |    2 +-
 drivers/net/atlx/atl2.c                 |    2 +-
 drivers/net/cnic.c                      |   14 +++++---------
 drivers/net/e1000e/ethtool.c            |    6 ++----
 drivers/net/igbvf/ethtool.c             |    6 ++----
 drivers/net/igbvf/netdev.c              |    3 +--
 drivers/net/ipg.c                       |    4 +---
 drivers/net/ixgbevf/ixgbevf_main.c      |    2 +-
 drivers/net/jme.c                       |    2 +-
 drivers/net/vxge/vxge-main.c            |   18 +-----------------
 drivers/net/wireless/iwlwifi/iwl-3945.c |    4 +---
 drivers/net/wireless/iwlwifi/iwl-agn.c  |    2 +-
 drivers/net/wireless/rtlwifi/pci.c      |    4 +---
 13 files changed, 19 insertions(+), 50 deletions(-)

Index: linux-2.6/drivers/net/atl1e/atl1e_main.c
===================================================================
--- linux-2.6.orig/drivers/net/atl1e/atl1e_main.c
+++ linux-2.6/drivers/net/atl1e/atl1e_main.c
@@ -547,8 +547,8 @@ static int __devinit atl1e_sw_init(struc
        hw->device_id = pdev->device;
        hw->subsystem_vendor_id = pdev->subsystem_vendor;
        hw->subsystem_id = pdev->subsystem_device;
+       hw->revision_id  = pdev->revision;
 
-       pci_read_config_byte(pdev, PCI_REVISION_ID, &hw->revision_id);
        pci_read_config_word(pdev, PCI_COMMAND, &hw->pci_cmd_word);
 
        phy_status_data = AT_READ_REG(hw, REG_PHY_STATUS);
Index: linux-2.6/drivers/net/atlx/atl2.c
===================================================================
--- linux-2.6.orig/drivers/net/atlx/atl2.c
+++ linux-2.6/drivers/net/atlx/atl2.c
@@ -93,8 +93,8 @@ static int __devinit atl2_sw_init(struct
        hw->device_id = pdev->device;
        hw->subsystem_vendor_id = pdev->subsystem_vendor;
        hw->subsystem_id = pdev->subsystem_device;
+       hw->revision_id  = pdev->revision;
 
-       pci_read_config_byte(pdev, PCI_REVISION_ID, &hw->revision_id);
        pci_read_config_word(pdev, PCI_COMMAND, &hw->pci_cmd_word);
 
        adapter->wol = 0;
Index: linux-2.6/drivers/net/cnic.c
===================================================================
--- linux-2.6.orig/drivers/net/cnic.c
+++ linux-2.6/drivers/net/cnic.c
@@ -5264,15 +5264,11 @@ static struct cnic_dev *init_bnx2_cnic(s
 
        dev_hold(dev);
        pci_dev_get(pdev);
-       if (pdev->device == PCI_DEVICE_ID_NX2_5709 ||
-           pdev->device == PCI_DEVICE_ID_NX2_5709S) {
-               u8 rev;
-
-               pci_read_config_byte(pdev, PCI_REVISION_ID, &rev);
-               if (rev < 0x10) {
-                       pci_dev_put(pdev);
-                       goto cnic_err;
-               }
+       if ((pdev->device == PCI_DEVICE_ID_NX2_5709 ||
+            pdev->device == PCI_DEVICE_ID_NX2_5709S) &&
+           (pdev->revision < 0x10)) {
+               pci_dev_put(pdev);
+               goto cnic_err;
        }
        pci_dev_put(pdev);
 
Index: linux-2.6/drivers/net/e1000e/ethtool.c
===================================================================
--- linux-2.6.orig/drivers/net/e1000e/ethtool.c
+++ linux-2.6/drivers/net/e1000e/ethtool.c
@@ -433,13 +433,11 @@ static void e1000_get_regs(struct net_de
        struct e1000_hw *hw = &adapter->hw;
        u32 *regs_buff = p;
        u16 phy_data;
-       u8 revision_id;
 
        memset(p, 0, E1000_REGS_LEN * sizeof(u32));
 
-       pci_read_config_byte(adapter->pdev, PCI_REVISION_ID, &revision_id);
-
-       regs->version = (1 << 24) | (revision_id << 16) | adapter->pdev->device;
+       regs->version = (1 << 24) | (adapter->pdev->revision << 16) |
+                       adapter->pdev->device;
 
        regs_buff[0]  = er32(CTRL);
        regs_buff[1]  = er32(STATUS);
Index: linux-2.6/drivers/net/igbvf/ethtool.c
===================================================================
--- linux-2.6.orig/drivers/net/igbvf/ethtool.c
+++ linux-2.6/drivers/net/igbvf/ethtool.c
@@ -201,13 +201,11 @@ static void igbvf_get_regs(struct net_de
        struct igbvf_adapter *adapter = netdev_priv(netdev);
        struct e1000_hw *hw = &adapter->hw;
        u32 *regs_buff = p;
-       u8 revision_id;
 
        memset(p, 0, IGBVF_REGS_LEN * sizeof(u32));
 
-       pci_read_config_byte(adapter->pdev, PCI_REVISION_ID, &revision_id);
-
-       regs->version = (1 << 24) | (revision_id << 16) | adapter->pdev->device;
+       regs->version = (1 << 24) | (adapter->pdev->revision << 16) |
+                       adapter->pdev->device;
 
        regs_buff[0] = er32(CTRL);
        regs_buff[1] = er32(STATUS);
Index: linux-2.6/drivers/net/igbvf/netdev.c
===================================================================
--- linux-2.6.orig/drivers/net/igbvf/netdev.c
+++ linux-2.6/drivers/net/igbvf/netdev.c
@@ -2699,8 +2699,7 @@ static int __devinit igbvf_probe(struct 
        hw->device_id = pdev->device;
        hw->subsystem_vendor_id = pdev->subsystem_vendor;
        hw->subsystem_device_id = pdev->subsystem_device;
-
-       pci_read_config_byte(pdev, PCI_REVISION_ID, &hw->revision_id);
+       hw->revision_id = pdev->revision;
 
        err = -EIO;
        adapter->hw.hw_addr = ioremap(pci_resource_start(pdev, 0),
Index: linux-2.6/drivers/net/ipg.c
===================================================================
--- linux-2.6.orig/drivers/net/ipg.c
+++ linux-2.6/drivers/net/ipg.c
@@ -2025,7 +2025,6 @@ static void ipg_init_mii(struct net_devi
 
        if (phyaddr != 0x1f) {
                u16 mii_phyctrl, mii_1000cr;
-               u8 revisionid = 0;
 
                mii_1000cr  = mdio_read(dev, phyaddr, MII_CTRL1000);
                mii_1000cr |= ADVERTISE_1000FULL | ADVERTISE_1000HALF |
@@ -2035,8 +2034,7 @@ static void ipg_init_mii(struct net_devi
                mii_phyctrl = mdio_read(dev, phyaddr, MII_BMCR);
 
                /* Set default phyparam */
-               pci_read_config_byte(sp->pdev, PCI_REVISION_ID, &revisionid);
-               ipg_set_phy_default_param(revisionid, dev, phyaddr);
+               ipg_set_phy_default_param(sp->pdev->revision, dev, phyaddr);
 
                /* Reset PHY */
                mii_phyctrl |= BMCR_RESET | BMCR_ANRESTART;
Index: linux-2.6/drivers/net/ixgbevf/ixgbevf_main.c
===================================================================
--- linux-2.6.orig/drivers/net/ixgbevf/ixgbevf_main.c
+++ linux-2.6/drivers/net/ixgbevf/ixgbevf_main.c
@@ -2216,7 +2216,7 @@ static int __devinit ixgbevf_sw_init(str
 
        hw->vendor_id = pdev->vendor;
        hw->device_id = pdev->device;
-       pci_read_config_byte(pdev, PCI_REVISION_ID, &hw->revision_id);
+       hw->revision_id = pdev->revision;
        hw->subsystem_vendor_id = pdev->subsystem_vendor;
        hw->subsystem_device_id = pdev->subsystem_device;
 
Index: linux-2.6/drivers/net/jme.c
===================================================================
--- linux-2.6.orig/drivers/net/jme.c
+++ linux-2.6/drivers/net/jme.c
@@ -2937,7 +2937,7 @@ jme_init_one(struct pci_dev *pdev,
 
        jme_clear_pm(jme);
        jme_set_phyfifoa(jme);
-       pci_read_config_byte(pdev, PCI_REVISION_ID, &jme->rev);
+       jme->rev = pdev->revision;
        if (!jme->fpgaver)
                jme_phy_init(jme);
        jme_phy_off(jme);
Index: linux-2.6/drivers/net/vxge/vxge-main.c
===================================================================
--- linux-2.6.orig/drivers/net/vxge/vxge-main.c
+++ linux-2.6/drivers/net/vxge/vxge-main.c
@@ -3264,19 +3264,6 @@ static const struct net_device_ops vxge_
 #endif
 };
 
-static int __devinit vxge_device_revision(struct vxgedev *vdev)
-{
-       int ret;
-       u8 revision;
-
-       ret = pci_read_config_byte(vdev->pdev, PCI_REVISION_ID, &revision);
-       if (ret)
-               return -EIO;
-
-       vdev->titan1 = (revision == VXGE_HW_TITAN1_PCI_REVISION);
-       return 0;
-}
-
 static int __devinit vxge_device_register(struct __vxge_hw_device *hldev,
                                          struct vxge_config *config,
                                          int high_dma, int no_of_vpath,
@@ -3316,10 +3303,7 @@ static int __devinit vxge_device_registe
        memcpy(&vdev->config, config, sizeof(struct vxge_config));
        vdev->rx_csum = 1;      /* Enable Rx CSUM by default. */
        vdev->rx_hwts = 0;
-
-       ret = vxge_device_revision(vdev);
-       if (ret < 0)
-               goto _out1;
+       vdev->titan1 = (vdev->pdev->revision == VXGE_HW_TITAN1_PCI_REVISION);
 
        SET_NETDEV_DEV(ndev, &vdev->pdev->dev);
 
Index: linux-2.6/drivers/net/wireless/iwlwifi/iwl-3945.c
===================================================================
--- linux-2.6.orig/drivers/net/wireless/iwlwifi/iwl-3945.c
+++ linux-2.6/drivers/net/wireless/iwlwifi/iwl-3945.c
@@ -898,13 +898,11 @@ static void iwl3945_nic_config(struct iw
 {
        struct iwl3945_eeprom *eeprom = (struct iwl3945_eeprom *)priv->eeprom;
        unsigned long flags;
-       u8 rev_id = 0;
+       u8 rev_id = priv->pci_dev->revision;
 
        spin_lock_irqsave(&priv->lock, flags);
 
        /* Determine HW type */
-       pci_read_config_byte(priv->pci_dev, PCI_REVISION_ID, &rev_id);
-
        IWL_DEBUG_INFO(priv, "HW Revision ID = 0x%X\n", rev_id);
 
        if (rev_id & PCI_CFG_REV_ID_BIT_RTP)
Index: linux-2.6/drivers/net/wireless/iwlwifi/iwl-agn.c
===================================================================
--- linux-2.6.orig/drivers/net/wireless/iwlwifi/iwl-agn.c
+++ linux-2.6/drivers/net/wireless/iwlwifi/iwl-agn.c
@@ -3905,7 +3905,7 @@ static void iwl_hw_detect(struct iwl_pri
 {
        priv->hw_rev = _iwl_read32(priv, CSR_HW_REV);
        priv->hw_wa_rev = _iwl_read32(priv, CSR_HW_REV_WA_REG);
-       pci_read_config_byte(priv->pci_dev, PCI_REVISION_ID, &priv->rev_id);
+       priv->rev_id = priv->pci_dev->revision;
        IWL_DEBUG_INFO(priv, "HW Revision ID = 0x%X\n", priv->rev_id);
 }
 
Index: linux-2.6/drivers/net/wireless/rtlwifi/pci.c
===================================================================
--- linux-2.6.orig/drivers/net/wireless/rtlwifi/pci.c
+++ linux-2.6/drivers/net/wireless/rtlwifi/pci.c
@@ -1547,13 +1547,11 @@ static bool _rtl_pci_find_adapter(struct
        struct pci_dev *bridge_pdev = pdev->bus->self;
        u16 venderid;
        u16 deviceid;
-       u8 revisionid;
        u16 irqline;
        u8 tmp;
 
        venderid = pdev->vendor;
        deviceid = pdev->device;
-       pci_read_config_byte(pdev, 0x8, &revisionid);
        pci_read_config_word(pdev, 0x3C, &irqline);
 
        if (deviceid == RTL_PCI_8192_DID ||
@@ -1564,7 +1562,7 @@ static bool _rtl_pci_find_adapter(struct
            deviceid == RTL_PCI_8173_DID ||
            deviceid == RTL_PCI_8172_DID ||
            deviceid == RTL_PCI_8171_DID) {
-               switch (revisionid) {
+               switch (pdev->revision) {
                case RTL_PCI_REVISION_ID_8192PCIE:
                        RT_TRACE(rtlpriv, COMP_INIT, DBG_DMESG,
                                 ("8192 PCI-E is found - "

------------------------------------------------------------------------------
Free Software Download: Index, Search & Analyze Logs and other IT data in 
Real-Time with Splunk. Collect, index and harness all the fast moving IT data 
generated by your applications, servers and devices whether physical, virtual
or in the cloud. Deliver compliance at lower cost and gain new business 
insights. http://p.sf.net/sfu/splunk-dev2dev 
_______________________________________________
E1000-devel mailing list
E1000-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/e1000-devel
To learn more about Intel&#174; Ethernet, visit 
http://communities.intel.com/community/wired

Reply via email to