diff options
author | Alexander Duyck <alexander.h.duyck@intel.com> | 2009-10-05 02:32:27 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-10-06 17:59:18 -0400 |
commit | bf6f7a928d313ddecb0a16ea60fa6b45ac1414a7 (patch) | |
tree | e26e506f81bb02deab334b600930dd86b337fabc /drivers/net/igb/e1000_phy.h | |
parent | 008c3422d48b217792789bdea822dbc2efe2165c (diff) |
igb: add locking to reads of the i2c interface
The current implementation of sgmii support isn't correctly locking the
interfaces for reads/writes. This change pulls the read/write
functionality out of 82575.c and moves it to phy.c. In addition it
replaces the implementation in 82575.c with one that uses locking around
the relocated i2c interface calls.
Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/igb/e1000_phy.h')
-rw-r--r-- | drivers/net/igb/e1000_phy.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/net/igb/e1000_phy.h b/drivers/net/igb/e1000_phy.h index ebe4b616db8a..4c49803eeed9 100644 --- a/drivers/net/igb/e1000_phy.h +++ b/drivers/net/igb/e1000_phy.h | |||
@@ -61,6 +61,8 @@ s32 igb_write_phy_reg_igp(struct e1000_hw *hw, u32 offset, u16 data); | |||
61 | s32 igb_phy_has_link(struct e1000_hw *hw, u32 iterations, | 61 | s32 igb_phy_has_link(struct e1000_hw *hw, u32 iterations, |
62 | u32 usec_interval, bool *success); | 62 | u32 usec_interval, bool *success); |
63 | s32 igb_phy_init_script_igp3(struct e1000_hw *hw); | 63 | s32 igb_phy_init_script_igp3(struct e1000_hw *hw); |
64 | s32 igb_read_phy_reg_i2c(struct e1000_hw *hw, u32 offset, u16 *data); | ||
65 | s32 igb_write_phy_reg_i2c(struct e1000_hw *hw, u32 offset, u16 data); | ||
64 | 66 | ||
65 | /* IGP01E1000 Specific Registers */ | 67 | /* IGP01E1000 Specific Registers */ |
66 | #define IGP01E1000_PHY_PORT_CONFIG 0x10 /* Port Config */ | 68 | #define IGP01E1000_PHY_PORT_CONFIG 0x10 /* Port Config */ |