Subject: Re: [PATCH] net: phy: motorcomm: Fix the issue in the code regarding the incorrect use of time units

From: Yi Cong <[email-masked]>
Date: Tue, 28 Oct 2025 14:21:10 +0800

On Tue, 28 Oct 2025 03:51:04 +0100, Andrew Lunn <[email-masked]> wrote:
>
> On Tue, Oct 28, 2025 at 09:59:23AM +0800, Yi Cong wrote:
> > From: Yi Cong <[email-masked]>
> >
> > Currently, NS (nanoseconds) is being used, but according to the datasheet,
> > the correct unit should be PS (picoseconds).
> >
> > Fixes: 4869a146cd60 ("net: phy: Add BIT macro for Motorcomm yt8521/yt8531 gigabit ethernet phy")
> > Cc: [email-masked]
> > Signed-off-by: Yi Cong <[email-masked]>
> > ---
> >  drivers/net/phy/motorcomm.c | 102 ++++++++++++++++++------------------
> >  1 file changed, 51 insertions(+), 51 deletions(-)
> >
> > diff --git a/drivers/net/phy/motorcomm.c b/drivers/net/phy/motorcomm.c
> > index a3593e663059..81491c71e75b 100644
> > --- a/drivers/net/phy/motorcomm.c
> > +++ b/drivers/net/phy/motorcomm.c
> > @@ -171,7 +171,7 @@
> >   * 1b1 enable 1.9ns rxc clock delay
> >   */
> >  #define YT8521_CCR_RXC_DLY_EN			BIT(8)
> > -#define YT8521_CCR_RXC_DLY_1_900_NS		1900
> > +#define YT8521_CCR_RXC_DLY_1_900_PS		1900
>
> This could be down to interpretation.
>
> #define YT8521_CCR_RXC_DLY_1.900_NS		1900
>
> would be technically correct, but not valid for cpp(1). So the . is
> replaced with a _ .
>
> #define YT8521_CCR_RXC_DLY_1900_PS		1900
>
> would also be correct, but that is not what you have in your patch,
> you leave the _ in place.

Alright, I didn't realize that 1_950 represents 1.950;
I thought the underscores were used for code neatness,
making numbers like 900 and 1050 the same length, for example:
#define YT8521_RC1R_RGMII_0_900_PS
#define YT8521_RC1R_RGMII_1_050_PS

In that case, is my patch still necessary?
Or should I instead follow your suggestion above and change them to something like:
#define YT8521_RC1R_RGMII_900_PS
#define YT8521_RC1R_RGMII_1050_PS

Regards,
    Yi Cong