On Tue, Jan 21, 2020 at 07:29:37PM +0100, Maxime Ripard wrote:
Mark, our issue here is that we have a driver tied to a device that is an HDMI encoder. Obviously, we'll want to register into DRM, which is what we were doing so far, with the usual case where at remove / unbind time, in order to free the resources, we just retrieve our pointer to our private structure using the device's drvdata.
Now, snd_soc_register_card also sets that pointer to the card we try to register, which is problematic. It seems that it's used to handle suspend / resume automatically, which in this case would be also not really fit for us (or rather, we would need to do more that just suspend the audio part).
There's a drvdata field in the snd_soc_card for cases like this - would that work for you?