net: macb: Only call GPIO functions if there is a valid GPIO
authorCharles Keepax <ckeepax@opensource.wolfsonmicro.com>
Mon, 28 Mar 2016 12:47:42 +0000 (13:47 +0100)
committerDavid S. Miller <davem@davemloft.net>
Mon, 28 Mar 2016 15:39:16 +0000 (11:39 -0400)
GPIOlib will print warning messages if we call GPIO functions without a
valid GPIO. Change the code to avoid doing so.

Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/cadence/macb.c

index 6c3dc27..48a7d7d 100644 (file)
@@ -2996,9 +2996,10 @@ static int macb_probe(struct platform_device *pdev)
        phy_node =  of_get_next_available_child(np, NULL);
        if (phy_node) {
                int gpio = of_get_named_gpio(phy_node, "reset-gpios", 0);
-               if (gpio_is_valid(gpio))
+               if (gpio_is_valid(gpio)) {
                        bp->reset_gpio = gpio_to_desc(gpio);
-               gpiod_direction_output(bp->reset_gpio, 1);
+                       gpiod_direction_output(bp->reset_gpio, 1);
+               }
        }
        of_node_put(phy_node);
 
@@ -3068,7 +3069,8 @@ static int macb_remove(struct platform_device *pdev)
                mdiobus_free(bp->mii_bus);
 
                /* Shutdown the PHY if there is a GPIO reset */
-               gpiod_set_value(bp->reset_gpio, 0);
+               if (bp->reset_gpio)
+                       gpiod_set_value(bp->reset_gpio, 0);
 
                unregister_netdev(dev);
                clk_disable_unprepare(bp->tx_clk);