All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2] ASoC: mx27vis-aic32x4: Convert it to platform driver
@ 2012-03-11 20:57 Fabio Estevam
  2012-03-12  8:03 ` javier Martin
  0 siblings, 1 reply; 9+ messages in thread
From: Fabio Estevam @ 2012-03-11 20:57 UTC (permalink / raw)
  To: alsa-devel; +Cc: Fabio Estevam, broonie, Fabio Estevam, javier.martin, kernel

Convert mx27vis-aic32x4 to platform driver.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
---
Changes since v1:
- Fix MODULE_ALIAS
- Rename it to mx27vis

 arch/arm/mach-imx/mach-imx27_visstrim_m10.c |    1 +
 sound/soc/imx/mx27vis-aic32x4.c             |   40 ++++++++++++++-------------
 2 files changed, 22 insertions(+), 19 deletions(-)

diff --git a/arch/arm/mach-imx/mach-imx27_visstrim_m10.c b/arch/arm/mach-imx/mach-imx27_visstrim_m10.c
index 0a1643c..ed6023f 100644
--- a/arch/arm/mach-imx/mach-imx27_visstrim_m10.c
+++ b/arch/arm/mach-imx/mach-imx27_visstrim_m10.c
@@ -397,6 +397,7 @@ static void __init visstrim_m10_board_init(void)
 				      &iclink_tvp5150, sizeof(iclink_tvp5150));
 	gpio_led_register_device(0, &visstrim_m10_led_data);
 	visstrim_camera_init();
+	imx_add_platform_device("mx27vis", 0, NULL, 0, NULL, 0);
 }
 
 static void __init visstrim_m10_timer_init(void)
diff --git a/sound/soc/imx/mx27vis-aic32x4.c b/sound/soc/imx/mx27vis-aic32x4.c
index 976f857..2554397 100644
--- a/sound/soc/imx/mx27vis-aic32x4.c
+++ b/sound/soc/imx/mx27vis-aic32x4.c
@@ -188,22 +188,15 @@ static struct snd_soc_card mx27vis_aic32x4 = {
 	.num_dapm_routes = ARRAY_SIZE(aic32x4_dapm_routes),
 };
 
-static struct platform_device *mx27vis_aic32x4_snd_device;
-
-static int __init mx27vis_aic32x4_init(void)
+static int __devinit mx27vis_aic32x4_probe(struct platform_device *pdev)
 {
 	int ret;
 
-	mx27vis_aic32x4_snd_device = platform_device_alloc("soc-audio", -1);
-	if (!mx27vis_aic32x4_snd_device)
-		return -ENOMEM;
-
-	platform_set_drvdata(mx27vis_aic32x4_snd_device, &mx27vis_aic32x4);
-	ret = platform_device_add(mx27vis_aic32x4_snd_device);
-
+	ret = snd_soc_register_card(&mx27vis_aic32x4);
 	if (ret) {
-		printk(KERN_ERR "ASoC: Platform device allocation failed\n");
-		platform_device_put(mx27vis_aic32x4_snd_device);
+		dev_err(&pdev->dev, "snd_soc_register_card failed (%d)\n",
+			ret);
+		return ret;
 	}
 
 	/* Connect SSI0 as clock slave to SSI1 external pins */
@@ -221,22 +214,31 @@ static int __init mx27vis_aic32x4_init(void)
 
 	ret = mxc_gpio_setup_multiple_pins(mx27vis_amp_pins,
 			ARRAY_SIZE(mx27vis_amp_pins), "MX27VIS_AMP");
-	if (ret) {
+	if (ret)
 		printk(KERN_ERR "ASoC: unable to setup gpios\n");
-		platform_device_put(mx27vis_aic32x4_snd_device);
-	}
 
 	return ret;
 }
 
-static void __exit mx27vis_aic32x4_exit(void)
+static int __devexit mx27vis_aic32x4_remove(struct platform_device *pdev)
 {
-	platform_device_unregister(mx27vis_aic32x4_snd_device);
+	snd_soc_unregister_card(&mx27vis_aic32x4);
+
+	return 0;
 }
 
-module_init(mx27vis_aic32x4_init);
-module_exit(mx27vis_aic32x4_exit);
+static struct platform_driver mx27vis_aic32x4_audio_driver = {
+	.driver = {
+		.name = "mx27vis",
+		.owner = THIS_MODULE,
+	},
+	.probe = mx27vis_aic32x4_probe,
+	.remove = __devexit_p(mx27vis_aic32x4_remove),
+};
+
+module_platform_driver(mx27vis_aic32x4_audio_driver);
 
 MODULE_AUTHOR("Javier Martin <javier.martin@vista-silicon.com>");
 MODULE_DESCRIPTION("ALSA SoC AIC32X4 mx27 visstrim");
 MODULE_LICENSE("GPL");
+MODULE_ALIAS("platform:mx27vis");
-- 
1.7.1

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

* Re: [PATCH v2] ASoC: mx27vis-aic32x4: Convert it to platform driver
  2012-03-11 20:57 [PATCH v2] ASoC: mx27vis-aic32x4: Convert it to platform driver Fabio Estevam
@ 2012-03-12  8:03 ` javier Martin
  2012-03-12 11:11   ` Fabio Estevam
  0 siblings, 1 reply; 9+ messages in thread
From: javier Martin @ 2012-03-12  8:03 UTC (permalink / raw)
  To: Fabio Estevam; +Cc: Fabio Estevam, alsa-devel, broonie, kernel

Hi Fabio,

On 11 March 2012 21:57, Fabio Estevam <festevam@gmail.com> wrote:
> Convert mx27vis-aic32x4 to platform driver.
>
> Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
> ---
> Changes since v1:
> - Fix MODULE_ALIAS
> - Rename it to mx27vis
>
>  arch/arm/mach-imx/mach-imx27_visstrim_m10.c |    1 +
>  sound/soc/imx/mx27vis-aic32x4.c             |   40 ++++++++++++++-------------
>  2 files changed, 22 insertions(+), 19 deletions(-)
>
> diff --git a/arch/arm/mach-imx/mach-imx27_visstrim_m10.c b/arch/arm/mach-imx/mach-imx27_visstrim_m10.c
> index 0a1643c..ed6023f 100644
> --- a/arch/arm/mach-imx/mach-imx27_visstrim_m10.c
> +++ b/arch/arm/mach-imx/mach-imx27_visstrim_m10.c
> @@ -397,6 +397,7 @@ static void __init visstrim_m10_board_init(void)
>                                      &iclink_tvp5150, sizeof(iclink_tvp5150));
>        gpio_led_register_device(0, &visstrim_m10_led_data);
>        visstrim_camera_init();
> +       imx_add_platform_device("mx27vis", 0, NULL, 0, NULL, 0);
>  }
>
>  static void __init visstrim_m10_timer_init(void)
> diff --git a/sound/soc/imx/mx27vis-aic32x4.c b/sound/soc/imx/mx27vis-aic32x4.c
> index 976f857..2554397 100644
> --- a/sound/soc/imx/mx27vis-aic32x4.c
> +++ b/sound/soc/imx/mx27vis-aic32x4.c
> @@ -188,22 +188,15 @@ static struct snd_soc_card mx27vis_aic32x4 = {
>        .num_dapm_routes = ARRAY_SIZE(aic32x4_dapm_routes),
>  };
>
> -static struct platform_device *mx27vis_aic32x4_snd_device;
> -
> -static int __init mx27vis_aic32x4_init(void)
> +static int __devinit mx27vis_aic32x4_probe(struct platform_device *pdev)
>  {
>        int ret;
>
> -       mx27vis_aic32x4_snd_device = platform_device_alloc("soc-audio", -1);
> -       if (!mx27vis_aic32x4_snd_device)
> -               return -ENOMEM;
> -
> -       platform_set_drvdata(mx27vis_aic32x4_snd_device, &mx27vis_aic32x4);
> -       ret = platform_device_add(mx27vis_aic32x4_snd_device);
> -
> +       ret = snd_soc_register_card(&mx27vis_aic32x4);
>        if (ret) {
> -               printk(KERN_ERR "ASoC: Platform device allocation failed\n");
> -               platform_device_put(mx27vis_aic32x4_snd_device);
> +               dev_err(&pdev->dev, "snd_soc_register_card failed (%d)\n",
> +                       ret);
> +               return ret;
>        }
>
>        /* Connect SSI0 as clock slave to SSI1 external pins */
> @@ -221,22 +214,31 @@ static int __init mx27vis_aic32x4_init(void)
>
>        ret = mxc_gpio_setup_multiple_pins(mx27vis_amp_pins,
>                        ARRAY_SIZE(mx27vis_amp_pins), "MX27VIS_AMP");
> -       if (ret) {
> +       if (ret)
>                printk(KERN_ERR "ASoC: unable to setup gpios\n");
> -               platform_device_put(mx27vis_aic32x4_snd_device);
> -       }
>
>        return ret;
>  }
>
> -static void __exit mx27vis_aic32x4_exit(void)
> +static int __devexit mx27vis_aic32x4_remove(struct platform_device *pdev)
>  {
> -       platform_device_unregister(mx27vis_aic32x4_snd_device);
> +       snd_soc_unregister_card(&mx27vis_aic32x4);
> +
> +       return 0;
>  }
>
> -module_init(mx27vis_aic32x4_init);
> -module_exit(mx27vis_aic32x4_exit);
> +static struct platform_driver mx27vis_aic32x4_audio_driver = {
> +       .driver = {
> +               .name = "mx27vis",
> +               .owner = THIS_MODULE,
> +       },
> +       .probe = mx27vis_aic32x4_probe,
> +       .remove = __devexit_p(mx27vis_aic32x4_remove),
> +};
> +
> +module_platform_driver(mx27vis_aic32x4_audio_driver);
>
>  MODULE_AUTHOR("Javier Martin <javier.martin@vista-silicon.com>");
>  MODULE_DESCRIPTION("ALSA SoC AIC32X4 mx27 visstrim");
>  MODULE_LICENSE("GPL");
> +MODULE_ALIAS("platform:mx27vis");
> --

I agree with the patch. However, I think another patch, which
registers this platform device for the visstrim_m10 board file
(http://lxr.linux.no/#linux+v3.2.9/arch/arm/mach-imx/mach-imx27_visstrim_m10.c)
should be applied at the same time. Otherwise, audio would stop
working on this platform and that would be a regression.

Regards.
-- 
Javier Martin
Vista Silicon S.L.
CDTUC - FASE C - Oficina S-345
Avda de los Castros s/n
39005- Santander. Cantabria. Spain
+34 942 25 32 60
www.vista-silicon.com

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

* Re: [PATCH v2] ASoC: mx27vis-aic32x4: Convert it to platform driver
  2012-03-12  8:03 ` javier Martin
