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

From: Andrew Lunn
Date: Fri Jan 25 2019 - 10:00:20 EST


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?

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
>