All of lore.kernel.org
 help / color / mirror / Atom feed
From: Peter Ujfalusi <peter.ujfalusi@ti.com>
To: Liam Girdwood <lrg@ti.com>,
	Mark Brown <broonie@opensource.wolfsonmicro.com>,
	Tony Lindgren <tony@atomide.com>
Cc: Misael Lopez Cruz <misael.lopez@ti.com>,
	alsa-devel@alsa-project.org, linux-omap@vger.kernel.org
Subject: [PATCH 06/10] ASoC: omap-abe-twl6040: Convert to platform deriver
Date: Wed, 14 Dec 2011 11:46:59 +0200	[thread overview]
Message-ID: <1323856022-24053-7-git-send-email-peter.ujfalusi@ti.com> (raw)
In-Reply-To: <1323856022-24053-1-git-send-email-peter.ujfalusi@ti.com>

Convert the OMAP4 ABE/TWL6040 machine driver to platform
driver.
For the card name use the string provided via platform data.
The card's name for OMAP4 SDP4430 has been changed:
SDP4430 -> OMAP4-SDP4430

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
---
 sound/soc/omap/omap-abe-twl6040.c |   59 ++++++++++++++++++++++--------------
 1 files changed, 36 insertions(+), 23 deletions(-)

diff --git a/sound/soc/omap/omap-abe-twl6040.c b/sound/soc/omap/omap-abe-twl6040.c
index 9c6d97a..4974ea1 100644
--- a/sound/soc/omap/omap-abe-twl6040.c
+++ b/sound/soc/omap/omap-abe-twl6040.c
@@ -23,6 +23,7 @@
 #include <linux/clk.h>
 #include <linux/platform_device.h>
 #include <linux/mfd/twl6040.h>
+#include <linux/platform_data/omap-abe-twl6040.h>
 #include <linux/module.h>
 
 #include <sound/core.h>
