OSDN Git Service

net: dsa: qca8k: move regmap init in probe and set it mandatory
authorAnsuel Smith <ansuelsmth@gmail.com>
Mon, 22 Nov 2021 15:23:43 +0000 (16:23 +0100)
committerDavid S. Miller <davem@davemloft.net>
Mon, 22 Nov 2021 15:35:16 +0000 (15:35 +0000)
In preparation for regmap conversion, move regmap init in the probe
function and make it mandatory as any read/write/rmw operation will be
converted to regmap API.

Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
Reviewed-by: Vladimir Oltean <olteanv@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/dsa/qca8k.c

index ae02043..f63a432 100644 (file)
@@ -1086,12 +1086,6 @@ qca8k_setup(struct dsa_switch *ds)
        if (ret)
                return ret;
 
-       /* Start by setting up the register mapping */
-       priv->regmap = devm_regmap_init(ds->dev, NULL, priv,
-                                       &qca8k_regmap_config);
-       if (IS_ERR(priv->regmap))
-               dev_warn(priv->dev, "regmap initialization failed");
-
        ret = qca8k_setup_mdio_bus(priv);
        if (ret)
                return ret;
@@ -2073,6 +2067,14 @@ qca8k_sw_probe(struct mdio_device *mdiodev)
                gpiod_set_value_cansleep(priv->reset_gpio, 0);
        }
 
+       /* Start by setting up the register mapping */
+       priv->regmap = devm_regmap_init(&mdiodev->dev, NULL, priv,
+                                       &qca8k_regmap_config);
+       if (IS_ERR(priv->regmap)) {
+               dev_err(priv->dev, "regmap initialization failed");
+               return PTR_ERR(priv->regmap);
+       }
+
        /* Check the detected switch id */
        ret = qca8k_read_switch_id(priv);
        if (ret)