On 18/10/2023 14:56, Mark Brown wrote: > On Wed, Oct 18, 2023 at 02:38:00PM +0200, Krzysztof Kozlowski wrote: >> On 18/10/2023 14:35, Mark Brown wrote: > >>> How do the speakers coordinate? > >> They don't and that's the generic problem of many Linux drivers. Not >> only this one, but others as well. > >> Device unbind (remove()) or runtime suspend of one speaker will affect >> other speaker. I don't think any other drivers solved this, because this >> is rather core's GPIO issue, thus I am not solving it here either. :( > > I'd expect that the GPIO users should coordiante directly rather than > rely on the GPIO API to do the coordination for them - there aren't > enough semantics in the GPIO itself to do much more except possibly > provide discovery services (which would be nice). Look at how the > regulator API manages multiple regulators sharing an enable GPIO for > example, it adds an additional layer of reference counting when it > identifies a shared GPIO. OK, it is still regulator core, though. Not individual drivers problem. Several other existing drivers have the same issue, so this should be solved in a generic or shared way. Best regards, Krzysztof