On Wed, Sep 3, 2008 at 2:47 PM, Timur Tabi timur@freescale.com wrote:
I'm working on a fix for this, but there's something you need to know. I don't think ASoC V1 modules can be unloaded.
Correction: ASoC drivers can't be compiled as modules, not even the codec drivers. I had to hack up the Kconfigs to get this to work, but there is no way to compile the drivers as modules. If you try, you get this:
CC [M] sound/soc/codecs/cs4270.o LD [M] sound/soc/codecs/snd-soc-cs4270.o ... sound/built-in.o: In function `mpc8610_hpcd_probe': /temp/alsa.1994/sound/soc/fsl/mpc8610_hpcd.c:455: undefined reference to `cs4270_dai' /temp/alsa.1994/sound/soc/fsl/mpc8610_hpcd.c:455: undefined reference to `cs4270_dai' /temp/alsa.1994/sound/soc/fsl/mpc8610_hpcd.c:469: undefined reference to `soc_codec_device_cs4270' /temp/alsa.1994/sound/soc/fsl/mpc8610_hpcd.c:469: undefined reference to `soc_codec_device_cs4270' make: *** [.tmp_vmlinux1] Error 1
So I don't see how an I2C 'remove' function would ever be called anyway. If you can show me how, I'll add it.
Now, the ASoC V2 driver can be loaded and unloaded, and I'm pretty sure I have bugs there.