[PATCH 0/4] ASoC: cs35l56: Switch to using the IRQ from the SoundWire core
From: Richard Fitzgerald
Date: Mon Aug 10 2026 - 06:44:28 EST
At the time the cs35l56 driver was written the only way to get interrupts
from the SoundWire core was to implement a custom handler inside the
interrupt_callback() function.
The SoundWire core now provides a virtual IRQ for notifying ImpDef
interrupts, and switching to this simplifies the code and also makes it
more similar to the normal interrupt handling of I2C/SPI (though some
SoundWire specials are still needed).
Patches #1 and #2 do some preparatory code shuffling so that there is
less clutter in patch #4.
Patch #3 changes the SoundWire core code to create the virtual ImpDef IRQ
before calling the codec drive probe() so that the IRQ can be requested in
probe().
Richard Fitzgerald (4):
ASoC: cs35l56: Request IRQ in cs35l56_common_probe()
ASoC: cs35l56: Move cs35l56_irq_request() after cs35l56_irq()
soundwire: bus_type: Create IRQ mapping before calling driver probe()
ASoC: cs35l56: Use IRQ provided by the SoundWire core
drivers/soundwire/bus_type.c | 6 +--
include/sound/cs35l56.h | 1 -
sound/soc/codecs/Kconfig | 1 +
sound/soc/codecs/cs35l56-i2c.c | 10 +----
sound/soc/codecs/cs35l56-sdw.c | 69 ++++++-------------------------
sound/soc/codecs/cs35l56-shared.c | 41 +++++++++---------
sound/soc/codecs/cs35l56-spi.c | 10 +----
sound/soc/codecs/cs35l56.c | 57 +++++++++++++------------
sound/soc/codecs/cs35l56.h | 11 ++---
9 files changed, 73 insertions(+), 133 deletions(-)
--
2.47.3