Re: [PATCH net-next 4/4] checkpatch: check for comment explaining rgmii(|-rxid|-txid) PHY modes

From: Matthias Schiffer
Date: Tue Apr 15 2025 - 09:36:30 EST


On Tue, 2025-04-15 at 15:20 +0200, Andrew Lunn wrote:
>
> > + **UNCOMMENTED_RGMII_MODE**
> > + Historially, the RGMII PHY modes specified in Device Trees have been
> > + used inconsistently, often referring to the usage of delays on the PHY
> > + side rather than describing the board.
> > +
> > + PHY modes "rgmii", "rgmii-rxid" and "rgmii-txid" modes require the clock
> > + signal to be delayed on the PCB; this unusual configuration should be
> > + described in a comment. If they are not (meaning that the delay is realized
> > + internally in the MAC or PHY), "rgmii-id" is the correct PHY mode.
>
> It is unclear to me how much ctx_has_comment() will return. Maybe
> include an example here of how it should look. I'm assuming:
>
> /* RGMII delays added via PCB traces */
> &enet2 {
> phy-mode = "rgmii";
> status = "okay";
>
> fails, but
>
> &enet2 {
> /* RGMII delays added via PCB traces */
> phy-mode = "rgmii";
> status = "okay";
>
> passes?

Yes, it works like that. I can't claim to fully understand the checkpatch code
handling comments, but I copied it from other similar checks and tested it on a
few test patches.

One thing to note is that I implemented it as a CHK() and not a WARN() because
that's what is used for other comment checks like DATA_RACE - meaning it will
only trigger with --strict.


>
> >
> > Commit message
> > --------------
> > diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
> > index 784912f570e9d..57fcbd4b63ede 100755
> > --- a/scripts/checkpatch.pl
> > +++ b/scripts/checkpatch.pl
> > @@ -3735,6 +3735,17 @@ sub process {
> > }
> > }
> >
> > +# Check for RGMII phy-mode with delay on PCB
> > + if ($realfile =~ /\.dtsi?$/ && $line =~ /^\+\s*(phy-mode|phy-connection-type)\s*=\s*"/ &&
>
> I don't grok perl. Is this only looking a dtsi files? .dts files
> should also be checked.

It is a regular expression - the ? makes the previous character optional,
matching both .dts and .dtsi files.

Best,
Matthias


>
> Thanks for working on this, it will be very useful.
>
> Andrew

--
TQ-Systems GmbH | Mühlstraße 2, Gut Delling | 82229 Seefeld, Germany
Amtsgericht München, HRB 105018
Geschäftsführer: Detlef Schneider, Rüdiger Stahl, Stefan Schneider
https://www.tq-group.com/