iio: adc: ti-ads7950: Set `can_sleep` flag for GPIO chip

commit 363c7dc72f upstream.

The ads7950 uses a mutex as well as SPI transfers in its GPIO callbacks.
This means these callbacks can sleep and the `can_sleep` flag should be
set.

Having the flag set will make sure that warnings are generated when calling
any of the callbacks from a potentially non-sleeping context.

Fixes: c97dce792d ("iio: adc: ti-ads7950: add GPIO support")
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Acked-by: David Lechner <david@lechnology.com>
Link: https://lore.kernel.org/r/20230312210933.2275376-1-lars@metafoo.de
Cc: <Stable@vger.kernel.org>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Lars-Peter Clausen 2023-03-12 14:09:33 -07:00 committed by Greg Kroah-Hartman
parent a09eb53a18
commit c723a410a4
1 changed files with 1 additions and 0 deletions

View File

@ -634,6 +634,7 @@ static int ti_ads7950_probe(struct spi_device *spi)
st->chip.label = dev_name(&st->spi->dev); st->chip.label = dev_name(&st->spi->dev);
st->chip.parent = &st->spi->dev; st->chip.parent = &st->spi->dev;
st->chip.owner = THIS_MODULE; st->chip.owner = THIS_MODULE;
st->chip.can_sleep = true;
st->chip.base = -1; st->chip.base = -1;
st->chip.ngpio = TI_ADS7950_NUM_GPIOS; st->chip.ngpio = TI_ADS7950_NUM_GPIOS;
st->chip.get_direction = ti_ads7950_get_direction; st->chip.get_direction = ti_ads7950_get_direction;