net: phy: at803x: Avoid comparison is always false warning
authorAndrew Lunn <andrew@lunn.ch>
Tue, 7 Jul 2020 01:49:33 +0000 (03:49 +0200)
committerDavid S. Miller <davem@davemloft.net>
Tue, 7 Jul 2020 19:47:10 +0000 (12:47 -0700)
By placing the GENMASK value into an unsigned int and then passing it
to PREF_FIELD, the type is reduces down from ULL. Given the reduced
size of the type, the range checks in PREP_FAIL() are always true, and
-Wtype-limits then gives a warning.

By skipping the intermediate variable, the warning can be avoided.

Reviewed-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/phy/at803x.c

index 97cbe593f0ea69f033fe0f0473abe75abfef110b..96c61aa75bd72e775904ed4294e9df7fbf2115de 100644 (file)
@@ -400,8 +400,8 @@ static int at803x_parse_dt(struct phy_device *phydev)
 {
        struct device_node *node = phydev->mdio.dev.of_node;
        struct at803x_priv *priv = phydev->priv;
-       unsigned int sel, mask;
        u32 freq, strength;
+       unsigned int sel;
        int ret;
 
        if (!IS_ENABLED(CONFIG_OF_MDIO))
@@ -409,7 +409,6 @@ static int at803x_parse_dt(struct phy_device *phydev)
 
        ret = of_property_read_u32(node, "qca,clk-out-frequency", &freq);
        if (!ret) {
-               mask = AT803X_CLK_OUT_MASK;
                switch (freq) {
                case 25000000:
                        sel = AT803X_CLK_OUT_25MHZ_XTAL;
@@ -428,8 +427,8 @@ static int at803x_parse_dt(struct phy_device *phydev)
                        return -EINVAL;
                }
 
-               priv->clk_25m_reg |= FIELD_PREP(mask, sel);
-               priv->clk_25m_mask |= mask;
+               priv->clk_25m_reg |= FIELD_PREP(AT803X_CLK_OUT_MASK, sel);
+               priv->clk_25m_mask |= AT803X_CLK_OUT_MASK;
 
                /* Fixup for the AR8030/AR8035. This chip has another mask and
                 * doesn't support the DSP reference. Eg. the lowest bit of the