diff options
author | Uwe Kleine-König <ukleinek@informatik.uni-freiburg.de> | 2008-09-09 13:47:11 +0200 |
---|---|---|
committer | Jaroslav Kysela <perex@perex.cz> | 2008-09-09 18:51:56 +0200 |
commit | e8f18ae558b30783c2c0f6df32626fbc789ba6f6 (patch) | |
tree | 77f31d8af199596a1167df0a7b416b28001202d2 /sound/arm/sa11xx-uda1341.c | |
parent | e99d32b325ac68bd2ffbbe8edc44cbaf5d91e4be (diff) | |
download | linux-stable-e8f18ae558b30783c2c0f6df32626fbc789ba6f6.tar.gz linux-stable-e8f18ae558b30783c2c0f6df32626fbc789ba6f6.tar.bz2 linux-stable-e8f18ae558b30783c2c0f6df32626fbc789ba6f6.zip |
ALSA: fix section for sa11xx-uda1341 platform driver
Don't use __init but __devinit to define probe function. A pointer to
sa11xx_uda1341_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_SA11XX_UDA1341=m the following
probably oopses:
echo -n sa11xx_uda1341.1 > /sys/bus/platform/driver/sa11xx_uda1341/unbind
echo -n sa11xx_uda1341.1 > /sys/bus/platform/driver/sa11xx_uda1341/bind
Signed-off-by: Uwe Kleine-König <ukleinek@informatik.uni-freiburg.de>
Cc: Russell King <rmk+kernel@arm.linux.org.uk>
Cc: Brian Avery <b.avery@hp.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Diffstat (limited to 'sound/arm/sa11xx-uda1341.c')
-rw-r--r-- | sound/arm/sa11xx-uda1341.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sound/arm/sa11xx-uda1341.c b/sound/arm/sa11xx-uda1341.c index 8addb9d914c1..1dcd51d81d10 100644 --- a/sound/arm/sa11xx-uda1341.c +++ b/sound/arm/sa11xx-uda1341.c @@ -880,7 +880,7 @@ void snd_sa11xx_uda1341_free(struct snd_card *card) audio_dma_free(&chip->s[SNDRV_PCM_STREAM_CAPTURE]); } -static int __init sa11xx_uda1341_probe(struct platform_device *devptr) +static int __devinit sa11xx_uda1341_probe(struct platform_device *devptr) { int err; struct snd_card *card; |