staging:iio:adc:ad7280a: Drop buggy support for early termination of AUX alert.

This functionality is intended to allow for a few temperature
sensors to be missing (and hence not worth reading) on the final
device in a chain.  The ones removed are 3 and 5 (unlike for
the ADC channels where it is 4 and 5).

The datasheet includes a foot note 3 to Table 12 that makes this complex
to support.

"(3) To remove AUX5 or AUX5 and AUX3 from the alert detection, conversions
on three auxiliary ADC input channels only must be selected in the
control register."

This mode has never been supported by the driver.

As this support would be complex to add and the rework is being done
against a QEMU model developed for the purposes of verifying nothing
is broken, it is better to drop this support for now.

Reported-by: Marcelo Schmitt <marcelo.schmitt1@gmail.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Reviewed-by: Marcelo Schmitt <marcelo.schmitt1@gmail.com>
Link: https://lore.kernel.org/r/20220206190328.333093-16-jic23@kernel.org
This commit is contained in:
Jonathan Cameron 2022-02-06 19:03:23 +00:00
parent 219def4475
commit d2960145b3

View File

@ -1022,28 +1022,6 @@ static int ad7280_probe(struct spi_device *spi)
break;
}
}
if (device_property_present(dev, "adi,temp-alert-last-chan")) {
u32 val;
ret = device_property_read_u32(dev, "adi,temp-alert-last-chan", &val);
if (ret)
return ret;
switch (val) {
case 3:
st->chain_last_alert_ignore |= AD7280A_ALERT_REMOVE_AUX3_AUX5;
break;
case 4:
st->chain_last_alert_ignore |= AD7280A_ALERT_REMOVE_AUX5;
break;
case 5:
break;
default:
dev_err(dev,
"Firmware provided last temp alert channel invalid\n");
break;
}
}
crc8_populate_msb(st->crc_tab, POLYNOM);
st->spi->max_speed_hz = AD7280A_MAX_SPI_CLK_HZ;