On Sat, 7 Dec 2024 20:34:30 +0200 Andy Shevchenko <andriy.shevchenko@xxxxxxxxx> wrote: > On Sun, Dec 01, 2024 at 01:03:56PM +0000, Jonathan Cameron wrote: > > On Fri, 22 Nov 2024 13:43:08 -0300 > > Fabio Estevam <festevam@xxxxxxxxx> wrote: > > > Using gpiod_set_value() to control the reset GPIO causes some verbose > > > warnings during boot when the reset GPIO is controlled by an I2C IO > > > expander. > > > > > > As the caller can sleep, use the gpiod_set_value_cansleep() variant to > > > fix the issue. > > > > > > Tested on a custom i.MX93 board with a ADS124S08 ADC. > > > Hmm. Could be considered a feature, but fair enough as the change is > > trivial and you are setting it on a real board. > > > > Applied to the fixes-togreg branch of iio.git. > > ... > > > > @@ -183,9 +183,9 @@ static int ads124s_reset(struct iio_dev *indio_dev) > > > struct ads124s_private *priv = iio_priv(indio_dev); > > > > > > if (priv->reset_gpio) { > > > - gpiod_set_value(priv->reset_gpio, 0); > > > + gpiod_set_value_cansleep(priv->reset_gpio, 0); > > > udelay(200); > > Obviously if you allow that change, you should switch to fsleep() here. True, that would be a nice follow up tidying up. Jonathan > > > > - gpiod_set_value(priv->reset_gpio, 1); > > > + gpiod_set_value_cansleep(priv->reset_gpio, 1); > > > } else { > > > return ads124s_write_cmd(indio_dev, ADS124S08_CMD_RESET); > > > } >