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.

Signed-off-by: Andrew Lunn <and...@lunn.ch>
---
 drivers/net/phy/at803x.c | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/drivers/net/phy/at803x.c b/drivers/net/phy/at803x.c
index 97cbe593f0ea..bdd84f6f0214 100644
--- a/drivers/net/phy/at803x.c
+++ b/drivers/net/phy/at803x.c
@@ -400,7 +400,7 @@ 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;
+       unsigned int sel;
        u32 freq, strength;
        int ret;
 
@@ -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
-- 
2.27.0.rc2

Reply via email to