iio: adis16460: make use of the new unmasked_drdy flag
The library can now handle enabling/disabling IRQs for devices that cannot unmask the data ready pin. Hence there's no need to provide an 'enable_irq' callback anymore. The library will also automatically request the IRQ with 'IRQF_NO_AUTOEN' so that we can also remove that from the driver. Signed-off-by: Nuno Sá <nuno.sa@analog.com> Link: https://lore.kernel.org/r/20210903141423.517028-5-nuno.sa@analog.com Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
This commit is contained in:
parent
cab85eadd7
commit
23a3b67c52
@ -319,20 +319,6 @@ static const struct iio_info adis16460_info = {
|
||||
.debugfs_reg_access = adis_debugfs_reg_access,
|
||||
};
|
||||
|
||||
static int adis16460_enable_irq(struct adis *adis, bool enable)
|
||||
{
|
||||
/*
|
||||
* There is no way to gate the data-ready signal internally inside the
|
||||
* ADIS16460 :(
|
||||
*/
|
||||
if (enable)
|
||||
enable_irq(adis->spi->irq);
|
||||
else
|
||||
disable_irq(adis->spi->irq);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
#define ADIS16460_DIAG_STAT_IN_CLK_OOS 7
|
||||
#define ADIS16460_DIAG_STAT_FLASH_MEM 6
|
||||
#define ADIS16460_DIAG_STAT_SELF_TEST 5
|
||||
@ -373,7 +359,7 @@ static const struct adis_data adis16460_data = {
|
||||
BIT(ADIS16460_DIAG_STAT_OVERRANGE) |
|
||||
BIT(ADIS16460_DIAG_STAT_SPI_COMM) |
|
||||
BIT(ADIS16460_DIAG_STAT_FLASH_UPT),
|
||||
.enable_irq = adis16460_enable_irq,
|
||||
.unmasked_drdy = true,
|
||||
.timeouts = &adis16460_timeouts,
|
||||
};
|
||||
|
||||
@ -400,8 +386,6 @@ static int adis16460_probe(struct spi_device *spi)
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
/* We cannot mask the interrupt, so ensure it isn't auto enabled */
|
||||
st->adis.irq_flag |= IRQF_NO_AUTOEN;
|
||||
ret = devm_adis_setup_buffer_and_trigger(&st->adis, indio_dev, NULL);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
Loading…
Reference in New Issue
Block a user