]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
net: phy: Introduce PHY_ID_SIZE — minimum size for PHY ID string
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Mon, 24 Mar 2025 14:39:29 +0000 (16:39 +0200)
committerJakub Kicinski <kuba@kernel.org>
Tue, 25 Mar 2025 21:35:31 +0000 (14:35 -0700)
The PHY_ID_FMT defines the format specifier "%s:%02x" to form
the PHY ID string, where the maximum of the first part is defined
in MII_BUS_ID_SIZE, including NUL terminator, and the second part
is implied to be 3 as the maximum address is limited to 32, meaning
that 2 hex digits is more than enough, plus ':' (colon) delimiter.
However, some drivers, which are using PHY_ID_FMT, customise buffer
size and do that incorrectly. Introduce a new constant PHY_ID_SIZE
that makes the minimum required size explicit, so drivers are
encouraged to use it.

Suggested-by: "Russell King (Oracle)" <linux@armlinux.org.uk>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
Link: https://patch.msgid.link/20250324144751.1271761-2-andriy.shevchenko@linux.intel.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
include/linux/phy.h

index bfdbdc5389107cf5fe6150191c4b31787047739d..a2bfae80c44975db013760413867cebdf20c8216 100644 (file)
@@ -292,6 +292,7 @@ static inline long rgmii_clock(int speed)
 
 /* Used when trying to connect to a specific phy (mii bus id:phy device id) */
 #define PHY_ID_FMT "%s:%02x"
+#define PHY_ID_SIZE    (MII_BUS_ID_SIZE + 3)
 
 #define MII_BUS_ID_SIZE        61