net: macb: Only call GPIO functions if there is a valid GPIO

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>
This commit is contained in:
Charles Keepax 2016-03-28 13:47:42 +01:00 committed by David S. Miller
parent 9832ce4c0b
commit 0e3e799970

View File

@ -2996,9 +2996,10 @@ static int macb_probe(struct platform_device *pdev)
phy_node = of_get_next_available_child(np, NULL); phy_node = of_get_next_available_child(np, NULL);
if (phy_node) { if (phy_node) {
int gpio = of_get_named_gpio(phy_node, "reset-gpios", 0); 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); 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); of_node_put(phy_node);
@ -3068,7 +3069,8 @@ static int macb_remove(struct platform_device *pdev)
mdiobus_free(bp->mii_bus); mdiobus_free(bp->mii_bus);
/* Shutdown the PHY if there is a GPIO reset */ /* 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); unregister_netdev(dev);
clk_disable_unprepare(bp->tx_clk); clk_disable_unprepare(bp->tx_clk);