]> git.baikalelectronics.ru Git - kernel.git/commit
ALSA: Fix section for snd-aica platform driver
authorUwe Kleine-König <ukleinek@informatik.uni-freiburg.de>
Sun, 14 Sep 2008 19:32:33 +0000 (21:32 +0200)
committerJaroslav Kysela <perex@perex.cz>
Tue, 23 Sep 2008 06:17:58 +0000 (08:17 +0200)
commit12032434b16472041e6e5c585016f82524196ed9
treeafef7286cb6e10ef767c86c79c4eeefbc4f7d902
parent4b6d383abc1e3ee436d90fcd9529466c29a72463
ALSA: Fix section for snd-aica platform driver

Don't use __init but __devinit to define probe function.  A pointer to
snd_aica_probe is passed to the core via platform_driver_register and so the
function must not disappear after the module is loaded.  Using __init
and having HOTPLUG=y and SND_AICA=m the following probably oopses:

echo -n AICA > /sys/bus/platform/driver/AICA/unbind
echo -n AICA > /sys/bus/platform/driver/AICA/bind

Strange enough add_aicamixer_controls which is only called by
snd_aica_probe was already using __devinit.

While at it move the remove function to .devexit.text section.

Signed-off-by: Uwe Kleine-König <ukleinek@informatik.uni-freiburg.de>
Cc: Adrian McMenamin <adrian@mcmen.demon.co.uk>
Cc: Paul Mundt <lethal@linux-sh.org>
Cc: Jaroslav Kysela <perex@perex.cz>
Cc: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
sound/sh/aica.c