At Wed, 14 Jan 2015 13:57:03 +0100, Lars-Peter Clausen wrote: > > On 01/14/2015 01:02 PM, Mark Brown wrote: > [...] > >>> I don't think that we need to prevent module unload when a stream is > >>> active. > >>> From a framework point of view is not different from hot-unplug. I don't > >>> see a reason why we'd jump through hoops to actively forbid removing the > >>> module once it works just fine. > > > >> Well, the module unload means a more drastic cleanup. Even if you > >> unbind, the code and data are still there while module unload may > >> clean them up all. > > > >> Above all, disallowing the module unload while using is the common > >> behavior of any other drivers. Why do we have to be a rebel against > >> all civil manner? :) > > > > That's not true for everything and for ASoC I'd tend to assume that the > > user knows what they're doing and has a good reason for it; it's > > certainly something that can be helpful in development. > > > My personal opinion on this is that disallowing module removal while a > driver registered by the module when is in use, while there is no technical > reason to do so, is a anti-feature. Whether in ALSA or elsewhere. > > But looking at the source it seems that this is a core feature of ALSA and > at least for the card module itself it will do the ref-counting when a > stream is started/stopped. And we even support setting the owner of a card > in ASoC. It's just that pretty much no ASoC card driver bothers to set the > owner field in the snd_soc_card struct. So this particular problem can be > fixed by updating the imx-wm8962 driver to set the owner field.
Right, and that's what I wanted to hear. My concern was about the missing piece in the existing core part. The rest of hotplug fix is of course a thing to be done in anyway. Takashi -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/