The dm_gpio_free() is never called, because for stm32, the phy_reset_gpio pointer is never valid. This is because only tegra186 ever claims the phy_reset_gpio, all other platforms use the PHY framework to reset the PHY instead. Drop the dm_gpio_free() and dm_gpio_is_valid().
Signed-off-by: Marek Vasut <[email protected]> --- Cc: "Ariel D'Alessandro" <[email protected]> Cc: "NXP i.MX U-Boot Team" <[email protected]> Cc: Andrey Zhizhikin <[email protected]> Cc: Fabio Estevam <[email protected]> Cc: Joe Hershberger <[email protected]> Cc: Lukasz Majewski <[email protected]> Cc: Marcel Ziswiler <[email protected]> Cc: Marek Vasut <[email protected]> Cc: Michael Trimarchi <[email protected]> Cc: Peng Fan <[email protected]> Cc: Ramon Fried <[email protected]> Cc: Sean Anderson <[email protected]> Cc: Stefano Babic <[email protected]> Cc: Tim Harvey <[email protected]> Cc: Tommaso Merciai <[email protected]> Cc: [email protected] --- drivers/net/dwc_eth_qos.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/drivers/net/dwc_eth_qos.c b/drivers/net/dwc_eth_qos.c index 44d05908894..cd2def4ba21 100644 --- a/drivers/net/dwc_eth_qos.c +++ b/drivers/net/dwc_eth_qos.c @@ -1502,9 +1502,6 @@ static int eqos_remove_resources_stm32(struct udevice *dev) clk_free(&eqos->clk_ck); #endif - if (dm_gpio_is_valid(&eqos->phy_reset_gpio)) - dm_gpio_free(dev, &eqos->phy_reset_gpio); - debug("%s: OK\n", __func__); return 0; } -- 2.39.0

