mirror of
https://github.com/torvalds/linux
synced 2024-09-22 20:37:18 +00:00
net: phy: at803x: Use helpers to access MMD PHY registers
Libphy provides a standard set of helpers to access the MMD PHY registers. Use those instead of relying on custom driver-specific functions. Signed-off-by: Carlo Caione <ccaione@baylibre.com> Reviewed-by: Andrew Lunn <andrew@lunn.ch> Reviewed-by: Florian Fainelli <f.fainelli@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
1d68101367
commit
0e0213965c
|
@ -35,9 +35,6 @@
|
||||||
#define AT803X_LOC_MAC_ADDR_0_15_OFFSET 0x804C
|
#define AT803X_LOC_MAC_ADDR_0_15_OFFSET 0x804C
|
||||||
#define AT803X_LOC_MAC_ADDR_16_31_OFFSET 0x804B
|
#define AT803X_LOC_MAC_ADDR_16_31_OFFSET 0x804B
|
||||||
#define AT803X_LOC_MAC_ADDR_32_47_OFFSET 0x804A
|
#define AT803X_LOC_MAC_ADDR_32_47_OFFSET 0x804A
|
||||||
#define AT803X_MMD_ACCESS_CONTROL 0x0D
|
|
||||||
#define AT803X_MMD_ACCESS_CONTROL_DATA 0x0E
|
|
||||||
#define AT803X_FUNC_DATA 0x4003
|
|
||||||
#define AT803X_REG_CHIP_CONFIG 0x1f
|
#define AT803X_REG_CHIP_CONFIG 0x1f
|
||||||
#define AT803X_BT_BX_REG_SEL 0x8000
|
#define AT803X_BT_BX_REG_SEL 0x8000
|
||||||
|
|
||||||
|
@ -164,16 +161,9 @@ static int at803x_set_wol(struct phy_device *phydev,
|
||||||
if (!is_valid_ether_addr(mac))
|
if (!is_valid_ether_addr(mac))
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
for (i = 0; i < 3; i++) {
|
for (i = 0; i < 3; i++)
|
||||||
phy_write(phydev, AT803X_MMD_ACCESS_CONTROL,
|
phy_write_mmd(phydev, AT803X_DEVICE_ADDR, offsets[i],
|
||||||
AT803X_DEVICE_ADDR);
|
mac[(i * 2) + 1] | (mac[(i * 2)] << 8));
|
||||||
phy_write(phydev, AT803X_MMD_ACCESS_CONTROL_DATA,
|
|
||||||
offsets[i]);
|
|
||||||
phy_write(phydev, AT803X_MMD_ACCESS_CONTROL,
|
|
||||||
AT803X_FUNC_DATA);
|
|
||||||
phy_write(phydev, AT803X_MMD_ACCESS_CONTROL_DATA,
|
|
||||||
mac[(i * 2) + 1] | (mac[(i * 2)] << 8));
|
|
||||||
}
|
|
||||||
|
|
||||||
value = phy_read(phydev, AT803X_INTR_ENABLE);
|
value = phy_read(phydev, AT803X_INTR_ENABLE);
|
||||||
value |= AT803X_INTR_ENABLE_WOL;
|
value |= AT803X_INTR_ENABLE_WOL;
|
||||||
|
|
Loading…
Reference in a new issue