diff options
author | Charles Keepax <ckeepax@opensource.wolfsonmicro.com> | 2016-03-28 08:47:42 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2016-03-28 11:39:16 -0400 |
commit | 0e3e7999703e7df93a9deee8ba89b604c5fd662d (patch) | |
tree | 654f202dc57e4b8a4af2e7016bf7de5781666bea | |
parent | 9832ce4c0bb90e4dcedf4280947341b1eb6728e6 (diff) |
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>
-rw-r--r-- | drivers/net/ethernet/cadence/macb.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/net/ethernet/cadence/macb.c b/drivers/net/ethernet/cadence/macb.c index 6c3dc27cb100..48a7d7dee846 100644 --- a/drivers/net/ethernet/cadence/macb.c +++ b/drivers/net/ethernet/cadence/macb.c | |||
@@ -2996,9 +2996,10 @@ static int macb_probe(struct platform_device *pdev) | |||
2996 | phy_node = of_get_next_available_child(np, NULL); | 2996 | phy_node = of_get_next_available_child(np, NULL); |
2997 | if (phy_node) { | 2997 | if (phy_node) { |
2998 | int gpio = of_get_named_gpio(phy_node, "reset-gpios", 0); | 2998 | int gpio = of_get_named_gpio(phy_node, "reset-gpios", 0); |
2999 | if (gpio_is_valid(gpio)) | 2999 | if (gpio_is_valid(gpio)) { |
3000 | bp->reset_gpio = gpio_to_desc(gpio); | 3000 | bp->reset_gpio = gpio_to_desc(gpio); |
3001 | gpiod_direction_output(bp->reset_gpio, 1); | 3001 | gpiod_direction_output(bp->reset_gpio, 1); |
3002 | } | ||
3002 | } | 3003 | } |
3003 | of_node_put(phy_node); | 3004 | of_node_put(phy_node); |
3004 | 3005 | ||
@@ -3068,7 +3069,8 @@ static int macb_remove(struct platform_device *pdev) | |||
3068 | mdiobus_free(bp->mii_bus); | 3069 | mdiobus_free(bp->mii_bus); |
3069 | 3070 | ||
3070 | /* Shutdown the PHY if there is a GPIO reset */ | 3071 | /* Shutdown the PHY if there is a GPIO reset */ |
3071 | gpiod_set_value(bp->reset_gpio, 0); | 3072 | if (bp->reset_gpio) |
3073 | gpiod_set_value(bp->reset_gpio, 0); | ||
3072 | 3074 | ||
3073 | unregister_netdev(dev); | 3075 | unregister_netdev(dev); |
3074 | clk_disable_unprepare(bp->tx_clk); | 3076 | clk_disable_unprepare(bp->tx_clk); |