Kernel patches for Analog Devices sigma-delta ADCs
20 Apr 2026
Two patches for the Linux kernel, produced while working on a board with Analog Devices sigma-delta ADCs on a shared SPI bus.
Both of these patches should apply to a 5.15.x kernel.
Sharing the SPI bus
LKML - This patch has not been applied upstream.
Analog Devices make sigma-delta ADCs which connect to an SPI bus, and reuse the MISO line as an IRQ during conversion.
It is entirely possible in principle to have multiple chips on the same bus, and this ought to work, except that Linux does not allow the one-shot IRQ to be shared.
This patch modifies the driver to make this possible. The sharing of IRQs is identified automatically – no device-tree changes are required. Sharing is only possible with other Analog Devices sigma-delta ADCs.
Fixing a race condition
LKML - This patch has not been applied upstream.
Note that this bug is already fixed in the sharing patch above.
While implementing IRQ sharing, I noticed a race condition in the driver, which this patch addresses independently. You do not need to apply it if you have applied the IRQ-sharing patch.