Message ID | 20230201215320.528319-1-dmitry.torokhov@gmail.com (mailing list archive) |
---|---|
State | Accepted |
Commit | d7b5e5dd669436328dbf41d89af09b3fa5de3b95 |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | [v3,1/2] net: fec: restore handling of PHY reset line as optional | expand |
On Wed, Feb 01, 2023 at 01:53:19PM -0800, Dmitry Torokhov wrote: > Conversion of the driver to gpiod API done in 468ba54bd616 ("fec: > convert to gpio descriptor") incorrectly made reset line mandatory and > resulted in aborting driver probe in cases where reset line was not > specified (note: this way of specifying PHY reset line is actually > deprecated). > > Switch to using devm_gpiod_get_optional() and skip manipulating reset > line if it can not be located. > > Fixes: 468ba54bd616 ("fec: convert to gpio descriptor") > Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> Reviewed-by: Andrew Lunn <andrew@lunn.ch> Andrew
On 01.02.2023 13:53:19, Dmitry Torokhov wrote: > Conversion of the driver to gpiod API done in 468ba54bd616 ("fec: > convert to gpio descriptor") incorrectly made reset line mandatory and > resulted in aborting driver probe in cases where reset line was not > specified (note: this way of specifying PHY reset line is actually > deprecated). > > Switch to using devm_gpiod_get_optional() and skip manipulating reset > line if it can not be located. > > Fixes: 468ba54bd616 ("fec: convert to gpio descriptor") > Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> Reported-by: Marc Kleine-Budde <mkl@pengutronix.de> Tested-by: Marc Kleine-Budde <mkl@pengutronix.de> Marc
On Wed, Feb 1, 2023, at 22:53, Dmitry Torokhov wrote: > Conversion of the driver to gpiod API done in 468ba54bd616 ("fec: > convert to gpio descriptor") incorrectly made reset line mandatory and > resulted in aborting driver probe in cases where reset line was not > specified (note: this way of specifying PHY reset line is actually > deprecated). > > Switch to using devm_gpiod_get_optional() and skip manipulating reset > line if it can not be located. > > Fixes: 468ba54bd616 ("fec: convert to gpio descriptor") > Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> > --- > > v3: removed handling of 'phy-reset-active-high', it was moved to patch #2 > v2: dropped conversion to generic device properties from the patch Thanks for fixing it, Reviewed-by: Arnd Bergmann <arnd@arndb.de>
Hello: This series was applied to netdev/net-next.git (master) by Jakub Kicinski <kuba@kernel.org>: On Wed, 1 Feb 2023 13:53:19 -0800 you wrote: > Conversion of the driver to gpiod API done in 468ba54bd616 ("fec: > convert to gpio descriptor") incorrectly made reset line mandatory and > resulted in aborting driver probe in cases where reset line was not > specified (note: this way of specifying PHY reset line is actually > deprecated). > > Switch to using devm_gpiod_get_optional() and skip manipulating reset > line if it can not be located. > > [...] Here is the summary with links: - [v3,1/2] net: fec: restore handling of PHY reset line as optional https://git.kernel.org/netdev/net-next/c/d7b5e5dd6694 - [v3,2/2] net: fec: do not double-parse 'phy-reset-active-high' property https://git.kernel.org/netdev/net-next/c/0719bc3a5c77 You are awesome, thank you!
diff --git a/drivers/net/ethernet/freescale/fec_main.c b/drivers/net/ethernet/freescale/fec_main.c index 2716898e0b9b..00115b55d0ff 100644 --- a/drivers/net/ethernet/freescale/fec_main.c +++ b/drivers/net/ethernet/freescale/fec_main.c @@ -4056,12 +4056,15 @@ static int fec_reset_phy(struct platform_device *pdev) active_high = of_property_read_bool(np, "phy-reset-active-high"); - phy_reset = devm_gpiod_get(&pdev->dev, "phy-reset", + phy_reset = devm_gpiod_get_optional(&pdev->dev, "phy-reset", active_high ? GPIOD_OUT_HIGH : GPIOD_OUT_LOW); if (IS_ERR(phy_reset)) return dev_err_probe(&pdev->dev, PTR_ERR(phy_reset), "failed to get phy-reset-gpios\n"); + if (!phy_reset) + return 0; + if (msec > 20) msleep(msec); else
Conversion of the driver to gpiod API done in 468ba54bd616 ("fec: convert to gpio descriptor") incorrectly made reset line mandatory and resulted in aborting driver probe in cases where reset line was not specified (note: this way of specifying PHY reset line is actually deprecated). Switch to using devm_gpiod_get_optional() and skip manipulating reset line if it can not be located. Fixes: 468ba54bd616 ("fec: convert to gpio descriptor") Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> --- v3: removed handling of 'phy-reset-active-high', it was moved to patch #2 v2: dropped conversion to generic device properties from the patch drivers/net/ethernet/freescale/fec_main.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)