]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
net: stmmac: qcom-ethqos: use u32 for rgmii read/write/update
authorRussell King (Oracle) <rmk+kernel@armlinux.org.uk>
Thu, 20 Nov 2025 11:25:16 +0000 (11:25 +0000)
committerJakub Kicinski <kuba@kernel.org>
Sat, 22 Nov 2025 02:13:44 +0000 (18:13 -0800)
readl() returns a u32, and writel() takes a "u32" for the value. These
are used in rgmii_readl()() and rgmii_writel(), but the value and
return are "int". As these are 32-bit register values which are not
signed, use "u32".

These changes do not cause generated code changes.

Update rgmii_updatel() to use u32 for mask and val. Changing "mask"
to "u32" also does not cause generated code changes. However, changing
"val" causes the generated assembly to be re-ordered for aarch64.

Update the temporary variables used with the rgmii functions to use
u32.

Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Link: https://patch.msgid.link/E1vM2mq-0000000FRTi-3y5F@rmk-PC.armlinux.org.uk
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c

index 1a616a71c36ace29a74a0aa23fc8173443aa49a5..ae3cf163005be0db45624eec9ca56bff3b92f112 100644 (file)
@@ -116,21 +116,21 @@ struct qcom_ethqos {
        bool needs_sgmii_loopback;
 };
 
-static int rgmii_readl(struct qcom_ethqos *ethqos, unsigned int offset)
+static u32 rgmii_readl(struct qcom_ethqos *ethqos, unsigned int offset)
 {
        return readl(ethqos->rgmii_base + offset);
 }
 
-static void rgmii_writel(struct qcom_ethqos *ethqos,
-                        int value, unsigned int offset)
+static void rgmii_writel(struct qcom_ethqos *ethqos, u32 value,
+                        unsigned int offset)
 {
        writel(value, ethqos->rgmii_base + offset);
 }
 
-static void rgmii_updatel(struct qcom_ethqos *ethqos,
-                         int mask, int val, unsigned int offset)
+static void rgmii_updatel(struct qcom_ethqos *ethqos, u32 mask, u32 val,
+                         unsigned int offset)
 {
-       unsigned int temp;
+       u32 temp;
 
        temp = rgmii_readl(ethqos, offset);
        temp = (temp & ~(mask)) | val;
@@ -300,8 +300,8 @@ static const struct ethqos_emac_driver_data emac_v4_0_0_data = {
 static int ethqos_dll_configure(struct qcom_ethqos *ethqos)
 {
        struct device *dev = &ethqos->pdev->dev;
-       unsigned int val;
        int retry = 1000;
+       u32 val;
 
        /* Set CDR_EN */
        rgmii_updatel(ethqos, SDCC_DLL_CONFIG_CDR_EN,
@@ -535,7 +535,7 @@ static int ethqos_rgmii_macro_init(struct qcom_ethqos *ethqos, int speed)
 static int ethqos_configure_rgmii(struct qcom_ethqos *ethqos, int speed)
 {
        struct device *dev = &ethqos->pdev->dev;
-       volatile unsigned int dll_lock;
+       volatile u32 dll_lock;
        unsigned int i, retry = 1000;
 
        /* Reset to POR values and enable clk */