mirror of https://gitee.com/openkylin/linux.git
igb: Use PCI Express Capability accessors
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>
This commit is contained in:
parent
f8c0fcacfe
commit
23d028cc86
|
@ -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)
|
s32 igb_read_pcie_cap_reg(struct e1000_hw *hw, u32 reg, u16 *value)
|
||||||
{
|
{
|
||||||
struct igb_adapter *adapter = hw->back;
|
struct igb_adapter *adapter = hw->back;
|
||||||
u16 cap_offset;
|
|
||||||
|
|
||||||
cap_offset = adapter->pdev->pcie_cap;
|
if (pcie_capability_read_word(adapter->pdev, reg, value))
|
||||||
if (!cap_offset)
|
|
||||||
return -E1000_ERR_CONFIG;
|
return -E1000_ERR_CONFIG;
|
||||||
|
|
||||||
pci_read_config_word(adapter->pdev, cap_offset + reg, value);
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
s32 igb_write_pcie_cap_reg(struct e1000_hw *hw, u32 reg, u16 *value)
|
s32 igb_write_pcie_cap_reg(struct e1000_hw *hw, u32 reg, u16 *value)
|
||||||
{
|
{
|
||||||
struct igb_adapter *adapter = hw->back;
|
struct igb_adapter *adapter = hw->back;
|
||||||
u16 cap_offset;
|
|
||||||
|
|
||||||
cap_offset = adapter->pdev->pcie_cap;
|
if (pcie_capability_write_word(adapter->pdev, reg, *value))
|
||||||
if (!cap_offset)
|
|
||||||
return -E1000_ERR_CONFIG;
|
return -E1000_ERR_CONFIG;
|
||||||
|
|
||||||
pci_write_config_word(adapter->pdev, cap_offset + reg, *value);
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue