On 9/13/21 9:31 AM, Simon Trimmer wrote: > The patch "soundwire: export sdw_write/read_no_pm functions" exposed the > single byte no_pm versions of the IO functions that can be used without > touching PM, export the multi byte no_pm versions for the same reason. > > Signed-off-by: Simon Trimmer <simont@xxxxxxxxxxxxxxxxxxxxx> Makes sense to me, e.g. if a codec driver needs to read/write vendor-specific registers that are not managed with regmap - interrupts or masks. Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@xxxxxxxxxxxxxxx> > --- > drivers/soundwire/bus.c | 8 ++++---- > include/linux/soundwire/sdw.h | 2 ++ > 2 files changed, 6 insertions(+), 4 deletions(-) > > diff --git a/drivers/soundwire/bus.c b/drivers/soundwire/bus.c > index 1b115734a8f6..859de302dee2 100644 > --- a/drivers/soundwire/bus.c > +++ b/drivers/soundwire/bus.c > @@ -379,8 +379,7 @@ int sdw_fill_msg(struct sdw_msg *msg, struct sdw_slave *slave, > * all clients need to use the pm versions > */ > > -static int > -sdw_nread_no_pm(struct sdw_slave *slave, u32 addr, size_t count, u8 *val) > +int sdw_nread_no_pm(struct sdw_slave *slave, u32 addr, size_t count, u8 *val) > { > struct sdw_msg msg; > int ret; > @@ -395,9 +394,9 @@ sdw_nread_no_pm(struct sdw_slave *slave, u32 addr, size_t count, u8 *val) > ret = 0; > return ret; > } > +EXPORT_SYMBOL(sdw_nread_no_pm); > > -static int > -sdw_nwrite_no_pm(struct sdw_slave *slave, u32 addr, size_t count, const u8 *val) > +int sdw_nwrite_no_pm(struct sdw_slave *slave, u32 addr, size_t count, const u8 *val) > { > struct sdw_msg msg; > int ret; > @@ -412,6 +411,7 @@ sdw_nwrite_no_pm(struct sdw_slave *slave, u32 addr, size_t count, const u8 *val) > ret = 0; > return ret; > } > +EXPORT_SYMBOL(sdw_nwrite_no_pm); > > int sdw_write_no_pm(struct sdw_slave *slave, u32 addr, u8 value) > { > diff --git a/include/linux/soundwire/sdw.h b/include/linux/soundwire/sdw.h > index 76ce3f3ac0f2..2a5395f0dcf1 100644 > --- a/include/linux/soundwire/sdw.h > +++ b/include/linux/soundwire/sdw.h > @@ -1042,7 +1042,9 @@ int sdw_write(struct sdw_slave *slave, u32 addr, u8 value); > int sdw_write_no_pm(struct sdw_slave *slave, u32 addr, u8 value); > int sdw_read_no_pm(struct sdw_slave *slave, u32 addr); > int sdw_nread(struct sdw_slave *slave, u32 addr, size_t count, u8 *val); > +int sdw_nread_no_pm(struct sdw_slave *slave, u32 addr, size_t count, u8 *val); > int sdw_nwrite(struct sdw_slave *slave, u32 addr, size_t count, const u8 *val); > +int sdw_nwrite_no_pm(struct sdw_slave *slave, u32 addr, size_t count, const u8 *val); > int sdw_update(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); > >