@ 2012-03-12 11:11   ` Fabio Estevam
  2012-03-12 11:41     ` javier Martin
  0 siblings, 1 reply; 9+ messages in thread
From: Fabio Estevam @ 2012-03-12 11:11 UTC (permalink / raw)
  To: javier Martin; +Cc: Fabio Estevam, alsa-devel, broonie, kernel

Hi Javier.

On Mon, Mar 12, 2012 at 5:03 AM, javier Martin
<javier.martin@vista-silicon.com> wrote:
>
> I agree with the patch. However, I think another patch, which
> registers this platform device for the visstrim_m10 board file
> (http://lxr.linux.no/#linux+v3.2.9/arch/arm/mach-imx/mach-imx27_visstrim_m10.c)
> should be applied at the same time. Otherwise, audio would stop
> working on this platform and that would be a regression.

The first hunk of this patch does register the audio device inside
arch/arm/mach-imx/mach-imx27_visstrim_m10.c:

diff --git a/arch/arm/mach-imx/mach-imx27_visstrim_m10.c
b/arch/arm/mach-imx/mach-imx27_visstrim_m10.c
index 0a1643c..ed6023f 100644
--- a/arch/arm/mach-imx/mach-imx27_visstrim_m10.c
+++ b/arch/arm/mach-imx/mach-imx27_visstrim_m10.c
@@ -397,6 +397,7 @@ static void __init visstrim_m10_board_init(void)
                                     &iclink_tvp5150, sizeof(iclink_tvp5150));
       gpio_led_register_device(0, &visstrim_m10_led_data);
       visstrim_camera_init();
