[PATCH v2 0/9] soundwire/regmap: use _no_pm routines

From: Bard Liao
Date: Wed Dec 09 2020 - 00:37:02 EST


When a Slave device is resumed, it may resume the bus and restart the
enumeration. And Slave drivers will wait for initialization_complete
complete in their resume function, however initialization_complete will
complete after sdw_update_slave_status function is finished and codec
driver usually call some IO functions in the update_status callback
function.
It will become a deadlock if we use regular read/write routines during
the resuming process.

This series touches both soundwire and regmap trees.
commit fb5103f9d6ce ("regmap/SoundWire: sdw: add support for SoundWire 1.2 MBQ")
is needed for soundwire tree to complie.
On the other hands,
commit 6e06a85556f9 ("soundwire: bus: add comments to explain interrupt loop filter")
to
commit 47b8520997a8 ("soundwire: bus: only clear valid DPN interrupts")
are needed for regmap tree.

v2:
- Separate commits according to maintainer's comments.

Bard Liao (4):
soundwire: export sdw_write/read_no_pm functions
regmap: sdw: use _no_pm functions in regmap_read/write
regmap: sdw: use no_pm routines for SoundWire 1.2 MBQ
regmap: sdw-mbq: use MODULE_LICENSE("GPL")

Pierre-Louis Bossart (5):
soundwire: bus: use sdw_update_no_pm when initializing a device
soundwire: bus: use sdw_write_no_pm when setting the bus scale
registers
soundwire: bus: use no_pm IO routines for all interrupt handling
soundwire: bus: fix confusion on device used by pm_runtime
soundwire: bus: clarify dev_err/dbg device references

drivers/base/regmap/regmap-sdw-mbq.c | 10 +-
drivers/base/regmap/regmap-sdw.c | 4 +-
drivers/soundwire/bus.c | 136 +++++++++++++++------------
include/linux/soundwire/sdw.h | 2 +
4 files changed, 85 insertions(+), 67 deletions(-)

--
2.17.1