All of lore.kernel.org
 help / color / mirror / Atom feed
* Re: [PATCH 1/2] ASoC: ad1836: convert to use snd_soc_register_card
  2012-08-09 22:08 [PATCH 1/2] ASoC: ad1836: convert to use snd_soc_register_card Scott Jiang
@ 2012-08-09 13:08 ` Mark Brown
  2012-08-09 22:08 ` [PATCH 2/2] ASoC: bfin: fix memory leak in sport3 controller driver Scott Jiang
  1 sibling, 0 replies; 4+ messages in thread
From: Mark Brown @ 2012-08-09 13:08 UTC (permalink / raw)
  To: Scott Jiang; +Cc: uclinux-dist-devel, alsa-devel

On Thu, Aug 09, 2012 at 06:08:39PM -0400, Scott Jiang wrote:
> Cpu dai and codec name are passed in through platform data.

Won't applying this break all existing boards - there's no patch adding
platform data here?  We should merge the updates for the boards together
with the driver update to ensure they still work, or provide default
platform data so that only boards that wish to change something from the
current code need to be updated.

Also, the patch description should be something like "ASoC: bf5xx-ad1836"
as it's a board driver change.

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH 2/2] ASoC: bfin: fix memory leak in sport3 controller driver
  2012-08-09 22:08 ` [PATCH 2/2] ASoC: bfin: fix memory leak in sport3 controller driver Scott Jiang
@ 2012-08-09 13:09   ` Mark Brown
  0 siblings, 0 replies; 4+ messages in thread
From: Mark Brown @ 2012-08-09 13:09 UTC (permalink / raw)
  To: Scott Jiang; +Cc: uclinux-dist-devel, alsa-devel

On Thu, Aug 09, 2012 at 06:08:40PM -0400, Scott Jiang wrote:
> Signed-off-by: Scott Jiang <scott.jiang.linux@gmail.com>

Applied, thanks.

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH 1/2] ASoC: ad1836: convert to use snd_soc_register_card
@ 2012-08-09 22:08 Scott Jiang
  2012-08-09 13:08 ` Mark Brown
  2012-08-09 22:08 ` [PATCH 2/2] ASoC: bfin: fix memory leak in sport3 controller driver Scott Jiang
  0 siblings, 2 replies; 4+ messages in thread
From: Scott Jiang @ 2012-08-09 22:08 UTC (permalink / raw)
  To: Mark Brown, alsa-devel, uclinux-dist-devel; +Cc: Scott Jiang

Cpu dai and codec name are passed in through platform data.

Signed-off-by: Scott Jiang <scott.jiang.linux@gmail.com>
---
 sound/soc/blackfin/bf5xx-ad1836.c |   73 +++++++++++++++++++------------------
 1 files changed, 37 insertions(+), 36 deletions(-)

diff --git a/sound/soc/blackfin/bf5xx-ad1836.c b/sound/soc/blackfin/bf5xx-ad1836.c
index d542d40..16b9c9e 100644
--- a/sound/soc/blackfin/bf5xx-ad1836.c
+++ b/sound/soc/blackfin/bf5xx-ad1836.c
@@ -59,62 +59,63 @@ static struct snd_soc_ops bf5xx_ad1836_ops = {
 #define BF5XX_AD1836_DAIFMT (SND_SOC_DAIFMT_DSP_A | SND_SOC_DAIFMT_IB_IF | \
 				SND_SOC_DAIFMT_CBM_CFM)
 