+       imx_add_platform_device("mx27vis", 0, NULL, 0, NULL, 0);
 }

Did I miss anything?

Regards,

Fabio Estevam

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

* Re: [PATCH v2] ASoC: mx27vis-aic32x4: Convert it to platform driver
  2012-03-12 11:11   ` Fabio Estevam
@ 2012-03-12 11:41     ` javier Martin
  2012-03-12 13:03       ` Fabio Estevam
  0 siblings, 1 reply; 9+ messages in thread
From: javier Martin @ 2012-03-12 11:41 UTC (permalink / raw)
  To: Fabio Estevam; +Cc: Fabio Estevam, alsa-devel, broonie, kernel

Hi Fabio,

On 12 March 2012 12:11, Fabio Estevam <festevam@gmail.com> wrote:
> Hi Javier.
>
> On Mon, Mar 12, 2012 at 5:03 AM, javier Martin
> <javier.martin@vista-silicon.com> wrote:
>>
>> I agree with the patch. However, I think another patch, which
>> registers this platform device for the visstrim_m10 board file
>> (http://lxr.linux.no/#linux+v3.2.9/arch/arm/mach-imx/mach-imx27_visstrim_m10.c)
>> should be applied at the same time. Otherwise, audio would stop
>> working on this platform and that would be a regression.
>
> The first hunk of this patch does register the audio device inside
> arch/arm/mach-imx/mach-imx27_visstrim_m10.c:
>
> diff --git a/arch/arm/mach-imx/mach-imx27_visstrim_m10.c
> b/arch/arm/mach-imx/mach-imx27_visstrim_m10.c
> index 0a1643c..ed6023f 100644
> --- a/arch/arm/mach-imx/mach-imx27_visstrim_m10.c
> +++ b/arch/arm/mach-imx/mach-imx27_visstrim_m10.c
> @@ -397,6 +397,7 @@ static void __init visstrim_m10_board_init(void)
>                                     &iclink_tvp5150, sizeof(iclink_tvp5150));
>       gpio_led_register_device(0, &visstrim_m10_led_data);
>       visstrim_camera_init();
> +       imx_add_platform_device("mx27vis", 0, NULL, 0, NULL, 0);
>  }
>
> Did I miss anything?

Sorry, I missed it, it was quite early in the morning...

Could you please provide a git repository and a branch for me to test
this patch?

Regards.
-- 
Javier Martin
Vista Silicon S.L.
CDTUC - FASE C - Oficina S-345
Avda de los Castros s/n
39005- Santander. Cantabria. Spain
+34 942 25 32 60
www.vista-silicon.com

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

* Re: [PATCH v2] ASoC: mx27vis-aic32x4: Convert it to platform driver
  2012-03-12 11:41     ` javier Martin
