[alsa-devel] [PATCH v6 02/11] mfd: wcd934x: add support to wcd9340/wcd9341 codec
Srinivas Kandagatla
srinivas.kandagatla at linaro.org
Fri Dec 20 11:27:21 CET 2019
On 19/12/2019 20:05, Pierre-Louis Bossart wrote:
>>>
>> Note these are the child devices of the MFD SLIMBus device.
>
> Ah ok. I guess the creation of those child devices when the parent
> SLIMbus device reports PRESENT initially if fine, it's the part where
> you remove them if the device loses sync or gets powered off which is
> odd. And I guess technically you could still have race conditions where
> a child device starts a transaction just as the parent is no longer
> attached to the bus.
Losing power to SLIMBus device is very odd usecase and if it happens
suggests that threre are bigger issues on the board design itself. This
case should never happen. Even if it happens we would get timeout errors
on every SLIMbus transactions.
>
>>> I would however not remove the devices when the status is down but
>>> only on an explicit .remove.
>>
>> Am open for suggestions but I would not like the child devices to talk
>> on the bus once the SLIMbus device is down! Only way to ensure or make
>> it silent is to remove.
>
> it's as if you are missing a mechanism to forward the parent status to
> the children so use remove() for lack of a better solution?
That is true. This gives bit more control on the slave device lifecycle.
Current solution works fine for now with less complexities across
multiple drivers. I also agree that there is scope of improvement in
future for this.
Thanks,
srini
More information about the Alsa-devel
mailing list