]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
net: stmmac: use BIT_U32() and GENMASK_U32() for PCS registers
authorRussell King (Oracle) <rmk+kernel@armlinux.org.uk>
Sun, 11 Jan 2026 13:15:09 +0000 (13:15 +0000)
committerJakub Kicinski <kuba@kernel.org>
Tue, 13 Jan 2026 03:36:49 +0000 (19:36 -0800)
stmmac registers a 32-bit. u32 is unsigned int. The use of BIT() and
GENMASK() leads to integer promotion to unsigned long in expressions
such as:

u32 old = foo;

dev_info(dev, "%08x %08x\n", old, old & BIT(1));

resulting in arg2 being accepted as compatible with the format string
and arg3 warning that the argument does not match (because the former
is unsigned int, and the latter is unsigned long.)

Fix this by defining 32-bit register bits using BIT_U32() and
GENMASK_U32() macros.

Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
Link: https://patch.msgid.link/E1vevHh-00000002YoM-1TYL@rmk-PC.armlinux.org.uk
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/stmicro/stmmac/stmmac_pcs.h

index cda93894168e21fbb76a0ab1d2875f13882d9346..fd2e2d7d5bd456f8a1cf07d54f498613643ae952 100644 (file)
 #define GMAC_TBI(x)            (x + 0x14)      /* TBI extend status */
 
 /* AN Configuration defines */
-#define GMAC_AN_CTRL_RAN       BIT(9)  /* Restart Auto-Negotiation */
-#define GMAC_AN_CTRL_ANE       BIT(12) /* Auto-Negotiation Enable */
-#define GMAC_AN_CTRL_ELE       BIT(14) /* External Loopback Enable */
-#define GMAC_AN_CTRL_ECD       BIT(16) /* Enable Comma Detect */
-#define GMAC_AN_CTRL_LR                BIT(17) /* Lock to Reference */
-#define GMAC_AN_CTRL_SGMRAL    BIT(18) /* SGMII RAL Control */
+#define GMAC_AN_CTRL_RAN       BIT_U32(9)      /* Restart Auto-Negotiation */
+#define GMAC_AN_CTRL_ANE       BIT_U32(12)     /* Auto-Negotiation Enable */
+#define GMAC_AN_CTRL_ELE       BIT_U32(14)     /* External Loopback Enable */
+#define GMAC_AN_CTRL_ECD       BIT_U32(16)     /* Enable Comma Detect */
+#define GMAC_AN_CTRL_LR                BIT_U32(17)     /* Lock to Reference */
+#define GMAC_AN_CTRL_SGMRAL    BIT_U32(18)     /* SGMII RAL Control */
 
 /* AN Status defines */
-#define GMAC_AN_STATUS_LS      BIT(2)  /* Link Status 0:down 1:up */
-#define GMAC_AN_STATUS_ANA     BIT(3)  /* Auto-Negotiation Ability */
-#define GMAC_AN_STATUS_ANC     BIT(5)  /* Auto-Negotiation Complete */
-#define GMAC_AN_STATUS_ES      BIT(8)  /* Extended Status */
+#define GMAC_AN_STATUS_LS      BIT_U32(2)      /* Link Status 0:down 1:up */
+#define GMAC_AN_STATUS_ANA     BIT_U32(3)      /* Auto-Negotiation Ability */
+#define GMAC_AN_STATUS_ANC     BIT_U32(5)      /* Auto-Negotiation Complete */
+#define GMAC_AN_STATUS_ES      BIT_U32(8)      /* Extended Status */
 
 /* ADV and LPA defines */
-#define GMAC_ANE_FD            BIT(5)
-#define GMAC_ANE_HD            BIT(6)
-#define GMAC_ANE_PSE           GENMASK(8, 7)
+#define GMAC_ANE_FD            BIT_U32(5)
+#define GMAC_ANE_HD            BIT_U32(6)
+#define GMAC_ANE_PSE           GENMASK_U32(8, 7)
 #define GMAC_ANE_PSE_SHIFT     7
-#define GMAC_ANE_RFE           GENMASK(13, 12)
+#define GMAC_ANE_RFE           GENMASK_U32(13, 12)
 #define GMAC_ANE_RFE_SHIFT     12
-#define GMAC_ANE_ACK           BIT(14)
+#define GMAC_ANE_ACK           BIT_U32(14)
 
 struct stmmac_priv;