Re: [PATCH 1/5] soundwire: Move wait for initialisation helper to header

From: Vinod Koul

Date: Mon Jun 22 2026 - 00:46:11 EST


On 20-06-26, 12:02, Charles Keepax wrote:
> As SoundWire devices tend to enumerate on the bus after probe, drivers
> frequently need to wait for the device to initialise from common driver
> code. The common system is to split drivers into a core module and then
> a module for each communication bus. These two facts tend to cause
> Kconfig issues, the issue tends to be when SOUNDWIRE=m and DRIVER_I2C=y,
> this usually selects DRIVER=y. The driver code then wants to call
> sdw_slave_wait_for_init(), but this results in calling a module function
> from built in code. A depends on SOUNDWIRE | !SOUNDWIRE could be added to
> the end driver but this seems slightly off as it adds a lot of counter
> intuitive depends.
>
> A simpler solution is to make sdw_slave_wait_for_init() a static inline
> function. As part of doing this add a check for the slave device being
> NULL acknowledging that this is likely called from code that is shared
> between control buses. It does require dropping the call to
> sdw_show_ping_status() but this can be added back in end drivers that
> used it originally.
>
> Currently this is causing rand config issues on RT5682 and will soon
> also cause similar problems on cs42l43.

Acked-by: Vinod Koul <vkoul@xxxxxxxxxx>


--
~Vinod