[PATCH net-next 3/9] net: phy: mediatek: Move LED helper functions into mtk phy lib
SkyLake Huang (黃啟澤)
SkyLake.Huang at mediatek.com
Sun Oct 6 21:30:08 PDT 2024
On Sun, 2024-10-06 at 23:28 +0200, Andrew Lunn wrote:
>
> External email : Please do not click links or open attachments until
> you have verified the sender or the content.
> > static int mt798x_phy_led_blink_set(struct phy_device *phydev, u8
> index,
> > unsigned long *delay_on,
> > unsigned long *delay_off)
> > {
> > +struct mtk_socphy_priv *priv = phydev->priv;
> > bool blinking = false;
> > int err = 0;
> >
> > -if (index > 1)
> > -return -EINVAL;
> > -
> > -if (delay_on && delay_off && (*delay_on > 0) && (*delay_off > 0))
> {
> > -blinking = true;
> > -*delay_on = 50;
> > -*delay_off = 50;
> > -}
> > +err = mtk_phy_led_num_dly_cfg(index, delay_on, delay_off,
> &blinking);
> > +if (err < 0)
> > +return err;
> >
> > -err = mt798x_phy_hw_led_blink_set(phydev, index, blinking);
> > +err = mtk_phy_hw_led_blink_set(phydev, index, &priv->led_state,
> > + blinking);
> > if (err)
> > return err;
> >
> > -return mt798x_phy_hw_led_on_set(phydev, index, false);
> > +return mtk_phy_hw_led_on_set(phydev, index, &priv->led_state,
> > + MTK_GPHY_LED_ON_MASK, false);
> > }
> >
> > static int mt798x_phy_led_brightness_set(struct phy_device
> *phydev,
> > u8 index, enum led_brightness value)
> > {
> > +struct mtk_socphy_priv *priv = phydev->priv;
> > int err;
> >
> > -err = mt798x_phy_hw_led_blink_set(phydev, index, false);
> > +err = mtk_phy_hw_led_blink_set(phydev, index, &priv->led_state,
> false);
> > if (err)
> > return err;
>
> If this is just moving code into a shared helper library, why is priv
> now needed, when it was not before?
>
> Maybe this needs splitting into two patches, to help explain this
> change.
>
> Andrew
Although this is just "moving code", we need this priv to do some
modification for mt798x_phy_hw_led_blink_set() so that we can move it
to mtk-phy-lib properly.
I was trying to split this patch into two but I'm afraid that will make
this patchset more complex. Is it okay that I add more explanation in
commit message? like:
This patch creates mtk-phy-lib.c & mtk-phy.h and integrates mtk-ge-
soc.c's LED helper functions so that we can use those helper functions
in other MTK's ethernet phy driver.
We need private data passed to
- mtk_phy_hw_led_on_set()
- mtk_phy_hw_led_blink_set()
- mtk_phy_led_hw_ctrl_get()
- mtk_phy_led_hw_ctrl_set()
to make sure these helper functions can be used in both mtk-ge-soc.c &
mtk-ge.c.
BRs,
Sky
More information about the Linux-mediatek
mailing list