| Index: sound/soc/samsung/neo1973_gta02_wm8753.c
|
| diff --git a/sound/soc/s3c24xx/neo1973_gta02_wm8753.c b/sound/soc/samsung/neo1973_gta02_wm8753.c
|
| similarity index 86%
|
| rename from sound/soc/s3c24xx/neo1973_gta02_wm8753.c
|
| rename to sound/soc/samsung/neo1973_gta02_wm8753.c
|
| index e97bdf150a03042e34d231ddc507c5c33e79f95d..95ebf812b146b2f4861d8c4442119ce16c59b811 100644
|
| --- a/sound/soc/s3c24xx/neo1973_gta02_wm8753.c
|
| +++ b/sound/soc/samsung/neo1973_gta02_wm8753.c
|
| @@ -13,26 +13,15 @@
|
| * option) any later version.
|
| */
|
|
|
| -#include <linux/module.h>
|
| -#include <linux/moduleparam.h>
|
| -#include <linux/timer.h>
|
| -#include <linux/interrupt.h>
|
| -#include <linux/platform_device.h>
|
| #include <linux/gpio.h>
|
| -#include <sound/core.h>
|
| -#include <sound/pcm.h>
|
| +
|
| #include <sound/soc.h>
|
| -#include <sound/soc-dapm.h>
|
|
|
| #include <asm/mach-types.h>
|
| -
|
| #include <plat/regs-iis.h>
|
| -
|
| -#include <mach/regs-clock.h>
|
| -#include <asm/io.h>
|
| #include <mach/gta02.h>
|
| +
|
| #include "../codecs/wm8753.h"
|
| -#include "s3c-dma.h"
|
| #include "s3c24xx-i2s.h"
|
|
|
| static struct snd_soc_card neo1973_gta02;
|
| @@ -333,16 +322,17 @@ static const struct snd_kcontrol_new wm8753_neo1973_gta02_controls[] = {
|
| static int neo1973_gta02_wm8753_init(struct snd_soc_pcm_runtime *rtd)
|
| {
|
| struct snd_soc_codec *codec = rtd->codec;
|
| + struct snd_soc_dapm_context *dapm = &codec->dapm;
|
| int err;
|
|
|
| /* set up NC codec pins */
|
| - snd_soc_dapm_nc_pin(codec, "OUT3");
|
| - snd_soc_dapm_nc_pin(codec, "OUT4");
|
| - snd_soc_dapm_nc_pin(codec, "LINE1");
|
| - snd_soc_dapm_nc_pin(codec, "LINE2");
|
| + snd_soc_dapm_nc_pin(dapm, "OUT3");
|
| + snd_soc_dapm_nc_pin(dapm, "OUT4");
|
| + snd_soc_dapm_nc_pin(dapm, "LINE1");
|
| + snd_soc_dapm_nc_pin(dapm, "LINE2");
|
|
|
| /* Add neo1973 gta02 specific widgets */
|
| - snd_soc_dapm_new_controls(codec, wm8753_dapm_widgets,
|
| + snd_soc_dapm_new_controls(dapm, wm8753_dapm_widgets,
|
| ARRAY_SIZE(wm8753_dapm_widgets));
|
|
|
| /* add neo1973 gta02 specific controls */
|
| @@ -353,25 +343,25 @@ static int neo1973_gta02_wm8753_init(struct snd_soc_pcm_runtime *rtd)
|
| return err;
|
|
|
| /* set up neo1973 gta02 specific audio path audio_map */
|
| - snd_soc_dapm_add_routes(codec, audio_map, ARRAY_SIZE(audio_map));
|
| + snd_soc_dapm_add_routes(dapm, audio_map, ARRAY_SIZE(audio_map));
|
|
|
| /* set endpoints to default off mode */
|
| - snd_soc_dapm_disable_pin(codec, "Stereo Out");
|
| - snd_soc_dapm_disable_pin(codec, "GSM Line Out");
|
| - snd_soc_dapm_disable_pin(codec, "GSM Line In");
|
| - snd_soc_dapm_disable_pin(codec, "Headset Mic");
|
| - snd_soc_dapm_disable_pin(codec, "Handset Mic");
|
| - snd_soc_dapm_disable_pin(codec, "Handset Spk");
|
| + snd_soc_dapm_disable_pin(dapm, "Stereo Out");
|
| + snd_soc_dapm_disable_pin(dapm, "GSM Line Out");
|
| + snd_soc_dapm_disable_pin(dapm, "GSM Line In");
|
| + snd_soc_dapm_disable_pin(dapm, "Headset Mic");
|
| + snd_soc_dapm_disable_pin(dapm, "Handset Mic");
|
| + snd_soc_dapm_disable_pin(dapm, "Handset Spk");
|
|
|
| /* allow audio paths from the GSM modem to run during suspend */
|
| - snd_soc_dapm_ignore_suspend(codec, "Stereo Out");
|
| - snd_soc_dapm_ignore_suspend(codec, "GSM Line Out");
|
| - snd_soc_dapm_ignore_suspend(codec, "GSM Line In");
|
| - snd_soc_dapm_ignore_suspend(codec, "Headset Mic");
|
| - snd_soc_dapm_ignore_suspend(codec, "Handset Mic");
|
| - snd_soc_dapm_ignore_suspend(codec, "Handset Spk");
|
| + snd_soc_dapm_ignore_suspend(dapm, "Stereo Out");
|
| + snd_soc_dapm_ignore_suspend(dapm, "GSM Line Out");
|
| + snd_soc_dapm_ignore_suspend(dapm, "GSM Line In");
|
| + snd_soc_dapm_ignore_suspend(dapm, "Headset Mic");
|
| + snd_soc_dapm_ignore_suspend(dapm, "Handset Mic");
|
| + snd_soc_dapm_ignore_suspend(dapm, "Handset Spk");
|
|
|
| - snd_soc_dapm_sync(codec);
|
| + snd_soc_dapm_sync(dapm);
|
|
|
| return 0;
|
| }
|
| @@ -397,11 +387,11 @@ static struct snd_soc_dai_link neo1973_gta02_dai[] = {
|
| { /* Hifi Playback - for similatious use with voice below */
|
| .name = "WM8753",
|
| .stream_name = "WM8753 HiFi",
|
| - .cpu_dai_name = "s3c24xx-i2s",
|
| + .cpu_dai_name = "s3c24xx-iis",
|
| .codec_dai_name = "wm8753-hifi",
|
| .init = neo1973_gta02_wm8753_init,
|
| - .platform_name = "s3c24xx-pcm-audio",
|
| - .codec_name = "wm8753-codec.0-0x1a",
|
| + .platform_name = "samsung-audio",
|
| + .codec_name = "wm8753-codec.0-001a",
|
| .ops = &neo1973_gta02_hifi_ops,
|
| },
|
| { /* Voice via BT */
|
| @@ -410,8 +400,8 @@ static struct snd_soc_dai_link neo1973_gta02_dai[] = {
|
| .cpu_dai_name = "bluetooth-dai",
|
| .codec_dai_name = "wm8753-voice",
|
| .ops = &neo1973_gta02_voice_ops,
|
| - .codec_name = "wm8753-codec.0-0x1a",
|
| - .platform_name = "s3c24xx-pcm-audio",
|
| + .codec_name = "wm8753-codec.0-001a",
|
| + .platform_name = "samsung-audio",
|
| },
|
| };
|
|
|
| @@ -438,25 +428,21 @@ static int __init neo1973_gta02_init(void)
|
| return -ENOMEM;
|
|
|
| /* register bluetooth DAI here */
|
| - ret = snd_soc_register_dai(&neo1973_gta02_snd_device->dev, -1, &bt_dai);
|
| - if (ret) {
|
| - platform_device_put(neo1973_gta02_snd_device);
|
| - return ret;
|
| - }
|
| + ret = snd_soc_register_dai(&neo1973_gta02_snd_device->dev, &bt_dai);
|
| + if (ret)
|
| + goto err_put_device;
|
|
|
| platform_set_drvdata(neo1973_gta02_snd_device, &neo1973_gta02);
|
| ret = platform_device_add(neo1973_gta02_snd_device);
|
|
|
| - if (ret) {
|
| - platform_device_put(neo1973_gta02_snd_device);
|
| - return ret;
|
| - }
|
| + if (ret)
|
| + goto err_unregister_dai;
|
|
|
| /* Initialise GPIOs used by amp */
|
| ret = gpio_request(GTA02_GPIO_HP_IN, "GTA02_HP_IN");
|
| if (ret) {
|
| pr_err("gta02_wm8753: Failed to register GPIO %d\n", GTA02_GPIO_HP_IN);
|
| - goto err_unregister_device;
|
| + goto err_del_device;
|
| }
|
|
|
| ret = gpio_direction_output(GTA02_GPIO_HP_IN, 1);
|
| @@ -483,15 +469,19 @@ err_free_gpio_amp_shut:
|
| gpio_free(GTA02_GPIO_AMP_SHUT);
|
| err_free_gpio_hp_in:
|
| gpio_free(GTA02_GPIO_HP_IN);
|
| -err_unregister_device:
|
| - platform_device_unregister(neo1973_gta02_snd_device);
|
| +err_del_device:
|
| + platform_device_del(neo1973_gta02_snd_device);
|
| +err_unregister_dai:
|
| + snd_soc_unregister_dai(&neo1973_gta02_snd_device->dev);
|
| +err_put_device:
|
| + platform_device_put(neo1973_gta02_snd_device);
|
| return ret;
|
| }
|
| module_init(neo1973_gta02_init);
|
|
|
| static void __exit neo1973_gta02_exit(void)
|
| {
|
| - snd_soc_unregister_dai(&neo1973_gta02_snd_device->dev, -1);
|
| + snd_soc_unregister_dai(&neo1973_gta02_snd_device->dev);
|
| platform_device_unregister(neo1973_gta02_snd_device);
|
| gpio_free(GTA02_GPIO_HP_IN);
|
| gpio_free(GTA02_GPIO_AMP_SHUT);
|
|
|