[net-next PATCH v3 3/3] net: phy: Add Airoha AN8855 Internal Switch Gigabit PHY
Christian Marangi
ansuelsmth at gmail.com
Wed Nov 6 10:04:09 PST 2024
On Wed, Nov 06, 2024 at 03:54:58PM +0100, Maxime Chevallier wrote:
> Hello Christian,
>
> On Wed, 6 Nov 2024 13:22:38 +0100
> Christian Marangi <ansuelsmth at gmail.com> wrote:
>
> > Add support for Airoha AN8855 Internal Switch Gigabit PHY.
> >
> > This is a simple PHY driver to configure and calibrate the PHY for the
> > AN8855 Switch with the use of NVMEM cells.
> >
> > Signed-off-by: Christian Marangi <ansuelsmth at gmail.com>
>
> [...]
>
> > +static int an8855_get_downshift(struct phy_device *phydev, u8 *data)
> > +{
> > + int saved_page;
> > + int val;
> > + int ret;
> > +
> > + saved_page = phy_select_page(phydev, AN8855_PHY_PAGE_EXTENDED_1);
> > + if (saved_page >= 0)
> > + val = __phy_read(phydev, AN8855_PHY_EXT_REG_14);
> > + ret = phy_restore_page(phydev, saved_page, val);
>
> I think this can be replaced with phy_read_paged()
>
> [...]
>
> > +static int an8855_set_downshift(struct phy_device *phydev, u8 cnt)
> > +{
> > + int saved_page;
> > + int ret;
> > +
> > + saved_page = phy_select_page(phydev, AN8855_PHY_PAGE_EXTENDED_1);
> > + if (saved_page >= 0) {
> > + if (cnt != DOWNSHIFT_DEV_DISABLE)
> > + ret = __phy_set_bits(phydev, AN8855_PHY_EXT_REG_14,
> > + AN8855_PHY_EN_DOWN_SHFIT);
> > + else
> > + ret = __phy_clear_bits(phydev, AN8855_PHY_EXT_REG_14,
> > + AN8855_PHY_EN_DOWN_SHFIT);
> > + }
> > +
> > + return phy_restore_page(phydev, saved_page, ret);
>
> And this by phy_modify_paged() :)
>
Didn't notice those, even better! Thanks!
--
Ansuel
More information about the Linux-mediatek
mailing list