Re: [PATCH] net: phy: at803x: Use helpers to access MMD PHY registers

From: Heiner Kallweit
Date: Fri Jan 25 2019 - 13:11:40 EST


On 25.01.2019 16:00, Andrew Lunn wrote:
> On Fri, Jan 25, 2019 at 12:35:10PM +0000, Carlo Caione wrote:
>> Libphy provides a standard set of helpers to access the MMD PHY
>> registers. Use those instead of relying on custom driver-specific
>> functions.
>
> Hi Carlo
>
> Maybe deja vu, but i thought a similar patch went by recently?
>
Andrew, maybe you mean this one?

9b420eff9fcf ("net: phy: micrel: use phy_read_mmd and phy_write_mmd")

> Anyway,
>
> Reviewed-by: Andrew Lunn <andrew@xxxxxxx>
>
> Andrew
>
>>
>> Signed-off-by: Carlo Caione <ccaione@xxxxxxxxxxxx>
>> ---
>> drivers/net/phy/at803x.c | 16 +++-------------
>> 1 file changed, 3 insertions(+), 13 deletions(-)
>>
>> diff --git a/drivers/net/phy/at803x.c b/drivers/net/phy/at803x.c
>> index f9432d053a22..23ba76f8d950 100644
>> --- a/drivers/net/phy/at803x.c
>> +++ b/drivers/net/phy/at803x.c
>> @@ -39,9 +39,6 @@
>> #define AT803X_LOC_MAC_ADDR_0_15_OFFSET 0x804C
>> #define AT803X_LOC_MAC_ADDR_16_31_OFFSET 0x804B
>> #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_BT_BX_REG_SEL 0x8000
>>
>> @@ -168,16 +165,9 @@ static int at803x_set_wol(struct phy_device *phydev,
>> if (!is_valid_ether_addr(mac))
>> return -EINVAL;
>>
>> - for (i = 0; i < 3; i++) {
>> - phy_write(phydev, AT803X_MMD_ACCESS_CONTROL,
>> - AT803X_DEVICE_ADDR);
>> - 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));
>> - }
>> + for (i = 0; i < 3; i++)
>> + phy_write_mmd(phydev, AT803X_DEVICE_ADDR, offsets[i],
>> + mac[(i * 2) + 1] | (mac[(i * 2)] << 8));
>>
>> value = phy_read(phydev, AT803X_INTR_ENABLE);
>> value |= AT803X_INTR_ENABLE_WOL;
>> --
>> 2.19.1
>>
> .
>