Re: [PATCH RFT 2/2] macb: kill PHY reset code
From: Nicolas Ferre <hidden>
Date: 2016-04-12 09:21:54
Also in:
lkml
Le 11/04/2016 04:28, Andrew Lunn a écrit :
On Sat, Apr 09, 2016 at 01:25:03AM +0300, Sergei Shtylyov wrote:quoted
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 <redacted> --- drivers/net/ethernet/cadence/macb.c | 17 ----------------- drivers/net/ethernet/cadence/macb.h | 1 - 2 files changed, 18 deletions(-) Index: net-next/drivers/net/ethernet/cadence/macb.c ===================================================================--- net-next.orig/drivers/net/ethernet/cadence/macb.c +++ net-next/drivers/net/ethernet/cadence/macb.c@@ -2884,7 +2884,6 @@ static int macb_probe(struct platform_de = macb_clk_init; int (*init)(struct platform_device *) = macb_init; struct device_node *np = pdev->dev.of_node; - struct device_node *phy_node; const struct macb_config *macb_config = NULL; struct clk *pclk, *hclk = NULL, *tx_clk = NULL; unsigned int queue_mask, num_queues;@@ -2977,18 +2976,6 @@ static int macb_probe(struct platform_de 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);Hi Sergei The code you are deleting would of ignored the flags in the gpio
I don't parse this. The code deleted does take the flag into account. And the DT property associated to it seems correct to me (I mean, with proper flag specification).
property, i.e. active low. The new code in the previous patch does however take the flags into account. Did you check if there are any device trees which have flags, which were never used, but are now going to be used and thus break...
Flag was used and you are saying that it's taken into account in new code... So, what's the issue? I see a difference in the way the "value" of gpiod_* functions is used. There may be a misunderstanding here... Bye, -- Nicolas Ferre