@ 2012-03-12 13:03       ` Fabio Estevam
  2012-03-12 13:29         ` Fabio Estevam
  0 siblings, 1 reply; 9+ messages in thread
From: Fabio Estevam @ 2012-03-12 13:03 UTC (permalink / raw)
  To: javier Martin; +Cc: Fabio Estevam, alsa-devel, broonie, kernel

On 3/12/12, javier Martin <javier.martin@vista-silicon.com> wrote:

> Could you please provide a git repository and a branch for me to test
> this patch?

Please apply this patch against linux-next git tree.

Thanks,

Fabio Estevam

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

* Re: [PATCH v2] ASoC: mx27vis-aic32x4: Convert it to platform driver
  2012-03-12 13:03       ` Fabio Estevam
@ 2012-03-12 13:29         ` Fabio Estevam
  2012-03-12 15:05           ` javier Martin
  0 siblings, 1 reply; 9+ messages in thread
From: Fabio Estevam @ 2012-03-12 13:29 UTC (permalink / raw)
  To: javier Martin; +Cc: Fabio Estevam, alsa-devel, broonie, kernel

On 3/12/12, Fabio Estevam <festevam@gmail.com> wrote:
> On 3/12/12, javier Martin <javier.martin@vista-silicon.com> wrote:
>
>> Could you please provide a git repository and a branch for me to test
>> this patch?
>
> Please apply this patch against linux-next git tree.

You also need this patch:
http://comments.gmane.org/gmane.linux.drivers.video-input-infrastructure/45617

Otherwise linux-next does not build for mx27.

Regards,

Fabio Estevam

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

* Re: [PATCH v2] ASoC: mx27vis-aic32x4: Convert it to platform driver
  2012-03-12 13:29         ` Fabio Estevam
@ 2012-03-12 15:05           ` javier Martin
  2012-03-12 15:23             ` Fabio Estevam
  0 siblings, 1 reply; 9+ messages in thread
From: javier Martin @ 2012-03-12 15:05 UTC (permalink / raw)
  To: Fabio Estevam; +Cc: Fabio Estevam, alsa-devel, broonie, kernel

