Re: [PATCH v3] net: phy: mdio-gpio: Fix working over slow can_sleep GPIOs

From: Sergei Shtylyov
Date: Wed Nov 14 2018 - 06:03:59 EST


On 11/14/2018 01:12 PM, Martin Schiller wrote:

> This commit re-enables support for slow GPIO pins. It was initially
> introduced by commit 2d6c9091ab76 ("net: mdio-gpio: support access that
> may sleep") and got lost by commit 7e5fbd1e0700 ("net: mdio-gpio:
> Convert to use gpiod functions where possible").
>
> Also add a warning about slow GPIO pins like it is done in i2c-gpio.
>
> Signed-off-by: Martin Schiller <ms@xxxxxxxxxx>
> ---
> v3:
> - modified commit summary
> - fixed commit cites in commit message
> - fixed line continuation
>
> v2:
> - fixed copy/paste bug in warning about slow GPIO pins
> ---
> drivers/net/phy/mdio-gpio.c | 15 ++++++++++-----
> 1 file changed, 10 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/net/phy/mdio-gpio.c b/drivers/net/phy/mdio-gpio.c
> index 33265747bf39..e1c305089172 100644
> --- a/drivers/net/phy/mdio-gpio.c
> +++ b/drivers/net/phy/mdio-gpio.c
[...]
> @@ -162,6 +162,11 @@ static int mdio_gpio_probe(struct platform_device *pdev)
> if (ret)
> return ret;
>
> + if (gpiod_cansleep(bitbang->mdc) || gpiod_cansleep(bitbang->mdio) ||
> + gpiod_cansleep(bitbang->mdo))
> + dev_warn(&pdev->dev, "Slow GPIO pins might wreak havoc into"
> + "MDIO bus timing");

Oops, missed this in the 1st review: you don't need to break the kernel messages
like that, they may violate the 80-column limit (to facilitate searching)...

[...]

MBR, Sergei