OSDN Git Service

macb: Kill PHY reset code
authorSergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Mon, 4 Dec 2017 10:34:50 +0000 (11:34 +0100)
committerDavid S. Miller <davem@davemloft.net>
Tue, 5 Dec 2017 17:51:19 +0000 (12:51 -0500)
With the phylib now being aware of the "reset-gpios" PHY node property,
there should be no need to frob the PHY reset in this driver anymore...

Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/cadence/macb.h
drivers/net/ethernet/cadence/macb_main.c

index 3165c2b..c50c5ec 100644 (file)
@@ -1171,7 +1171,6 @@ struct macb {
        unsigned int            dma_burst_length;
 
        phy_interface_t         phy_interface;
-       struct gpio_desc        *reset_gpio;
 
        /* AT91RM9200 transmit */
        struct sk_buff *skb;                    /* holds skb until xmit interrupt completes */
index 8af325e..ebfeab8 100644 (file)
@@ -3803,7 +3803,6 @@ static int macb_probe(struct platform_device *pdev)
                                              = macb_config->clk_init;
        int (*init)(struct platform_device *) = macb_config->init;
        struct device_node *np = pdev->dev.of_node;
-       struct device_node *phy_node;
        struct clk *pclk, *hclk = NULL, *tx_clk = NULL, *rx_clk = NULL;
        unsigned int queue_mask, num_queues;
        struct macb_platform_data *pdata;
@@ -3909,18 +3908,6 @@ static int macb_probe(struct platform_device *pdev)
        else
                macb_get_hwaddr(bp);
 
-       /* Power up the PHY if there is a GPIO reset */
-       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)) {
-                       bp->reset_gpio = gpio_to_desc(gpio);
-                       gpiod_direction_output(bp->reset_gpio, 1);
-               }
-       }
-       of_node_put(phy_node);
-
        err = of_get_phy_mode(np);
        if (err < 0) {
                pdata = dev_get_platdata(&pdev->dev);
@@ -3967,10 +3954,6 @@ err_out_unregister_mdio:
                of_phy_deregister_fixed_link(np);
        mdiobus_free(bp->mii_bus);
 
-       /* Shutdown the PHY if there is a GPIO reset */
-       if (bp->reset_gpio)
-               gpiod_set_value(bp->reset_gpio, 0);
-
 err_out_free_netdev:
        free_netdev(dev);
 
@@ -4001,10 +3984,6 @@ static int macb_remove(struct platform_device *pdev)
                dev->phydev = NULL;
                mdiobus_free(bp->mii_bus);
 
-               /* Shutdown the PHY if there is a GPIO reset */
-               if (bp->reset_gpio)
-                       gpiod_set_value(bp->reset_gpio, 0);
-
                unregister_netdev(dev);
                clk_disable_unprepare(bp->tx_clk);
                clk_disable_unprepare(bp->hclk);