Thread (8 messages) 8 messages, 4 authors, 2008-06-22

Re: [PATCH] input: make mainstone-wm97xx.c depend on MACH_MAINSTONE instead of ARCH_PXA

From: Mike Rapoport <hidden>
Date: 2008-06-17 11:52:42
Subsystem: sound, sound - soc layer / dynamic audio power management (asoc), the rest · Maintainers: Jaroslav Kysela, Takashi Iwai, Liam Girdwood, Mark Brown, Linus Torvalds


Mark Brown wrote:
On Tue, Jun 17, 2008 at 09:06:38AM +0800, Eric Miao wrote:
quoted
Mike Rapoport said it could be re-used for EM-X270, so I'd suggest this
better to be PXA generic, and pass platform data as you advised.
Yeah, that's the ideal.  Unfortunately passing platform data through
AC97 is a bit of a can of worms :(
Probably something like the patch below may allow passing platform data at least
for ASoC devices:
diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c
index e148db9..690aec4 100644
--- a/sound/soc/soc-core.c
+++ b/sound/soc/soc-core.c
@@ -92,13 +92,15 @@ static int soc_ac97_dev_unregister(struct snd_soc_codec *codec)
 static void soc_ac97_device_release(struct device *dev){}

 /* register ac97 codec to bus */
-static int soc_ac97_dev_register(struct snd_soc_codec *codec)
+static int soc_ac97_dev_register(struct snd_soc_device *socdev)
 {
+	struct snd_soc_codec *codec = socdev->codec;
 	int err;

 	codec->ac97->dev.bus = &ac97_bus_type;
 	codec->ac97->dev.parent = NULL;
 	codec->ac97->dev.release = soc_ac97_device_release;
+	codec->ac97->dev.platform_data = socdev->dev->platform_data;

 	snprintf(codec->ac97->dev.bus_id, BUS_ID_SIZE, "%d-%d:%s",
 		 codec->card->number, 0, codec->name);
@@ -1130,7 +1132,7 @@ int snd_soc_register_card(struct snd_soc_device *socdev)
 	mutex_lock(&codec->mutex);
 #ifdef CONFIG_SND_SOC_AC97_BUS
 	if (ac97) {
-		ret = soc_ac97_dev_register(codec);
+		ret = soc_ac97_dev_register(socdev);
 		if (ret < 0) {
 			printk(KERN_ERR "asoc: AC97 device register failed\n");
 			snd_card_free(codec->card);

-------------------------------------------------------------------
List admin: http://lists.arm.linux.org.uk/mailman/listinfo/linux-arm-kernel
FAQ:        http://www.arm.linux.org.uk/mailinglists/faq.php
Etiquette:  http://www.arm.linux.org.uk/mailinglists/etiquette.php
-- 
Sincerely yours,
Mike.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help