checkpatch: check for comment explaining rgmii(|-rxid|-txid) PHY modes

Historically, 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; many drivers still implement this
incorrectly.

Require a comment in Devices Trees using these modes (usually mentioning
that the delay is realized on the PCB), so we can avoid adding more
incorrect uses (or will at least notice which drivers still need to be
fixed).

Suggested-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Matthias Schiffer <matthias.schiffer@ew.tq-group.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Link: https://patch.msgid.link/bc112b8aa510cf9df9ab33178d122f234d0aebf7.1750756583.git.matthias.schiffer@ew.tq-group.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
This commit is contained in:
Matthias Schiffer
2025-06-24 12:53:34 +02:00
committed by Paolo Abeni
parent ca13b249f2
commit e02adac7c8
2 changed files with 21 additions and 0 deletions

View File

@@ -3741,6 +3741,18 @@ sub process {
}
}
# Check for RGMII phy-mode with delay on PCB
if ($realfile =~ /\.(dts|dtsi|dtso)$/ &&
$line =~ /^\+\s*(phy-mode|phy-connection-type)\s*=\s*"/ &&
!ctx_has_comment($first_line, $linenr)) {
my $prop = $1;
my $mode = get_quoted_string($line, $rawline);
if ($mode =~ /^"rgmii(?:|-rxid|-txid)"$/) {
WARN("UNCOMMENTED_RGMII_MODE",
"$prop $mode without comment -- delays on the PCB should be described, otherwise use \"rgmii-id\"\n" . $herecurr);
}
}
# check for using SPDX license tag at beginning of files
if ($realline == $checklicenseline) {
if ($rawline =~ /^[ \+]\s*\#\!\s*\//) {