-static struct snd_soc_dai_link bf5xx_ad1836_dai[] = {
-	{
-		.name = "ad1836",
-		.stream_name = "AD1836",
-		.cpu_dai_name = "bfin-tdm.0",
-		.codec_dai_name = "ad1836-hifi",
-		.platform_name = "bfin-tdm-pcm-audio",
-		.codec_name = "spi0.4",
-		.ops = &bf5xx_ad1836_ops,
-		.dai_fmt = BF5XX_AD1836_DAIFMT,
-	},
-	{
-		.name = "ad1836",
-		.stream_name = "AD1836",
-		.cpu_dai_name = "bfin-tdm.1",
-		.codec_dai_name = "ad1836-hifi",
-		.platform_name = "bfin-tdm-pcm-audio",
-		.codec_name = "spi0.4",
-		.ops = &bf5xx_ad1836_ops,
-		.dai_fmt = BF5XX_AD1836_DAIFMT,
-	},
+static struct snd_soc_dai_link bf5xx_ad1836_dai = {
+	.name = "ad1836",
+	.stream_name = "AD1836",
+	.codec_dai_name = "ad1836-hifi",
+	.platform_name = "bfin-tdm-pcm-audio",
+	.ops = &bf5xx_ad1836_ops,
+	.dai_fmt = BF5XX_AD1836_DAIFMT,
 };
 
 static struct snd_soc_card bf5xx_ad1836 = {
 	.name = "bfin-ad1836",
 	.owner = THIS_MODULE,
-	.dai_link = &bf5xx_ad1836_dai[CONFIG_SND_BF5XX_SPORT_NUM],
+	.dai_link = &bf5xx_ad1836_dai,
 	.num_links = 1,
 };
 
-static struct platform_device *bfxx_ad1836_snd_device;
-
-static int __init bf5xx_ad1836_init(void)
+static __devinit int bf5xx_ad1836_driver_probe(struct platform_device *pdev)
 {
+	struct snd_soc_card *card = &bf5xx_ad1836;
+	const char **link_name;
 	int ret;
 
-	bfxx_ad1836_snd_device = platform_device_alloc("soc-audio", -1);
-	if (!bfxx_ad1836_snd_device)
-		return -ENOMEM;
+	link_name = pdev->dev.platform_data;
+	if (!link_name) {
+		dev_err(&pdev->dev, "No platform data supplied\n");
+		return -EINVAL;
+	}
+	bf5xx_ad1836_dai.cpu_dai_name = link_name[0];
+	bf5xx_ad1836_dai.codec_name = link_name[1];
 
-	platform_set_drvdata(bfxx_ad1836_snd_device, &bf5xx_ad1836);
-	ret = platform_device_add(bfxx_ad1836_snd_device);
+	card->dev = &pdev->dev;
+	platform_set_drvdata(pdev, card);
 
+	ret = snd_soc_register_card(card);
 	if (ret)
-		platform_device_put(bfxx_ad1836_snd_device);
-
+		dev_err(&pdev->dev, "Failed to register card\n");
 	return ret;
 }
 
-static void __exit bf5xx_ad1836_exit(void)
+static int __devexit bf5xx_ad1836_driver_remove(struct platform_device *pdev)
 {
-	platform_device_unregister(bfxx_ad1836_snd_device);
+	struct snd_soc_card *card = platform_get_drvdata(pdev);
+
+	snd_soc_unregister_card(card);
+	return 0;
 }
 
-module_init(bf5xx_ad1836_init);
-module_exit(bf5xx_ad1836_exit);
+static struct platform_driver bf5xx_ad1836_driver = {
+	.driver = {
+		.name = "bfin-snd-ad1836",
+		.owner = THIS_MODULE,
+		.pm = &snd_soc_pm_ops,
+	},
+	.probe = bf5xx_ad1836_driver_probe,
+	.remove = __devexit_p(bf5xx_ad1836_driver_remove),
+};
+module_platform_driver(bf5xx_ad1836_driver);
 
 /* Module information */
 MODULE_AUTHOR("Barry Song");
-- 
1.7.0.4

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [PATCH 2/2] ASoC: bfin: fix memory leak in sport3 controller driver
  2012-08-09 22:08 [PATCH 1/2] ASoC: ad1836: convert to use snd_soc_register_card Scott Jiang
  2012-08-09 13:08 ` Mark Brown
@ 2012-08-09 22:08 ` Scott Jiang
  2012-08-09 13:09   ` Mark Brown
  1 sibling, 1 reply; 4+ messages in thread
From: Scott Jiang @ 2012-08-09 22:08 UTC (permalink / raw)
  To: Mark Brown, alsa-devel, uclinux-dist-devel; +Cc: Scott Jiang

Signed-off-by: Scott Jiang <scott.jiang.linux@gmail.com>
---
 sound/soc/blackfin/bf6xx-sport.c |    7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)

diff --git a/sound/soc/blackfin/bf6xx-sport.c b/sound/soc/blackfin/bf6xx-sport.c
index 318c5ba..dfb7443 100644
--- a/sound/soc/blackfin/bf6xx-sport.c
+++ b/sound/soc/blackfin/bf6xx-sport.c
@@ -413,7 +413,14 @@ EXPORT_SYMBOL(sport_create);
 
 void sport_delete(struct sport_device *sport)
 {
+	if (sport->tx_desc)
+		dma_free_coherent(NULL, sport->tx_desc_size,
+				sport->tx_desc, 0);
+	if (sport->rx_desc)
+		dma_free_coherent(NULL, sport->rx_desc_size,
+				sport->rx_desc, 0);
 	sport_free_resource(sport);
+	kfree(sport);
 }
 EXPORT_SYMBOL(sport_delete);
 
-- 
1.7.0.4

^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2012-08-09 12:39 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-08-09 22:08 [PATCH 1/2] ASoC: ad1836: convert to use snd_soc_register_card Scott Jiang
2012-08-09 13:08 ` Mark Brown
2012-08-09 22:08 ` [PATCH 2/2] ASoC: bfin: fix memory leak in sport3 controller driver Scott Jiang
2012-08-09 13:09   ` Mark Brown

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.