net: dsa: microchip: Use gpiod_set_value_cansleep()
Replace gpiod_set_value() with gpiod_set_value_cansleep(), as the switch reset GPIO can be connected to e.g. I2C GPIO expander and it is perfectly fine for the kernel to sleep for a bit in ksz_switch_register(). Signed-off-by: Marek Vasut <marex@denx.de> Cc: Andrew Lunn <andrew@lunn.ch> Cc: Florian Fainelli <f.fainelli@gmail.com> Cc: Linus Walleij <linus.walleij@linaro.org> Cc: Tristram Ha <Tristram.Ha@microchip.com> Cc: Woojung Huh <Woojung.Huh@microchip.com> Reviewed-by: Andrew Lunn <andrew@lunn.ch> Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
48dd73d08d
commit
22e72b5e04
@ -436,9 +436,9 @@ int ksz_switch_register(struct ksz_device *dev,
|
|||||||
return PTR_ERR(dev->reset_gpio);
|
return PTR_ERR(dev->reset_gpio);
|
||||||
|
|
||||||
if (dev->reset_gpio) {
|
if (dev->reset_gpio) {
|
||||||
gpiod_set_value(dev->reset_gpio, 1);
|
gpiod_set_value_cansleep(dev->reset_gpio, 1);
|
||||||
mdelay(10);
|
mdelay(10);
|
||||||
gpiod_set_value(dev->reset_gpio, 0);
|
gpiod_set_value_cansleep(dev->reset_gpio, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
mutex_init(&dev->dev_mutex);
|
mutex_init(&dev->dev_mutex);
|
||||||
@ -487,7 +487,7 @@ void ksz_switch_remove(struct ksz_device *dev)
|
|||||||
dsa_unregister_switch(dev->ds);
|
dsa_unregister_switch(dev->ds);
|
||||||
|
|
||||||
if (dev->reset_gpio)
|
if (dev->reset_gpio)
|
||||||
gpiod_set_value(dev->reset_gpio, 1);
|
gpiod_set_value_cansleep(dev->reset_gpio, 1);
|
||||||
|
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL(ksz_switch_remove);
|
EXPORT_SYMBOL(ksz_switch_remove);
|
||||||
|
Loading…
Reference in New Issue
Block a user