Message ID | 20210913143122.101428-1-simont@opensource.cirrus.com |
---|---|
State | Accepted |
Commit | 62dc9f3f2fd07a2d4f4c97d76403f387363cb637 |
Headers | show |
Series | soundwire: export sdw_nwrite_no_pm and sdw_nread_no_pm functions | expand |
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@opensource.cirrus.com> 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@linux.intel.com> > --- > 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); > >
On 13-09-21, 15:31, 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. That sounds okay to me, but how about the users for this API..?
> On 13-09-21, 15:31, 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. > > That sounds okay to me, but how about the users for this API..? > In development.
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);
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@opensource.cirrus.com> --- drivers/soundwire/bus.c | 8 ++++---- include/linux/soundwire/sdw.h | 2 ++ 2 files changed, 6 insertions(+), 4 deletions(-)