@@ -226,7 +227,6 @@ static struct snd_soc_dai_link sdp4430_dai[] = {
 
 /* Audio machine driver */
 static struct snd_soc_card omapabe_card = {
-	.name = "SDP4430",
 	.dai_link = sdp4430_dai,
 	.num_links = ARRAY_SIZE(sdp4430_dai),
 
@@ -236,43 +236,56 @@ static struct snd_soc_card omapabe_card = {
 	.num_dapm_routes = ARRAY_SIZE(audio_map),
 };
 
-static struct platform_device *omapabe_snd_device;
-
-static int __init omapabe_soc_init(void)
+static __devinit int omapabe_probe(struct platform_device *pdev)
 {
+	struct omap_abe_twl6040_data *pdata = dev_get_platdata(&pdev->dev);
+	struct snd_soc_card *card = &omapabe_card;
 	int ret;
 
-	if (!machine_is_omap_4430sdp())
-		return -ENODEV;
-	printk(KERN_INFO "SDP4430 SoC init\n");
+	card->dev = &pdev->dev;
 
-	omapabe_snd_device = platform_device_alloc("soc-audio", -1);
-	if (!omapabe_snd_device) {
-		printk(KERN_ERR "Platform device allocation failed\n");
-		return -ENOMEM;
+	if (!pdata) {
+		dev_err(&pdev->dev, "Missing pdata\n");
+		return -ENODEV;
 	}
 
-	platform_set_drvdata(omapabe_snd_device, &omapabe_card);
+	if (pdata->card_name) {
+		card->name = pdata->card_name;
+	} else {
+		dev_err(&pdev->dev, "Card name is not provided\n");
+		return -ENODEV;
+	}
 
-	ret = platform_device_add(omapabe_snd_device);
+	ret = snd_soc_register_card(card);
 	if (ret)
-		goto err;
-
-	return 0;
+		dev_err(&pdev->dev, "snd_soc_register_card() failed: %d\n",
+			ret);
 
-err:
-	printk(KERN_ERR "Unable to add platform device\n");
-	platform_device_put(omapabe_snd_device);
 	return ret;
 }
-module_init(omapabe_soc_init);
 
-static void __exit omapabe_soc_exit(void)
+static int __devexit omapabe_remove(struct platform_device *pdev)
 {
-	platform_device_unregister(omapabe_snd_device);
+	struct snd_soc_card *card = platform_get_drvdata(pdev);
+
+	snd_soc_unregister_card(card);
+
+	return 0;
 }
-module_exit(omapabe_soc_exit);
+
+static struct platform_driver omapabe_driver = {
+	.driver = {
+		.name = "omap-abe-twl6040",
+		.owner = THIS_MODULE,
+		.pm = &snd_soc_pm_ops,
+	},
+	.probe = omapabe_probe,
+	.remove = __devexit_p(omapabe_remove),
+};
+
+module_platform_driver(omapabe_driver);
 
 MODULE_AUTHOR("Misael Lopez Cruz <misael.lopez@ti.com>");
 MODULE_DESCRIPTION("ALSA SoC for OMAP boards with ABE and twl6040 codec");
 MODULE_LICENSE("GPL");
+MODULE_ALIAS("platform:omap-abe-twl6040");
-- 
1.7.8


  parent reply	other threads:[~2011-12-14  9:49 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-12-14  9:46 [PATCH 00/10] OMAP4: ASoC: Support for PandaBoard family Peter Ujfalusi
2011-12-14  9:46 ` [PATCH 01/10] ASoC: sdp4430: Correct author e-mail address Peter Ujfalusi
2011-12-14 10:06   ` Mark Brown
2011-12-14  9:46 ` [PATCH 02/10] ASoC: OMAP4: Rename the sdp4430 machine driver Peter Ujfalusi
2011-12-14 10:22   ` Mark Brown
2011-12-14  9:46 ` [PATCH 03/10] ASoC: omap-abe-twl6040: Correct internal prefix, Kconfig entry Peter Ujfalusi
2011-12-14 10:23   ` Mark Brown
2011-12-14  9:46 ` [PATCH 04/10] include: platform_data: Platform data header for OMAP4 ASoC audio Peter Ujfalusi
2011-12-14  9:57   ` Mark Brown
2011-12-15 13:02     ` Péter Ujfalusi
2011-12-17  9:36       ` Mark Brown
2011-12-19 14:04         ` Peter Ujfalusi
2011-12-19 19:20           ` Tony Lindgren
2011-12-20  0:47             ` Mark Brown
2011-12-20  0:24           ` Mark Brown
2011-12-14  9:46 ` [PATCH 05/10] OMAP4: 4430sdp: Register platform device for OMAP4 audio Peter Ujfalusi
2011-12-14 18:00   ` Tony Lindgren
2011-12-14  9:46 ` Peter Ujfalusi [this message]
2011-12-14 10:01   ` [PATCH 06/10] ASoC: omap-abe-twl6040: Convert to platform deriver Mark Brown
2011-12-14 10:15     ` Péter Ujfalusi
2011-12-14 11:27       ` Mark Brown
2011-12-15  8:17         ` Péter Ujfalusi
2011-12-15 13:01           ` Péter Ujfalusi
2011-12-14  9:47 ` [PATCH 07/10] ASoC: omap-abe-twl6040: Add support for PandaBoard Peter Ujfalusi
2011-12-14  9:47 ` [PATCH 08/10] OMAP4: omap4panda: Enable audio support Peter Ujfalusi
2011-12-14 18:02   ` Tony Lindgren
2011-12-14  9:47 ` [PATCH 09/10] ASoC: omap-abe-twl6040: Add missing audio route information Peter Ujfalusi
2011-12-14 10:14   ` [alsa-devel] " Mark Brown
2011-12-21 18:26 ` [PATCH 00/10] OMAP4: ASoC: Support for PandaBoard family Liam Girdwood

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1323856022-24053-7-git-send-email-peter.ujfalusi@ti.com \
    --to=peter.ujfalusi@ti.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=broonie@opensource.wolfsonmicro.com \
    --cc=linux-omap@vger.kernel.org \
    --cc=lrg@ti.com \
    --cc=misael.lopez@ti.com \
    --cc=tony@atomide.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.