linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH RFC] arm: mini2440: Fix uda134x codec problem.
@ 2011-03-09 20:46 Marek Belisko
  2011-03-11 12:14 ` Liam Girdwood
  2011-03-11 12:17 ` Mark Brown
  0 siblings, 2 replies; 6+ messages in thread
From: Marek Belisko @ 2011-03-09 20:46 UTC (permalink / raw)
  To: linux-arm-kernel

ASoC audio for mini2440 platform in current kenrel doesn't work.
First problem is samsung_asoc_dma device is missing in initialization.
Next problem is with codec. Codec is initialized but never probed
because no platform_device exist for codec driver. It leads to errors
during codec binding to asoc dai. Next problem was platform data which
was passed from board to asoc main driver but not passed to codec when
called codec_soc_probe().

Following patch should fix issues. But not sure if in correct way.
Please review.

Signed-off-by: Marek Belisko <marek.belisko@open-nandra.com>
---
 arch/arm/mach-s3c2440/mach-mini2440.c |    7 +++++++
 sound/soc/codecs/uda134x.c            |    3 ++-
 sound/soc/samsung/s3c24xx_uda134x.c   |    3 ++-
 3 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/arch/arm/mach-s3c2440/mach-mini2440.c b/arch/arm/mach-s3c2440/mach-mini2440.c
index f62bb4c..7c3fb07 100644
--- a/arch/arm/mach-s3c2440/mach-mini2440.c
+++ b/arch/arm/mach-s3c2440/mach-mini2440.c
@@ -506,6 +506,11 @@ static struct i2c_board_info mini2440_i2c_devs[] __initdata = {
 	},
 };
 
