]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
igb: Use PCI Express Capability accessors
authorJiang Liu <jiang.liu@huawei.com>
Mon, 20 Aug 2012 19:32:20 +0000 (13:32 -0600)
committerBjorn Helgaas <bhelgaas@google.com>
Thu, 23 Aug 2012 16:11:13 +0000 (10:11 -0600)
Use PCI Express Capability access functions to simplify igb driver.

[bhelgaas: split e1000e and igb into separate patches]
Signed-off-by: Jiang Liu <jiang.liu@huawei.com>
Signed-off-by: Yijing Wang <wangyijing@huawei.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ethernet/intel/igb/igb_main.c

index b7c2d5050572828c8d07e228b2e44235e9f01801..9a379d9c07fa4ae64ecae80119b1e3c4c7c361ab 100644 (file)
@@ -6539,28 +6539,20 @@ static int igb_ioctl(struct net_device *netdev, struct ifreq *ifr, int cmd)
 s32 igb_read_pcie_cap_reg(struct e1000_hw *hw, u32 reg, u16 *value)
 {
        struct igb_adapter *adapter = hw->back;
-       u16 cap_offset;
 
-       cap_offset = adapter->pdev->pcie_cap;
-       if (!cap_offset)
+       if (pcie_capability_read_word(adapter->pdev, reg, value))
                return -E1000_ERR_CONFIG;
 
-       pci_read_config_word(adapter->pdev, cap_offset + reg, value);
-
        return 0;
 }
 
 s32 igb_write_pcie_cap_reg(struct e1000_hw *hw, u32 reg, u16 *value)
 {
        struct igb_adapter *adapter = hw->back;
-       u16 cap_offset;
 
-       cap_offset = adapter->pdev->pcie_cap;
-       if (!cap_offset)
+       if (pcie_capability_write_word(adapter->pdev, reg, *value))
                return -E1000_ERR_CONFIG;
 
-       pci_write_config_word(adapter->pdev, cap_offset + reg, *value);
-
        return 0;
 }