Commit 23a3b67c authored by Nuno Sá's avatar Nuno Sá Committed by Jonathan Cameron
Browse files

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: default avatarNuno Sá <nuno.sa@analog.com>
Link: https://lore.kernel.org/r/20210903141423.517028-5-nuno.sa@analog.com


Signed-off-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
parent cab85ead
Loading
Loading
Loading
Loading
+1 −17
Original line number Diff line number Diff line
@@ -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;