diff options
author | Takashi Iwai <tiwai@suse.de> | 2021-06-24 10:02:45 +0200 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2021-06-24 10:02:45 +0200 |
commit | 5c89c2c7fbfa9124dd521c375b9c82b9ed75bc28 (patch) | |
tree | 75d09ba90c72e75b3d488edd2c37c96c3f268952 /drivers/soundwire/bus.c | |
parent | 3099406ef4832124ce572cfbbc914e8a385ca38f (diff) | |
parent | 3b7961a326f8a7e03f54a19f02fedae8d488b80f (diff) | |
download | linux-5c89c2c7fbfa9124dd521c375b9c82b9ed75bc28.tar.bz2 |
Merge tag 'asoc-fix-v5.13-rc7' of https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-next
ASoC: Fixes for v5.13
A final batch of fixes for v5.13, this is larger than I'd like due to
the fixes for a series of suspend issues that Intel turned up in their
testing this week.
Diffstat (limited to 'drivers/soundwire/bus.c')
-rw-r--r-- | drivers/soundwire/bus.c | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/drivers/soundwire/bus.c b/drivers/soundwire/bus.c index a9e0aa72654d..5d5b0bd59ae3 100644 --- a/drivers/soundwire/bus.c +++ b/drivers/soundwire/bus.c @@ -492,7 +492,7 @@ int sdw_read_no_pm(struct sdw_slave *slave, u32 addr) } EXPORT_SYMBOL(sdw_read_no_pm); -static int sdw_update_no_pm(struct sdw_slave *slave, u32 addr, u8 mask, u8 val) +int sdw_update_no_pm(struct sdw_slave *slave, u32 addr, u8 mask, u8 val) { int tmp; @@ -503,6 +503,21 @@ static int sdw_update_no_pm(struct sdw_slave *slave, u32 addr, u8 mask, u8 val) tmp = (tmp & ~mask) | val; return sdw_write_no_pm(slave, addr, tmp); } +EXPORT_SYMBOL(sdw_update_no_pm); + +/* Read-Modify-Write Slave register */ +int sdw_update(struct sdw_slave *slave, u32 addr, u8 mask, u8 val) +{ + int tmp; + + tmp = sdw_read(slave, addr); + if (tmp < 0) + return tmp; + + tmp = (tmp & ~mask) | val; + return sdw_write(slave, addr, tmp); +} +EXPORT_SYMBOL(sdw_update); /** * sdw_nread() - Read "n" contiguous SDW Slave registers |