net: lan966x: make reset optional
authorMichael Walle <michael@walle.cc>
Wed, 31 Aug 2022 11:18:55 +0000 (13:18 +0200)
committerDavid S. Miller <davem@davemloft.net>
Fri, 2 Sep 2022 10:37:27 +0000 (11:37 +0100)
There is no dedicated reset for just the switch core. The reset which
is used up until now, is more of a global reset, resetting almost the
whole SoC and cause spurious errors by doing so. Make it possible to
handle the reset elsewhere and make the reset optional.

Signed-off-by: Michael Walle <michael@walle.cc>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/microchip/lan966x/lan966x_main.c

index 2ad0786..e2c77f9 100644 (file)
@@ -971,7 +971,8 @@ static int lan966x_reset_switch(struct lan966x *lan966x)
        int val = 0;
        int ret;
 
-       switch_reset = devm_reset_control_get_shared(lan966x->dev, "switch");
+       switch_reset = devm_reset_control_get_optional_shared(lan966x->dev,
+                                                             "switch");
        if (IS_ERR(switch_reset))
                return dev_err_probe(lan966x->dev, PTR_ERR(switch_reset),
                                     "Could not obtain switch reset");