iio: adis16475: 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-4-nuno.sa@analog.com Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
This commit is contained in:
committed by
Jonathan Cameron
parent
31fa357ac8
commit
cab85eadd7
@ -606,20 +606,6 @@ static const char * const adis16475_status_error_msgs[] = {
|
||||
[ADIS16475_DIAG_STAT_CLK] = "Clock error",
|
||||
};
|
||||
|
||||
static int adis16475_enable_irq(struct adis *adis, bool enable)
|
||||
{
|
||||
/*
|
||||
* There is no way to gate the data-ready signal internally inside the
|
||||
* ADIS16475. We can only control it's polarity...
|
||||
*/
|
||||
if (enable)
|
||||
enable_irq(adis->spi->irq);
|
||||
else
|
||||
disable_irq(adis->spi->irq);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
#define ADIS16475_DATA(_prod_id, _timeouts) \
|
||||
{ \
|
||||
.msc_ctrl_reg = ADIS16475_REG_MSG_CTRL, \
|
||||
@ -640,7 +626,7 @@ static int adis16475_enable_irq(struct adis *adis, bool enable)
|
||||
BIT(ADIS16475_DIAG_STAT_SENSOR) | \
|
||||
BIT(ADIS16475_DIAG_STAT_MEMORY) | \
|
||||
BIT(ADIS16475_DIAG_STAT_CLK), \
|
||||
.enable_irq = adis16475_enable_irq, \
|
||||
.unmasked_drdy = true, \
|
||||
.timeouts = (_timeouts), \
|
||||
.burst_reg_cmd = ADIS16475_REG_GLOB_CMD, \
|
||||
.burst_len = ADIS16475_BURST_MAX_DATA, \
|
||||
@ -1254,9 +1240,6 @@ static int adis16475_config_irq_pin(struct adis16475 *st)
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
/* We cannot mask the interrupt so ensure it's not enabled at request */
|
||||
st->adis.irq_flag |= IRQF_NO_AUTOEN;
|
||||
|
||||
val = ADIS16475_MSG_CTRL_DR_POL(polarity);
|
||||
ret = __adis_update_bits(&st->adis, ADIS16475_REG_MSG_CTRL,
|
||||
ADIS16475_MSG_CTRL_DR_POL_MASK, val);
|
||||
|
Reference in New Issue
Block a user