+static struct platform_device uda1340_codec = {
+		.name = "uda134x-codec",
+		.id = -1,
+};
+
 static struct platform_device *mini2440_devices[] __initdata = {
 	&s3c_device_ohci,
 	&s3c_device_wdt,
@@ -521,7 +526,9 @@ static struct platform_device *mini2440_devices[] __initdata = {
 	&s3c_device_nand,
 	&s3c_device_sdi,
 	&s3c_device_iis,
+	&uda1340_codec,
 	&mini2440_audio,
+	&samsung_asoc_dma,
 };
 
 static void __init mini2440_map_io(void)
diff --git a/sound/soc/codecs/uda134x.c b/sound/soc/codecs/uda134x.c
index e76847a..48ffd40 100644
--- a/sound/soc/codecs/uda134x.c
+++ b/sound/soc/codecs/uda134x.c
@@ -486,7 +486,8 @@ static struct snd_soc_dai_driver uda134x_dai = {
 static int uda134x_soc_probe(struct snd_soc_codec *codec)
 {
 	struct uda134x_priv *uda134x;
-	struct uda134x_platform_data *pd = dev_get_drvdata(codec->card->dev);
+	struct uda134x_platform_data *pd = codec->card->dev->platform_data;
+
 	int ret;
 
 	printk(KERN_INFO "UDA134X SoC Audio Codec\n");
diff --git a/sound/soc/samsung/s3c24xx_uda134x.c b/sound/soc/samsung/s3c24xx_uda134x.c
index 2c09e93..86f1dc4 100644
--- a/sound/soc/samsung/s3c24xx_uda134x.c
+++ b/sound/soc/samsung/s3c24xx_uda134x.c
@@ -226,7 +226,7 @@ static struct snd_soc_ops s3c24xx_uda134x_ops = {
 static struct snd_soc_dai_link s3c24xx_uda134x_dai_link = {
 	.name = "UDA134X",
 	.stream_name = "UDA134X",
-	.codec_name = "uda134x-hifi",
+	.codec_name = "uda134x-codec",
 	.codec_dai_name = "uda134x-hifi",
 	.cpu_dai_name = "s3c24xx-iis",
 	.ops = &s3c24xx_uda134x_ops,
@@ -321,6 +321,7 @@ static int s3c24xx_uda134x_probe(struct platform_device *pdev)
 
 	platform_set_drvdata(s3c24xx_uda134x_snd_device,
 			     &snd_soc_s3c24xx_uda134x);
+	platform_device_add_data(s3c24xx_uda134x_snd_device, &s3c24xx_uda134x, sizeof(s3c24xx_uda134x));
 	ret = platform_device_add(s3c24xx_uda134x_snd_device);
 	if (ret) {
 		printk(KERN_ERR "S3C24XX_UDA134X SoC Audio: Unable to add\n");
-- 
1.7.1

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

* [PATCH RFC] arm: mini2440: Fix uda134x codec problem.
  2011-03-09 20:46 [PATCH RFC] arm: mini2440: Fix uda134x codec problem Marek Belisko
@ 2011-03-11 12:14 ` Liam Girdwood
  2011-03-11 12:17 ` Mark Brown
  1 sibling, 0 replies; 6+ messages in thread
From: Liam Girdwood @ 2011-03-11 12:14 UTC (permalink / raw)
  To: linux-arm-kernel

On Wed, 2011-03-09 at 21:46 +0100, Marek Belisko wrote:
> ASoC audio for mini2440 platform in current kenrel doesn't work.
> First problem is samsung_asoc_dma device is missing in initialization.
> Next problem is with codec. Codec is initialized but never probed
> because no platform_device exist for codec driver. It leads to errors
> during codec binding to asoc dai. Next problem was platform data which
> was passed from board to asoc main driver but not passed to codec when
> called codec_soc_probe().
> 
> Following patch should fix issues. But not sure if in correct way.
> Please review.
> 
> Signed-off-by: Marek Belisko <marek.belisko@open-nandra.com>

Acked-by: Liam Girdwood <lrg@ti.com>

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

* [PATCH RFC] arm: mini2440: Fix uda134x codec problem.
  2011-03-09 20:46 [PATCH RFC] arm: mini2440: Fix uda134x codec problem Marek Belisko
  2011-03-11 12:14 ` Liam Girdwood
@ 2011-03-11 12:17 ` Mark Brown
  2011-03-11 12:23   ` Belisko Marek
  1 sibling, 1 reply; 6+ messages in thread
From: Mark Brown @ 2011-03-11 12:17 UTC (permalink / raw)
  To: linux-arm-kernel

On Wed, Mar 09, 2011 at 09:46:20PM +0100, Marek Belisko wrote:
> ASoC audio for mini2440 platform in current kenrel doesn't work.
> First problem is samsung_asoc_dma device is missing in initialization.
> Next problem is with codec. Codec is initialized but never probed

Applied, thanks.  With changes like this you should really split things
up into a small patch series - if you ever find yourself writing
"Next problem..." or "Also..." then going on to describe a separate
change that's a sign that you should be writing a separate patch.

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

* [PATCH RFC] arm: mini2440: Fix uda134x codec problem.
  2011-03-11 12:17 ` Mark Brown
@ 2011-03-11 12:23   ` Belisko Marek
  2011-03-11 12:26     ` Mark Brown
  0 siblings, 1 reply; 6+ messages in thread
From: Belisko Marek @ 2011-03-11 12:23 UTC (permalink / raw)
  To: linux-arm-kernel

On Fri, Mar 11, 2011 at 1:17 PM, Mark Brown
<broonie@opensource.wolfsonmicro.com> wrote:
> On Wed, Mar 09, 2011 at 09:46:20PM +0100, Marek Belisko wrote:
>> ASoC audio for mini2440 platform in current kenrel doesn't work.
>> First problem is samsung_asoc_dma device is missing in initialization.
>> Next problem is with codec. Codec is initialized but never probed
>
> Applied, thanks. ?With changes like this you should really split things
> up into a small patch series - if you ever find yourself writing
> "Next problem..." or "Also..." then going on to describe a separate
> change that's a sign that you should be writing a separate patch.
You're right. I think sending whole patch to help understand what
I'm trying to do (because wasn't sure). You apply just asoc part right?
Thanks for comments!
>

regards,

marek

-- 
as simple and primitive as possible
-------------------------------------------------
Marek Belisko - OPEN-NANDRA
Freelance Developer

Ruska Nova Ves 219 | Presov, 08005 Slovak Republic
Tel: +421 915 052 184
skype: marekwhite
icq: 290551086
web: http://open-nandra.com

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

* [PATCH RFC] arm: mini2440: Fix uda134x codec problem.
  2011-03-11 12:23   ` Belisko Marek
@ 2011-03-11 12:26     ` Mark Brown
  2011-03-21 23:17       ` Ben Dooks
  0 siblings, 1 reply; 6+ messages in thread
From: Mark Brown @ 2011-03-11 12:26 UTC (permalink / raw)
  To: linux-arm-kernel

On Fri, Mar 11, 2011 at 01:23:37PM +0100, Belisko Marek wrote:

> You're right. I think sending whole patch to help understand what
> I'm trying to do (because wasn't sure). You apply just asoc part right?
> Thanks for comments!

I applied everything, Ben has said he is very busy so it seemed easiest
to just merge the whole thing.

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

* [PATCH RFC] arm: mini2440: Fix uda134x codec problem.
  2011-03-11 12:26     ` Mark Brown
@ 2011-03-21 23:17       ` Ben Dooks
  0 siblings, 0 replies; 6+ messages in thread
From: Ben Dooks @ 2011-03-21 23:17 UTC (permalink / raw)
  To: linux-arm-kernel

On Fri, Mar 11, 2011 at 12:26:37PM +0000, Mark Brown wrote:
> On Fri, Mar 11, 2011 at 01:23:37PM +0100, Belisko Marek wrote:
> 
> > You're right. I think sending whole patch to help understand what
> > I'm trying to do (because wasn't sure). You apply just asoc part right?
> > Thanks for comments!
> 
> I applied everything, Ben has said he is very busy so it seemed easiest
> to just merge the whole thing.

That's fine, and as long as it doesn't mess up other merges I'm generally
ok with this.

-- 
Ben Dooks, ben at fluff.org, http://www.fluff.org/ben/

Large Hadron Colada: A large Pina Colada that makes the universe disappear.

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

end of thread, other threads:[~2011-03-21 23:17 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-03-09 20:46 [PATCH RFC] arm: mini2440: Fix uda134x codec problem Marek Belisko
2011-03-11 12:14 ` Liam Girdwood
2011-03-11 12:17 ` Mark Brown
2011-03-11 12:23   ` Belisko Marek
2011-03-11 12:26     ` Mark Brown
2011-03-21 23:17       ` Ben Dooks

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).