{
if (priv->reset) {
/* Reset codec - minimum assertion time is 400ns */
- gpiod_direction_output(priv->reset, 1);
+ gpiod_set_value_cansleep(priv->reset, 1);
udelay(1);
- gpiod_set_value(priv->reset, 0);
+ gpiod_set_value_cansleep(priv->reset, 0);
/* Codec needs ~15ms to wake up */
msleep(15);
{
struct tas5086_private *priv = snd_soc_component_get_drvdata(component);
- if (priv->reset)
+ if (priv->reset) {
/* Set codec to the reset state */
- gpiod_set_value(priv->reset, 1);
+ gpiod_set_value_cansleep(priv->reset, 1);
+ }
regulator_bulk_disable(ARRAY_SIZE(priv->supplies), priv->supplies);
};