On 12 March 2012 14:29, Fabio Estevam <festevam@gmail.com> wrote:
> On 3/12/12, Fabio Estevam <festevam@gmail.com> wrote:
>> On 3/12/12, javier Martin <javier.martin@vista-silicon.com> wrote:
>>
>>> Could you please provide a git repository and a branch for me to test
>>> this patch?
>>
>> Please apply this patch against linux-next git tree.
>
> You also need this patch:
> http://comments.gmane.org/gmane.linux.drivers.video-input-infrastructure/45617
>
> Otherwise linux-next does not build for mx27.
>
> Regards,
>
> Fabio Estevam

I get the following error when testing your patch in linux-next  master:


ASoC: Platform device allocation failed
mx27vis mx27vis.0: snd_soc_register_card failed (-22)
mx27vis: probe of mx27vis.0 failed with error -22
ALSA device list:
  No soundcards found.


-- 
Javier Martin
Vista Silicon S.L.
CDTUC - FASE C - Oficina S-345
Avda de los Castros s/n
39005- Santander. Cantabria. Spain
+34 942 25 32 60
www.vista-silicon.com

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

* Re: [PATCH v2] ASoC: mx27vis-aic32x4: Convert it to platform driver
  2012-03-12 15:05           ` javier Martin
@ 2012-03-12 15:23             ` Fabio Estevam
  2012-03-12 15:43               ` javier Martin
  0 siblings, 1 reply; 9+ messages in thread
From: Fabio Estevam @ 2012-03-12 15:23 UTC (permalink / raw)
  To: javier Martin; +Cc: Fabio Estevam, alsa-devel, broonie, kernel

On 3/12/12, javier Martin <javier.martin@vista-silicon.com> wrote:
> I get the following error when testing your patch in linux-next  master:
>
>
> ASoC: Platform device allocation failed
> mx27vis mx27vis.0: snd_soc_register_card failed (-22)
> mx27vis: probe of mx27vis.0 failed with error -22
> ALSA device list:
>   No soundcards found.

Thanks for testing it. I missed one line.

Could you please add the following line:

mx27vis_aic32x4.dev = &pdev->dev;

prior to

ret = snd_soc_register_card(&mx27vis_aic32x4);

and let me know if it works?

Then I will submit a new version of the patch.

Thanks,

Fabio Estevam

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

* Re: [PATCH v2] ASoC: mx27vis-aic32x4: Convert it to platform driver
  2012-03-12 15:23             ` Fabio Estevam
@ 2012-03-12 15:43               ` javier Martin
  0 siblings, 0 replies; 9+ messages in thread
From: javier Martin @ 2012-03-12 15:43 UTC (permalink / raw)
  To: Fabio Estevam; +Cc: Fabio Estevam, alsa-devel, broonie, kernel

On 12 March 2012 16:23, Fabio Estevam <festevam@gmail.com> wrote:
> On 3/12/12, javier Martin <javier.martin@vista-silicon.com> wrote:
>> I get the following error when testing your patch in linux-next  master:
>>
>>
>> ASoC: Platform device allocation failed
>> mx27vis mx27vis.0: snd_soc_register_card failed (-22)
>> mx27vis: probe of mx27vis.0 failed with error -22
>> ALSA device list:
>>   No soundcards found.
>
> Thanks for testing it. I missed one line.
>
> Could you please add the following line:
>
> mx27vis_aic32x4.dev = &pdev->dev;
>
> prior to
>
> ret = snd_soc_register_card(&mx27vis_aic32x4);
>
> and let me know if it works?
>
> Then I will submit a new version of the patch.
>
> Thanks,
>
> Fabio Estevam

Yeah, that works.

Tested-by: Javier Martin


-- 
Javier Martin
Vista Silicon S.L.
CDTUC - FASE C - Oficina S-345
Avda de los Castros s/n
39005- Santander. Cantabria. Spain
+34 942 25 32 60
www.vista-silicon.com

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

end of thread, other threads:[~2012-03-12 15:43 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-03-11 20:57 [PATCH v2] ASoC: mx27vis-aic32x4: Convert it to platform driver Fabio Estevam
2012-03-12  8:03 ` javier Martin
2012-03-12 11:11   ` Fabio Estevam
2012-03-12 11:41     ` javier Martin
2012-03-12 13:03       ` Fabio Estevam
2012-03-12 13:29         ` Fabio Estevam
2012-03-12 15:05           ` javier Martin
2012-03-12 15:23             ` Fabio Estevam
2012-03-12 15:43               ` javier Martin

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.