* [PATCH 01/24] ASoC: Samsung: Remove redundant AQUILA driver
2010-10-22 8:30 [PATCHv2] ASoC: Overhaul Samsung drivers Jassi Brar
@ 2010-10-22 8:31 ` Jassi Brar
2010-10-22 8:32 ` [PATCH 02/24] ASoC: Samsung: Rename DMA device Jassi Brar
` (23 subsequent siblings)
24 siblings, 0 replies; 31+ messages in thread
From: Jassi Brar @ 2010-10-22 8:31 UTC (permalink / raw)
To: alsa-devel
Cc: kgene.kim, Jassi Brar, broonie, cw00.choi, ben-linux, june.bae,
lrg, sw.youn
From: Jassi Brar <jassi.brar@samsung.com>
AQUILA and GONI are essentially the same h/w w.r.t ASoC.
They only differ by the fact that GONI has stereo speaker-out
whereas AQUILA has mono.
The difference can easily be handled in the same MACHINE driver
by making machine-specific runtime changes.
Signed-off-by: Jassi Brar <jassi.brar@samsung.com>
---
sound/soc/s3c24xx/Kconfig | 17 +--
sound/soc/s3c24xx/Makefile | 4 +-
sound/soc/s3c24xx/aquila_wm8994.c | 295 -------------------------------------
sound/soc/s3c24xx/goni_wm8994.c | 19 +++-
4 files changed, 23 insertions(+), 312 deletions(-)
delete mode 100644 sound/soc/s3c24xx/aquila_wm8994.c
diff --git a/sound/soc/s3c24xx/Kconfig b/sound/soc/s3c24xx/Kconfig
index 8a6b53c..6efdf65 100644
--- a/sound/soc/s3c24xx/Kconfig
+++ b/sound/soc/s3c24xx/Kconfig
@@ -144,22 +144,13 @@ config SND_S3C64XX_SOC_SMARTQ
select SND_S3C64XX_SOC_I2S
select SND_SOC_WM8750
-config SND_S5PC110_SOC_AQUILA_WM8994
- tristate "SoC I2S Audio support for AQUILA - WM8994"
- depends on SND_S3C24XX_SOC && MACH_AQUILA
+config SND_SOC_GONI_AQUILA_WM8994
+ tristate "SoC I2S Audio support for AQUILA/GONI - WM8994"
+ depends on SND_S3C24XX_SOC && (MACH_GONI || MACH_AQUILA)
select SND_S3C64XX_SOC_I2S_V4
select SND_SOC_WM8994
help
- Say Y if you want to add support for SoC audio on aquila
- with the WM8994.
-
-config SND_S5PV210_SOC_GONI_WM8994
- tristate "SoC I2S Audio support for GONI - WM8994"
- depends on SND_S3C24XX_SOC && MACH_GONI
- select SND_S3C64XX_SOC_I2S_V4
- select SND_SOC_WM8994
- help
- Say Y if you want to add support for SoC audio on goni
+ Say Y if you want to add support for SoC audio on goni or aquila
with the WM8994.
config SND_SOC_SMDK_SPDIF
diff --git a/sound/soc/s3c24xx/Makefile b/sound/soc/s3c24xx/Makefile
index ee8f41d..4e232f1 100644
--- a/sound/soc/s3c24xx/Makefile
+++ b/sound/soc/s3c24xx/Makefile
@@ -33,7 +33,6 @@ snd-soc-rx1950-uda1380-objs := rx1950_uda1380.o
snd-soc-smdk64xx-wm8580-objs := smdk64xx_wm8580.o
snd-soc-smdk-wm9713-objs := smdk_wm9713.o
snd-soc-s3c64xx-smartq-wm8987-objs := smartq_wm8987.o
-snd-soc-aquila-wm8994-objs := aquila_wm8994.o
snd-soc-goni-wm8994-objs := goni_wm8994.o
snd-soc-smdk-spdif-objs := smdk_spdif.o
@@ -50,6 +49,5 @@ obj-$(CONFIG_SND_S3C24XX_SOC_RX1950_UDA1380) += snd-soc-rx1950-uda1380.o
obj-$(CONFIG_SND_S3C64XX_SOC_WM8580) += snd-soc-smdk64xx-wm8580.o
obj-$(CONFIG_SND_SOC_SMDK_WM9713) += snd-soc-smdk-wm9713.o
obj-$(CONFIG_SND_S3C64XX_SOC_SMARTQ) += snd-soc-s3c64xx-smartq-wm8987.o
-obj-$(CONFIG_SND_S5PC110_SOC_AQUILA_WM8994) += snd-soc-aquila-wm8994.o
-obj-$(CONFIG_SND_S5PV210_SOC_GONI_WM8994) += snd-soc-goni-wm8994.o
obj-$(CONFIG_SND_SOC_SMDK_SPDIF) += snd-soc-smdk-spdif.o
+obj-$(CONFIG_SND_SOC_GONI_AQUILA_WM8994) += snd-soc-goni-wm8994.o
diff --git a/sound/soc/s3c24xx/aquila_wm8994.c b/sound/soc/s3c24xx/aquila_wm8994.c
deleted file mode 100644
index 235d197..0000000
--- a/sound/soc/s3c24xx/aquila_wm8994.c
+++ /dev/null
@@ -1,295 +0,0 @@
-/*
- * aquila_wm8994.c
- *
- * Copyright (C) 2010 Samsung Electronics Co.Ltd
- * Author: Chanwoo Choi <cw00.choi@samsung.com>
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the
- * Free Software Foundation; either version 2 of the License, or (at your
- * option) any later version.
- *
- */
-
-#include <linux/module.h>
-#include <linux/moduleparam.h>
-#include <linux/io.h>
-#include <linux/platform_device.h>
-#include <sound/soc.h>
-#include <sound/soc-dapm.h>
-#include <sound/jack.h>
-#include <asm/mach-types.h>
-#include <mach/gpio.h>
-#include <mach/regs-clock.h>
-
-#include <linux/mfd/wm8994/core.h>
-#include <linux/mfd/wm8994/registers.h>
-#include "../codecs/wm8994.h"
-#include "s3c-dma.h"
-#include "s3c64xx-i2s.h"
-
-static struct snd_soc_card aquila;
-static struct platform_device *aquila_snd_device;
-
-/* 3.5 pie jack */
-static struct snd_soc_jack jack;
-
-/* 3.5 pie jack detection DAPM pins */
-static struct snd_soc_jack_pin jack_pins[] = {
- {
- .pin = "Headset Mic",
- .mask = SND_JACK_MICROPHONE,
- }, {
- .pin = "Headset Stereophone",
- .mask = SND_JACK_HEADPHONE | SND_JACK_MECHANICAL |
- SND_JACK_AVOUT,
- },
-};
-
-/* 3.5 pie jack detection gpios */
-static struct snd_soc_jack_gpio jack_gpios[] = {
- {
- .gpio = S5PV210_GPH0(6),
- .name = "DET_3.5",
- .report = SND_JACK_HEADSET | SND_JACK_MECHANICAL |
- SND_JACK_AVOUT,
- .debounce_time = 200,
- },
-};
-
-static const struct snd_soc_dapm_widget aquila_dapm_widgets[] = {
- SND_SOC_DAPM_SPK("Ext Spk", NULL),
- SND_SOC_DAPM_SPK("Ext Rcv", NULL),
- SND_SOC_DAPM_HP("Headset Stereophone", NULL),
- SND_SOC_DAPM_MIC("Headset Mic", NULL),
- SND_SOC_DAPM_MIC("Main Mic", NULL),
- SND_SOC_DAPM_MIC("2nd Mic", NULL),
- SND_SOC_DAPM_LINE("Radio In", NULL),
-};
-
-static const struct snd_soc_dapm_route aquila_dapm_routes[] = {
- {"Ext Spk", NULL, "SPKOUTLP"},
- {"Ext Spk", NULL, "SPKOUTLN"},
-
- {"Ext Rcv", NULL, "HPOUT2N"},
- {"Ext Rcv", NULL, "HPOUT2P"},
-
- {"Headset Stereophone", NULL, "HPOUT1L"},
- {"Headset Stereophone", NULL, "HPOUT1R"},
-
- {"IN1RN", NULL, "Headset Mic"},
- {"IN1RP", NULL, "Headset Mic"},
-
- {"IN1RN", NULL, "2nd Mic"},
- {"IN1RP", NULL, "2nd Mic"},
-
- {"IN1LN", NULL, "Main Mic"},
- {"IN1LP", NULL, "Main Mic"},
-
- {"IN2LN", NULL, "Radio In"},
- {"IN2RN", NULL, "Radio In"},
-};
-
-static int aquila_wm8994_init(struct snd_soc_pcm_runtime *rtd)
-{
- struct snd_soc_codec *codec = rtd->codec;
- int ret;
-
- /* add aquila specific widgets */
- snd_soc_dapm_new_controls(codec, aquila_dapm_widgets,
- ARRAY_SIZE(aquila_dapm_widgets));
-
- /* set up aquila specific audio routes */
- snd_soc_dapm_add_routes(codec, aquila_dapm_routes,
- ARRAY_SIZE(aquila_dapm_routes));
-
- /* set endpoints to not connected */
- snd_soc_dapm_nc_pin(codec, "IN2LP:VXRN");
- snd_soc_dapm_nc_pin(codec, "IN2RP:VXRP");
- snd_soc_dapm_nc_pin(codec, "LINEOUT1N");
- snd_soc_dapm_nc_pin(codec, "LINEOUT1P");
- snd_soc_dapm_nc_pin(codec, "LINEOUT2N");
- snd_soc_dapm_nc_pin(codec, "LINEOUT2P");
- snd_soc_dapm_nc_pin(codec, "SPKOUTRN");
- snd_soc_dapm_nc_pin(codec, "SPKOUTRP");
-
- snd_soc_dapm_sync(codec);
-
- /* Headset jack detection */
- ret = snd_soc_jack_new(&aquila, "Headset Jack",
- SND_JACK_HEADSET | SND_JACK_MECHANICAL | SND_JACK_AVOUT,
- &jack);
- if (ret)
- return ret;
-
- ret = snd_soc_jack_add_pins(&jack, ARRAY_SIZE(jack_pins), jack_pins);
- if (ret)
- return ret;
-
- ret = snd_soc_jack_add_gpios(&jack, ARRAY_SIZE(jack_gpios), jack_gpios);
- if (ret)
- return ret;
-
- return 0;
-}
-
-static int aquila_hifi_hw_params(struct snd_pcm_substream *substream,
- struct snd_pcm_hw_params *params)
-{
- struct snd_soc_pcm_runtime *rtd = substream->private_data;
- struct snd_soc_dai *codec_dai = rtd->codec_dai;
- struct snd_soc_dai *cpu_dai = rtd->cpu_dai;
- unsigned int pll_out = 24000000;
- int ret = 0;
-
- /* set the cpu DAI configuration */
- ret = snd_soc_dai_set_fmt(cpu_dai, SND_SOC_DAIFMT_I2S |
- SND_SOC_DAIFMT_NB_NF | SND_SOC_DAIFMT_CBM_CFM);
- if (ret < 0)
- return ret;
-
- /* set the cpu system clock */
- ret = snd_soc_dai_set_sysclk(cpu_dai, S3C64XX_CLKSRC_PCLK,
- 0, SND_SOC_CLOCK_IN);
- if (ret < 0)
- return ret;
-
- /* set codec DAI configuration */
- ret = snd_soc_dai_set_fmt(codec_dai, SND_SOC_DAIFMT_I2S |
- SND_SOC_DAIFMT_NB_NF | SND_SOC_DAIFMT_CBM_CFM);
- if (ret < 0)
- return ret;
-
- /* set the codec FLL */
- ret = snd_soc_dai_set_pll(codec_dai, WM8994_FLL1, 0, pll_out,
- params_rate(params) * 256);
- if (ret < 0)
- return ret;
-
- /* set the codec system clock */
- ret = snd_soc_dai_set_sysclk(codec_dai, WM8994_SYSCLK_FLL1,
- params_rate(params) * 256, SND_SOC_CLOCK_IN);
- if (ret < 0)
- return ret;
-
- return 0;
-}
-
-static struct snd_soc_ops aquila_hifi_ops = {
- .hw_params = aquila_hifi_hw_params,
-};
-
-static int aquila_voice_hw_params(struct snd_pcm_substream *substream,
- struct snd_pcm_hw_params *params)
-{
- struct snd_soc_pcm_runtime *rtd = substream->private_data;
- struct snd_soc_dai *codec_dai = rtd->codec_dai;
- unsigned int pll_out = 24000000;
- int ret = 0;
-
- if (params_rate(params) != 8000)
- return -EINVAL;
-
- /* set codec DAI configuration */
- ret = snd_soc_dai_set_fmt(codec_dai, SND_SOC_DAIFMT_LEFT_J |
- SND_SOC_DAIFMT_IB_IF | SND_SOC_DAIFMT_CBM_CFM);
- if (ret < 0)
- return ret;
-
- /* set the codec FLL */
- ret = snd_soc_dai_set_pll(codec_dai, WM8994_FLL2, 0, pll_out,
- params_rate(params) * 256);
- if (ret < 0)
- return ret;
-
- /* set the codec system clock */
- ret = snd_soc_dai_set_sysclk(codec_dai, WM8994_SYSCLK_FLL2,
- params_rate(params) * 256, SND_SOC_CLOCK_IN);
- if (ret < 0)
- return ret;
-
- return 0;
-}
-
-static struct snd_soc_dai_driver voice_dai = {
- .name = "aquila-voice-dai",
- .playback = {
- .channels_min = 1,
- .channels_max = 2,
- .rates = SNDRV_PCM_RATE_8000,
- .formats = SNDRV_PCM_FMTBIT_S16_LE,},
- .capture = {
- .channels_min = 1,
- .channels_max = 2,
- .rates = SNDRV_PCM_RATE_8000,
- .formats = SNDRV_PCM_FMTBIT_S16_LE,},
-};
-
-static struct snd_soc_ops aquila_voice_ops = {
- .hw_params = aquila_voice_hw_params,
-};
-
-static struct snd_soc_dai_link aquila_dai[] = {
-{
- .name = "WM8994",
- .stream_name = "WM8994 HiFi",
- .cpu_dai_name = "s3c64xx-i2s-v4",
- .codec_dai_name = "wm8994-hifi",
- .platform_name = "s3c24xx-pcm-audio",
- .codec_name = "wm8994-codec.0-0x1a",
- .init = aquila_wm8994_init,
- .ops = &aquila_hifi_ops,
-}, {
- .name = "WM8994 Voice",
- .stream_name = "Voice",
- .cpu_dai_name = "aquila-voice-dai",
- .codec_dai_name = "wm8994-voice",
- .platform_name = "s3c24xx-pcm-audio",
- .codec_name = "wm8994-codec.0-0x1a",
- .ops = &aquila_voice_ops,
-},
-};
-
-static struct snd_soc_card aquila = {
- .name = "aquila",
- .dai_link = aquila_dai,
- .num_links = ARRAY_SIZE(aquila_dai),
-};
-
-static int __init aquila_init(void)
-{
- int ret;
-
- if (!machine_is_aquila())
- return -ENODEV;
-
- aquila_snd_device = platform_device_alloc("soc-audio", -1);
- if (!aquila_snd_device)
- return -ENOMEM;
-
- /* register voice DAI here */
- ret = snd_soc_register_dai(&aquila_snd_device->dev, &voice_dai);
- if (ret)
- return ret;
-
- platform_set_drvdata(aquila_snd_device, &aquila);
- ret = platform_device_add(aquila_snd_device);
-
- if (ret)
- platform_device_put(aquila_snd_device);
-
- return ret;
-}
-
-static void __exit aquila_exit(void)
-{
- platform_device_unregister(aquila_snd_device);
-}
-
-module_init(aquila_init);
-module_exit(aquila_exit);
-
-/* Module information */
-MODULE_DESCRIPTION("ALSA SoC WM8994 Aquila(S5PC110)");
-MODULE_AUTHOR("Chanwoo Choi <cw00.choi@samsung.com>");
-MODULE_LICENSE("GPL");
diff --git a/sound/soc/s3c24xx/goni_wm8994.c b/sound/soc/s3c24xx/goni_wm8994.c
index 694f702..ef22f14 100644
--- a/sound/soc/s3c24xx/goni_wm8994.c
+++ b/sound/soc/s3c24xx/goni_wm8994.c
@@ -28,6 +28,14 @@
#include "s3c-dma.h"
#include "s3c64xx-i2s.h"
+#define MACHINE_NAME 0
+#define CPU_VOICE_DAI 1
+
+static const char *aquila_str[] = {
+ [MACHINE_NAME] = "aquila",
+ [CPU_VOICE_DAI] = "aquila-voice-dai",
+};
+
static struct snd_soc_card goni;
static struct platform_device *goni_snd_device;
@@ -115,6 +123,11 @@ static int goni_wm8994_init(struct snd_soc_pcm_runtime *rtd)
snd_soc_dapm_nc_pin(codec, "LINEOUT2N");
snd_soc_dapm_nc_pin(codec, "LINEOUT2P");
+ if (machine_is_aquila()) {
+ snd_soc_dapm_nc_pin(codec, "SPKOUTRN");
+ snd_soc_dapm_nc_pin(codec, "SPKOUTRP");
+ }
+
snd_soc_dapm_sync(codec);
/* Headset jack detection */
@@ -263,7 +276,11 @@ static int __init goni_init(void)
{
int ret;
- if (!machine_is_goni())
+ if (machine_is_aquila()) {
+ voice_dai.name = aquila_str[CPU_VOICE_DAI];
+ goni_dai[1].cpu_dai_name = aquila_str[CPU_VOICE_DAI];
+ goni.name = aquila_str[MACHINE_NAME];
+ } else if (!machine_is_goni())
return -ENODEV;
goni_snd_device = platform_device_alloc("soc-audio", -1);
--
1.6.2.5
^ permalink raw reply related [flat|nested] 31+ messages in thread* [PATCH 02/24] ASoC: Samsung: Rename DMA device
2010-10-22 8:30 [PATCHv2] ASoC: Overhaul Samsung drivers Jassi Brar
2010-10-22 8:31 ` [PATCH 01/24] ASoC: Samsung: Remove redundant AQUILA driver Jassi Brar
@ 2010-10-22 8:32 ` Jassi Brar
2010-10-22 8:34 ` [PATCH 03/24] ARM: Samsung: Define common audio-dma device Jassi Brar
` (22 subsequent siblings)
24 siblings, 0 replies; 31+ messages in thread
From: Jassi Brar @ 2010-10-22 8:32 UTC (permalink / raw)
To: alsa-devel
Cc: kgene.kim, Jassi Brar, broonie, ben-linux, june.bae, lrg, sw.youn
From: Jassi Brar <jassi.brar@samsung.com>
Some Samsung SoCs have a PCM(DSP) controller. So the name
s3c24xx-pcm-audio for DMA driver is not very appropraite.
This patch moves :-
s3c24xx-pcm-audio -> samsung-audio
Signed-off-by: Jassi Brar <jassi.brar@samsung.com>
---
arch/arm/mach-s3c64xx/dev-audio.c | 2 +-
arch/arm/plat-s3c24xx/devs.c | 2 +-
sound/soc/s3c24xx/goni_wm8994.c | 4 ++--
sound/soc/s3c24xx/jive_wm8750.c | 2 +-
sound/soc/s3c24xx/ln2440sbc_alc650.c | 2 +-
sound/soc/s3c24xx/neo1973_gta02_wm8753.c | 4 ++--
sound/soc/s3c24xx/neo1973_wm8753.c | 4 ++--
sound/soc/s3c24xx/rx1950_uda1380.c | 2 +-
sound/soc/s3c24xx/s3c-dma.c | 4 ++--
sound/soc/s3c24xx/s3c24xx_simtec_hermes.c | 2 +-
sound/soc/s3c24xx/s3c24xx_simtec_tlv320aic23.c | 2 +-
sound/soc/s3c24xx/s3c24xx_uda134x.c | 2 +-
sound/soc/s3c24xx/smartq_wm8987.c | 2 +-
sound/soc/s3c24xx/smdk2443_wm9710.c | 2 +-
sound/soc/s3c24xx/smdk64xx_wm8580.c | 4 ++--
sound/soc/s3c24xx/smdk_spdif.c | 2 +-
sound/soc/s3c24xx/smdk_wm9713.c | 2 +-
17 files changed, 22 insertions(+), 22 deletions(-)
diff --git a/arch/arm/mach-s3c64xx/dev-audio.c b/arch/arm/mach-s3c64xx/dev-audio.c
index 3838335..c45cc37 100644
--- a/arch/arm/mach-s3c64xx/dev-audio.c
+++ b/arch/arm/mach-s3c64xx/dev-audio.c
@@ -340,7 +340,7 @@ void __init s3c64xx_ac97_setup_gpio(int num)
static u64 s3c_device_audio_dmamask = 0xffffffffUL;
struct platform_device s3c_device_pcm = {
- .name = "s3c24xx-pcm-audio",
+ .name = "samsung-audio",
.id = -1,
.dev = {
.dma_mask = &s3c_device_audio_dmamask,
diff --git a/arch/arm/plat-s3c24xx/devs.c b/arch/arm/plat-s3c24xx/devs.c
index 2f91057..4bf0b39 100644
--- a/arch/arm/plat-s3c24xx/devs.c
+++ b/arch/arm/plat-s3c24xx/devs.c
@@ -264,7 +264,7 @@ EXPORT_SYMBOL(s3c_device_iis);
static u64 s3c_device_audio_dmamask = 0xffffffffUL;
struct platform_device s3c_device_pcm = {
- .name = "s3c24xx-pcm-audio",
+ .name = "samsung-audio",
.id = -1,
.dev = {
.dma_mask = &s3c_device_audio_dmamask,
diff --git a/sound/soc/s3c24xx/goni_wm8994.c b/sound/soc/s3c24xx/goni_wm8994.c
index ef22f14..c568f69 100644
--- a/sound/soc/s3c24xx/goni_wm8994.c
+++ b/sound/soc/s3c24xx/goni_wm8994.c
@@ -251,7 +251,7 @@ static struct snd_soc_dai_link goni_dai[] = {
.stream_name = "WM8994 HiFi",
.cpu_dai_name = "s3c64xx-i2s-v4",
.codec_dai_name = "wm8994-hifi",
- .platform_name = "s3c24xx-pcm-audio",
+ .platform_name = "samsung-audio",
.codec_name = "wm8994-codec.0-0x1a",
.init = goni_wm8994_init,
.ops = &goni_hifi_ops,
@@ -260,7 +260,7 @@ static struct snd_soc_dai_link goni_dai[] = {
.stream_name = "Voice",
.cpu_dai_name = "goni-voice-dai",
.codec_dai_name = "wm8994-voice",
- .platform_name = "s3c24xx-pcm-audio",
+ .platform_name = "samsung-audio",
.codec_name = "wm8994-codec.0-0x1a",
.ops = &goni_voice_ops,
},
diff --git a/sound/soc/s3c24xx/jive_wm8750.c b/sound/soc/s3c24xx/jive_wm8750.c
index 49605cd..7a6b0fa 100644
--- a/sound/soc/s3c24xx/jive_wm8750.c
+++ b/sound/soc/s3c24xx/jive_wm8750.c
@@ -141,7 +141,7 @@ static struct snd_soc_dai_link jive_dai = {
.stream_name = "WM8750",
.cpu_dai_name = "s3c2412-i2s",
.codec_dai_name = "wm8750-hifi",
- .platform_name = "s3c24xx-pcm-audio",
+ .platform_name = "samsung-audio",
.codec_name = "wm8750-codec.0-0x1a",
.init = jive_wm8750_init,
.ops = &jive_ops,
diff --git a/sound/soc/s3c24xx/ln2440sbc_alc650.c b/sound/soc/s3c24xx/ln2440sbc_alc650.c
index abe64ab..6b7bb38 100644
--- a/sound/soc/s3c24xx/ln2440sbc_alc650.c
+++ b/sound/soc/s3c24xx/ln2440sbc_alc650.c
@@ -35,7 +35,7 @@ static struct snd_soc_dai_link ln2440sbc_dai[] = {
.cpu_dai_name = "s3c-ac97",
.codec_dai_name = "ac97-hifi",
.codec_name = "ac97-codec",
- .platform_name = "s3c24xx-pcm-audio",
+ .platform_name = "samsung-audio",
},
};
diff --git a/sound/soc/s3c24xx/neo1973_gta02_wm8753.c b/sound/soc/s3c24xx/neo1973_gta02_wm8753.c
index c457bfd..a9a4bbb 100644
--- a/sound/soc/s3c24xx/neo1973_gta02_wm8753.c
+++ b/sound/soc/s3c24xx/neo1973_gta02_wm8753.c
@@ -400,7 +400,7 @@ static struct snd_soc_dai_link neo1973_gta02_dai[] = {
.cpu_dai_name = "s3c24xx-i2s",
.codec_dai_name = "wm8753-hifi",
.init = neo1973_gta02_wm8753_init,
- .platform_name = "s3c24xx-pcm-audio",
+ .platform_name = "samsung-audio",
.codec_name = "wm8753-codec.0-0x1a",
.ops = &neo1973_gta02_hifi_ops,
},
@@ -411,7 +411,7 @@ static struct snd_soc_dai_link neo1973_gta02_dai[] = {
.codec_dai_name = "wm8753-voice",
.ops = &neo1973_gta02_voice_ops,
.codec_name = "wm8753-codec.0-0x1a",
- .platform_name = "s3c24xx-pcm-audio",
+ .platform_name = "samsung-audio",
},
};
diff --git a/sound/soc/s3c24xx/neo1973_wm8753.c b/sound/soc/s3c24xx/neo1973_wm8753.c
index d7a39a0..d5e4148 100644
--- a/sound/soc/s3c24xx/neo1973_wm8753.c
+++ b/sound/soc/s3c24xx/neo1973_wm8753.c
@@ -556,7 +556,7 @@ static struct snd_soc_dai_link neo1973_dai[] = {
{ /* Hifi Playback - for similatious use with voice below */
.name = "WM8753",
.stream_name = "WM8753 HiFi",
- .platform_name = "s3c24xx-pcm-audio",
+ .platform_name = "samsung-audio",
.cpu_dai_name = "s3c24xx-i2s",
.codec_dai_name = "wm8753-hifi",
.codec_name = "wm8753-codec.0-0x1a",
@@ -566,7 +566,7 @@ static struct snd_soc_dai_link neo1973_dai[] = {
{ /* Voice via BT */
.name = "Bluetooth",
.stream_name = "Voice",
- .platform_name = "s3c24xx-pcm-audio",
+ .platform_name = "samsung-audio",
.cpu_dai_name = "bluetooth-dai",
.codec_dai_name = "wm8753-voice",
.codec_name = "wm8753-codec.0-0x1a",
diff --git a/sound/soc/s3c24xx/rx1950_uda1380.c b/sound/soc/s3c24xx/rx1950_uda1380.c
index ffd5cf2..99bb86e 100644
--- a/sound/soc/s3c24xx/rx1950_uda1380.c
+++ b/sound/soc/s3c24xx/rx1950_uda1380.c
@@ -96,7 +96,7 @@ static struct snd_soc_dai_link rx1950_uda1380_dai[] = {
.cpu_dai_name = "s3c24xx-iis",
.codec_dai_name = "uda1380-hifi",
.init = rx1950_uda1380_init,
- .platform_name = "s3c24xx-pcm-audio",
+ .platform_name = "samsung-audio",
.codec_name = "uda1380-codec.0-001a",
.ops = &rx1950_ops,
},
diff --git a/sound/soc/s3c24xx/s3c-dma.c b/sound/soc/s3c24xx/s3c-dma.c
index 54bff83..0c1cd6c 100644
--- a/sound/soc/s3c24xx/s3c-dma.c
+++ b/sound/soc/s3c24xx/s3c-dma.c
@@ -477,7 +477,7 @@ static int __devexit s3c24xx_soc_platform_remove(struct platform_device *pdev)
static struct platform_driver s3c24xx_pcm_driver = {
.driver = {
- .name = "s3c24xx-pcm-audio",
+ .name = "samsung-audio",
.owner = THIS_MODULE,
},
@@ -500,4 +500,4 @@ module_exit(snd_s3c24xx_pcm_exit);
MODULE_AUTHOR("Ben Dooks, <ben@simtec.co.uk>");
MODULE_DESCRIPTION("Samsung S3C Audio DMA module");
MODULE_LICENSE("GPL");
-MODULE_ALIAS("platform:s3c24xx-pcm-audio");
+MODULE_ALIAS("platform:samsung-audio");
diff --git a/sound/soc/s3c24xx/s3c24xx_simtec_hermes.c b/sound/soc/s3c24xx/s3c24xx_simtec_hermes.c
index f884537..5180c2a 100644
--- a/sound/soc/s3c24xx/s3c24xx_simtec_hermes.c
+++ b/sound/soc/s3c24xx/s3c24xx_simtec_hermes.c
@@ -99,7 +99,7 @@ static struct snd_soc_dai_link simtec_dai_aic33 = {
.codec_name = "tlv320aic3x-codec.0-0x1a",
.cpu_dai_name = "s3c24xx-i2s",
.codec_dai_name = "tlv320aic3x-hifi",
- .platform_name = "s3c24xx-pcm-audio",
+ .platform_name = "samsung-audio",
.init = simtec_hermes_init,
};
diff --git a/sound/soc/s3c24xx/s3c24xx_simtec_tlv320aic23.c b/sound/soc/s3c24xx/s3c24xx_simtec_tlv320aic23.c
index c096759..7a7bb53 100644
--- a/sound/soc/s3c24xx/s3c24xx_simtec_tlv320aic23.c
+++ b/sound/soc/s3c24xx/s3c24xx_simtec_tlv320aic23.c
@@ -88,7 +88,7 @@ static struct snd_soc_dai_link simtec_dai_aic23 = {
.codec_name = "tlv320aic3x-codec.0-0x1a",
.cpu_dai_name = "s3c24xx-i2s",
.codec_dai_name = "tlv320aic3x-hifi",
- .platform_name = "s3c24xx-pcm-audio",
+ .platform_name = "samsung-audio",
.init = simtec_tlv320aic23_init,
};
diff --git a/sound/soc/s3c24xx/s3c24xx_uda134x.c b/sound/soc/s3c24xx/s3c24xx_uda134x.c
index bd48ffb..50d44fa 100644
--- a/sound/soc/s3c24xx/s3c24xx_uda134x.c
+++ b/sound/soc/s3c24xx/s3c24xx_uda134x.c
@@ -231,7 +231,7 @@ static struct snd_soc_dai_link s3c24xx_uda134x_dai_link = {
.codec_dai_name = "uda134x-hifi",
.cpu_dai_name = "s3c24xx-i2s",
.ops = &s3c24xx_uda134x_ops,
- .platform_name = "s3c24xx-pcm-audio",
+ .platform_name = "samsung-audio",
};
static struct snd_soc_card snd_soc_s3c24xx_uda134x = {
diff --git a/sound/soc/s3c24xx/smartq_wm8987.c b/sound/soc/s3c24xx/smartq_wm8987.c
index dd20ca7..863631a 100644
--- a/sound/soc/s3c24xx/smartq_wm8987.c
+++ b/sound/soc/s3c24xx/smartq_wm8987.c
@@ -213,7 +213,7 @@ static struct snd_soc_dai_link smartq_dai[] = {
.stream_name = "SmartQ Hi-Fi",
.cpu_dai_name = "s3c64xx-i2s.0",
.codec_dai_name = "wm8750-hifi",
- .platform_name = "s3c24xx-pcm-audio",
+ .platform_name = "samsung-audio",
.codec_name = "wm8750-codec.0-0x1a",
.init = smartq_wm8987_init,
.ops = &smartq_hifi_ops,
diff --git a/sound/soc/s3c24xx/smdk2443_wm9710.c b/sound/soc/s3c24xx/smdk2443_wm9710.c
index 4613288..911bb60 100644
--- a/sound/soc/s3c24xx/smdk2443_wm9710.c
+++ b/sound/soc/s3c24xx/smdk2443_wm9710.c
@@ -31,7 +31,7 @@ static struct snd_soc_dai_link smdk2443_dai[] = {
.cpu_dai_name = "s3c-ac97",
.codec_dai_name = "ac97-hifi",
.codec_name = "ac97-codec",
- .platform_name = "s3c24xx-pcm-audio",
+ .platform_name = "samsung-audio",
},
};
diff --git a/sound/soc/s3c24xx/smdk64xx_wm8580.c b/sound/soc/s3c24xx/smdk64xx_wm8580.c
index 052e499..7e75c8d 100644
--- a/sound/soc/s3c24xx/smdk64xx_wm8580.c
+++ b/sound/soc/s3c24xx/smdk64xx_wm8580.c
@@ -224,7 +224,7 @@ static struct snd_soc_dai_link smdk64xx_dai[] = {
.stream_name = "Playback",
.cpu_dai_name = "s3c64xx-iis-v4",
.codec_dai_name = "wm8580-hifi-playback",
- .platform_name = "s3c24xx-pcm-audio",
+ .platform_name = "samsung-audio",
.codec_name = "wm8580-codec.0-001b",
.init = smdk64xx_wm8580_init_paifrx,
.ops = &smdk64xx_ops,
@@ -234,7 +234,7 @@ static struct snd_soc_dai_link smdk64xx_dai[] = {
.stream_name = "Capture",
.cpu_dai_name = "s3c64xx-iis-v4",
.codec_dai_name = "wm8580-hifi-capture",
- .platform_name = "s3c24xx-pcm-audio",
+ .platform_name = "samsung-audio",
.codec_name = "wm8580-codec.0-001b",
.init = smdk64xx_wm8580_init_paiftx,
.ops = &smdk64xx_ops,
diff --git a/sound/soc/s3c24xx/smdk_spdif.c b/sound/soc/s3c24xx/smdk_spdif.c
index f31d22a..082b88d 100644
--- a/sound/soc/s3c24xx/smdk_spdif.c
+++ b/sound/soc/s3c24xx/smdk_spdif.c
@@ -157,7 +157,7 @@ static struct snd_soc_card smdk;
static struct snd_soc_dai_link smdk_dai = {
.name = "S/PDIF",
.stream_name = "S/PDIF PCM Playback",
- .platform_name = "s3c24xx-pcm-audio",
+ .platform_name = "samsung-audio",
.cpu_dai_name = "samsung-spdif",
.codec_dai_name = "dit-hifi",
.codec_name = "spdif-dit",
diff --git a/sound/soc/s3c24xx/smdk_wm9713.c b/sound/soc/s3c24xx/smdk_wm9713.c
index 33ba8fd..ea96a51 100644
--- a/sound/soc/s3c24xx/smdk_wm9713.c
+++ b/sound/soc/s3c24xx/smdk_wm9713.c
@@ -45,7 +45,7 @@ static struct snd_soc_card smdk;
static struct snd_soc_dai_link smdk_dai = {
.name = "AC97",
.stream_name = "AC97 PCM",
- .platform_name = "s3c24xx-pcm-audio",
+ .platform_name = "samsung-audio",
.cpu_dai_name = "s3c-ac97",
.codec_dai_name = "wm9713-hifi",
.codec_name = "wm9713-codec",
--
1.6.2.5
^ permalink raw reply related [flat|nested] 31+ messages in thread* [PATCH 03/24] ARM: Samsung: Define common audio-dma device
2010-10-22 8:30 [PATCHv2] ASoC: Overhaul Samsung drivers Jassi Brar
2010-10-22 8:31 ` [PATCH 01/24] ASoC: Samsung: Remove redundant AQUILA driver Jassi Brar
2010-10-22 8:32 ` [PATCH 02/24] ASoC: Samsung: Rename DMA device Jassi Brar
@ 2010-10-22 8:34 ` Jassi Brar
2010-10-22 8:34 ` [PATCH 04/24] ASoC: Samsung: Rename ASoC DMA driver Jassi Brar
` (21 subsequent siblings)
24 siblings, 0 replies; 31+ messages in thread
From: Jassi Brar @ 2010-10-22 8:34 UTC (permalink / raw)
To: alsa-devel
Cc: kgene.kim, Jassi Brar, broonie, ben-linux, june.bae, lrg, sw.youn
From: Jassi Brar <jassi.brar@samsung.com>
The ASoC uses common DMA driver for Audio devices. So it makes
sense to a common audio-dma device shared across all platforms.
Signed-off-by: Jassi Brar <jassi.brar@samsung.com>
---
arch/arm/mach-s3c64xx/dev-audio.c | 13 -------------
arch/arm/mach-s3c64xx/mach-smdk6410.c | 2 +-
arch/arm/plat-s3c24xx/devs.c | 15 ---------------
arch/arm/plat-samsung/Makefile | 1 +
arch/arm/plat-samsung/dev-asocdma.c | 24 ++++++++++++++++++++++++
arch/arm/plat-samsung/include/plat/devs.h | 2 +-
6 files changed, 27 insertions(+), 30 deletions(-)
create mode 100644 arch/arm/plat-samsung/dev-asocdma.c
diff --git a/arch/arm/mach-s3c64xx/dev-audio.c b/arch/arm/mach-s3c64xx/dev-audio.c
index c45cc37..c730dd2 100644
--- a/arch/arm/mach-s3c64xx/dev-audio.c
+++ b/arch/arm/mach-s3c64xx/dev-audio.c
@@ -336,16 +336,3 @@ void __init s3c64xx_ac97_setup_gpio(int num)
else
s3c_ac97_pdata.cfg_gpio = s3c64xx_ac97_cfg_gpe;
}
-
-static u64 s3c_device_audio_dmamask = 0xffffffffUL;
-
-struct platform_device s3c_device_pcm = {
- .name = "samsung-audio",
- .id = -1,
- .dev = {
- .dma_mask = &s3c_device_audio_dmamask,
- .coherent_dma_mask = 0xffffffffUL
- }
-};
-EXPORT_SYMBOL(s3c_device_pcm);
-
diff --git a/arch/arm/mach-s3c64xx/mach-smdk6410.c b/arch/arm/mach-s3c64xx/mach-smdk6410.c
index ecbddd3..e2b18b8 100644
--- a/arch/arm/mach-s3c64xx/mach-smdk6410.c
+++ b/arch/arm/mach-s3c64xx/mach-smdk6410.c
@@ -283,7 +283,7 @@ static struct platform_device *smdk6410_devices[] __initdata = {
&s3c_device_fb,
&s3c_device_ohci,
&s3c_device_usb_hsotg,
- &s3c_device_pcm,
+ &samsung_asoc_dma,
&s3c64xx_device_iisv4,
&samsung_device_keypad,
diff --git a/arch/arm/plat-s3c24xx/devs.c b/arch/arm/plat-s3c24xx/devs.c
index 4bf0b39..d8fb4e6 100644
--- a/arch/arm/plat-s3c24xx/devs.c
+++ b/arch/arm/plat-s3c24xx/devs.c
@@ -259,21 +259,6 @@ struct platform_device s3c_device_iis = {
EXPORT_SYMBOL(s3c_device_iis);
-/* ASoC PCM DMA */
-
-static u64 s3c_device_audio_dmamask = 0xffffffffUL;
-
-struct platform_device s3c_device_pcm = {
- .name = "samsung-audio",
- .id = -1,
- .dev = {
- .dma_mask = &s3c_device_audio_dmamask,
- .coherent_dma_mask = 0xffffffffUL
- }
-};
-
-EXPORT_SYMBOL(s3c_device_pcm);
-
/* RTC */
static struct resource s3c_rtc_resource[] = {
diff --git a/arch/arm/plat-samsung/Makefile b/arch/arm/plat-samsung/Makefile
index 4d8ff92..b97623a 100644
--- a/arch/arm/plat-samsung/Makefile
+++ b/arch/arm/plat-samsung/Makefile
@@ -17,6 +17,7 @@ obj-y += clock.o
obj-y += pwm-clock.o
obj-y += gpio.o
obj-y += gpio-config.o
+obj-y += dev-asocdma.o
obj-$(CONFIG_SAMSUNG_GPIOLIB_4BIT) += gpiolib.o
obj-$(CONFIG_SAMSUNG_CLKSRC) += clock-clksrc.o
diff --git a/arch/arm/plat-samsung/dev-asocdma.c b/arch/arm/plat-samsung/dev-asocdma.c
new file mode 100644
index 0000000..b7b1fca
--- /dev/null
+++ b/arch/arm/plat-samsung/dev-asocdma.c
@@ -0,0 +1,24 @@
+/* linux/arch/arm/plat-samsung/dev-asocdma.c
+ *
+ * Copyright (c) 2010 Samsung Electronics Co. Ltd
+ * Jaswinder Singh <jassi.brar@samsung.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+
+#include <linux/platform_device.h>
+#include <linux/dma-mapping.h>
+
+static u64 audio_dmamask = DMA_BIT_MASK(32);
+
+struct platform_device samsung_asoc_dma = {
+ .name = "samsung-audio",
+ .id = -1,
+ .dev = {
+ .dma_mask = &audio_dmamask,
+ .coherent_dma_mask = DMA_BIT_MASK(32),
+ }
+};
+EXPORT_SYMBOL(samsung_asoc_dma);
diff --git a/arch/arm/plat-samsung/include/plat/devs.h b/arch/arm/plat-samsung/include/plat/devs.h
index a9fecd6..21dfa68 100644
--- a/arch/arm/plat-samsung/include/plat/devs.h
+++ b/arch/arm/plat-samsung/include/plat/devs.h
@@ -32,7 +32,7 @@ extern struct platform_device s3c64xx_device_iisv4;
extern struct platform_device s3c64xx_device_spi0;
extern struct platform_device s3c64xx_device_spi1;
-extern struct platform_device s3c_device_pcm;
+extern struct platform_device samsung_asoc_dma;
extern struct platform_device s3c64xx_device_pcm0;
extern struct platform_device s3c64xx_device_pcm1;
--
1.6.2.5
^ permalink raw reply related [flat|nested] 31+ messages in thread* [PATCH 04/24] ASoC: Samsung: Rename ASoC DMA driver
2010-10-22 8:30 [PATCHv2] ASoC: Overhaul Samsung drivers Jassi Brar
` (2 preceding siblings ...)
2010-10-22 8:34 ` [PATCH 03/24] ARM: Samsung: Define common audio-dma device Jassi Brar
@ 2010-10-22 8:34 ` Jassi Brar
2010-10-22 8:34 ` [PATCH 05/24] ASoC: Samsung: Rename AC97 platform device Jassi Brar
` (20 subsequent siblings)
24 siblings, 0 replies; 31+ messages in thread
From: Jassi Brar @ 2010-10-22 8:34 UTC (permalink / raw)
To: alsa-devel
Cc: kgene.kim, Jassi Brar, broonie, ben-linux, june.bae, lrg, sw.youn
From: Jassi Brar <jassi.brar@samsung.com>
Rename Samsung ASoC DMA driver
s3c-dma.[c/h] -> dma.[c/h]
Signed-off-by: Jassi Brar <jassi.brar@samsung.com>
---
sound/soc/s3c24xx/Makefile | 2 +-
sound/soc/s3c24xx/{s3c-dma.c => dma.c} | 6 +++---
sound/soc/s3c24xx/{s3c-dma.h => dma.h} | 2 +-
sound/soc/s3c24xx/goni_wm8994.c | 2 +-
sound/soc/s3c24xx/jive_wm8750.c | 2 +-
sound/soc/s3c24xx/ln2440sbc_alc650.c | 2 +-
sound/soc/s3c24xx/neo1973_gta02_wm8753.c | 2 +-
sound/soc/s3c24xx/neo1973_wm8753.c | 2 +-
sound/soc/s3c24xx/rx1950_uda1380.c | 2 +-
sound/soc/s3c24xx/s3c-ac97.c | 2 +-
sound/soc/s3c24xx/s3c-i2s-v2.c | 2 +-
sound/soc/s3c24xx/s3c-pcm.c | 2 +-
sound/soc/s3c24xx/s3c2412-i2s.c | 2 +-
sound/soc/s3c24xx/s3c24xx-i2s.c | 2 +-
sound/soc/s3c24xx/s3c24xx_simtec.c | 2 +-
sound/soc/s3c24xx/s3c24xx_simtec_hermes.c | 2 +-
sound/soc/s3c24xx/s3c24xx_simtec_tlv320aic23.c | 2 +-
sound/soc/s3c24xx/s3c24xx_uda134x.c | 2 +-
sound/soc/s3c24xx/s3c64xx-i2s-v4.c | 2 +-
sound/soc/s3c24xx/s3c64xx-i2s.c | 2 +-
sound/soc/s3c24xx/smartq_wm8987.c | 2 +-
sound/soc/s3c24xx/smdk2443_wm9710.c | 2 +-
sound/soc/s3c24xx/smdk64xx_wm8580.c | 2 +-
sound/soc/s3c24xx/smdk_spdif.c | 2 +-
sound/soc/s3c24xx/smdk_wm9713.c | 2 +-
sound/soc/s3c24xx/spdif.c | 2 +-
26 files changed, 28 insertions(+), 28 deletions(-)
rename sound/soc/s3c24xx/{s3c-dma.c => dma.c} (99%)
rename sound/soc/s3c24xx/{s3c-dma.h => dma.h} (97%)
diff --git a/sound/soc/s3c24xx/Makefile b/sound/soc/s3c24xx/Makefile
index 4e232f1..20aac45 100644
--- a/sound/soc/s3c24xx/Makefile
+++ b/sound/soc/s3c24xx/Makefile
@@ -1,5 +1,5 @@
# S3c24XX Platform Support
-snd-soc-s3c24xx-objs := s3c-dma.o
+snd-soc-s3c24xx-objs := dma.o
snd-soc-s3c24xx-i2s-objs := s3c24xx-i2s.o
snd-soc-s3c2412-i2s-objs := s3c2412-i2s.o
snd-soc-s3c64xx-i2s-objs := s3c64xx-i2s.o
diff --git a/sound/soc/s3c24xx/s3c-dma.c b/sound/soc/s3c24xx/dma.c
similarity index 99%
rename from sound/soc/s3c24xx/s3c-dma.c
rename to sound/soc/s3c24xx/dma.c
index 0c1cd6c..b4c7c85 100644
--- a/sound/soc/s3c24xx/s3c-dma.c
+++ b/sound/soc/s3c24xx/dma.c
@@ -1,5 +1,5 @@
/*
- * s3c-dma.c -- ALSA Soc Audio Layer
+ * dma.c -- ALSA Soc Audio Layer
*
* (c) 2006 Wolfson Microelectronics PLC.
* Graeme Gregory graeme.gregory@wolfsonmicro.com or linux@wolfsonmicro.com
@@ -30,7 +30,7 @@
#include <mach/hardware.h>
#include <mach/dma.h>
-#include "s3c-dma.h"
+#include "dma.h"
static const struct snd_pcm_hardware s3c_dma_hardware = {
.info = SNDRV_PCM_INFO_INTERLEAVED |
@@ -454,7 +454,7 @@ static int s3c_dma_new(struct snd_card *card,
if (ret)
goto out;
}
- out:
+out:
return ret;
}
diff --git a/sound/soc/s3c24xx/s3c-dma.h b/sound/soc/s3c24xx/dma.h
similarity index 97%
rename from sound/soc/s3c24xx/s3c-dma.h
rename to sound/soc/s3c24xx/dma.h
index 748c07d..f8cd2b4 100644
--- a/sound/soc/s3c24xx/s3c-dma.h
+++ b/sound/soc/s3c24xx/dma.h
@@ -1,5 +1,5 @@
/*
- * s3c-dma.h --
+ * dma.h --
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
diff --git a/sound/soc/s3c24xx/goni_wm8994.c b/sound/soc/s3c24xx/goni_wm8994.c
index c568f69..201056c 100644
--- a/sound/soc/s3c24xx/goni_wm8994.c
+++ b/sound/soc/s3c24xx/goni_wm8994.c
@@ -25,7 +25,7 @@
#include <linux/mfd/wm8994/core.h>
#include <linux/mfd/wm8994/registers.h>
#include "../codecs/wm8994.h"
-#include "s3c-dma.h"
+#include "dma.h"
#include "s3c64xx-i2s.h"
#define MACHINE_NAME 0
diff --git a/sound/soc/s3c24xx/jive_wm8750.c b/sound/soc/s3c24xx/jive_wm8750.c
index 7a6b0fa..4e1b8ac 100644
--- a/sound/soc/s3c24xx/jive_wm8750.c
+++ b/sound/soc/s3c24xx/jive_wm8750.c
@@ -25,7 +25,7 @@
#include <asm/mach-types.h>
-#include "s3c-dma.h"
+#include "dma.h"
#include "s3c2412-i2s.h"
#include "../codecs/wm8750.h"
diff --git a/sound/soc/s3c24xx/ln2440sbc_alc650.c b/sound/soc/s3c24xx/ln2440sbc_alc650.c
index 6b7bb38..36e7e85 100644
--- a/sound/soc/s3c24xx/ln2440sbc_alc650.c
+++ b/sound/soc/s3c24xx/ln2440sbc_alc650.c
@@ -23,7 +23,7 @@
#include <sound/soc.h>
#include <sound/soc-dapm.h>
-#include "s3c-dma.h"
+#include "dma.h"
#include "s3c-ac97.h"
static struct snd_soc_card ln2440sbc;
diff --git a/sound/soc/s3c24xx/neo1973_gta02_wm8753.c b/sound/soc/s3c24xx/neo1973_gta02_wm8753.c
index a9a4bbb..c4b2013 100644
--- a/sound/soc/s3c24xx/neo1973_gta02_wm8753.c
+++ b/sound/soc/s3c24xx/neo1973_gta02_wm8753.c
@@ -32,7 +32,7 @@
#include <asm/io.h>
#include <mach/gta02.h>
#include "../codecs/wm8753.h"
-#include "s3c-dma.h"
+#include "dma.h"
#include "s3c24xx-i2s.h"
static struct snd_soc_card neo1973_gta02;
diff --git a/sound/soc/s3c24xx/neo1973_wm8753.c b/sound/soc/s3c24xx/neo1973_wm8753.c
index d5e4148..96dda57 100644
--- a/sound/soc/s3c24xx/neo1973_wm8753.c
+++ b/sound/soc/s3c24xx/neo1973_wm8753.c
@@ -36,7 +36,7 @@
#include "../codecs/wm8753.h"
#include "lm4857.h"
-#include "s3c-dma.h"
+#include "dma.h"
#include "s3c24xx-i2s.h"
/* define the scenarios */
diff --git a/sound/soc/s3c24xx/rx1950_uda1380.c b/sound/soc/s3c24xx/rx1950_uda1380.c
index 99bb86e..07197ee 100644
--- a/sound/soc/s3c24xx/rx1950_uda1380.c
+++ b/sound/soc/s3c24xx/rx1950_uda1380.c
@@ -35,7 +35,7 @@
#include <asm/mach-types.h>
-#include "s3c-dma.h"
+#include "dma.h"
#include "s3c24xx-i2s.h"
#include "../codecs/uda1380.h"
diff --git a/sound/soc/s3c24xx/s3c-ac97.c b/sound/soc/s3c24xx/s3c-ac97.c
index f891eb7..408f9c9 100644
--- a/sound/soc/s3c24xx/s3c-ac97.c
+++ b/sound/soc/s3c24xx/s3c-ac97.c
@@ -24,7 +24,7 @@
#include <mach/dma.h>
#include <plat/audio.h>
-#include "s3c-dma.h"
+#include "dma.h"
#include "s3c-ac97.h"
#define AC_CMD_ADDR(x) (x << 16)
diff --git a/sound/soc/s3c24xx/s3c-i2s-v2.c b/sound/soc/s3c24xx/s3c-i2s-v2.c
index b3866d5..c471431 100644
--- a/sound/soc/s3c24xx/s3c-i2s-v2.c
+++ b/sound/soc/s3c24xx/s3c-i2s-v2.c
@@ -28,7 +28,7 @@
#include "regs-i2s-v2.h"
#include "s3c-i2s-v2.h"
-#include "s3c-dma.h"
+#include "dma.h"
#undef S3C_IIS_V2_SUPPORTED
diff --git a/sound/soc/s3c24xx/s3c-pcm.c b/sound/soc/s3c24xx/s3c-pcm.c
index 2e020e1..e111d23 100644
--- a/sound/soc/s3c24xx/s3c-pcm.c
+++ b/sound/soc/s3c24xx/s3c-pcm.c
@@ -29,7 +29,7 @@
#include <plat/audio.h>
#include <plat/dma.h>
-#include "s3c-dma.h"
+#include "dma.h"
#include "s3c-pcm.h"
static struct s3c2410_dma_client s3c_pcm_dma_client_out = {
diff --git a/sound/soc/s3c24xx/s3c2412-i2s.c b/sound/soc/s3c24xx/s3c2412-i2s.c
index 4a861cf..d953ff4 100644
--- a/sound/soc/s3c24xx/s3c2412-i2s.c
+++ b/sound/soc/s3c24xx/s3c2412-i2s.c
@@ -35,7 +35,7 @@
#include <mach/regs-gpio.h>
#include <mach/dma.h>
-#include "s3c-dma.h"
+#include "dma.h"
#include "regs-i2s-v2.h"
#include "s3c2412-i2s.h"
diff --git a/sound/soc/s3c24xx/s3c24xx-i2s.c b/sound/soc/s3c24xx/s3c24xx-i2s.c
index e060daa..13e41ed 100644
--- a/sound/soc/s3c24xx/s3c24xx-i2s.c
+++ b/sound/soc/s3c24xx/s3c24xx-i2s.c
@@ -38,7 +38,7 @@
#include <plat/regs-iis.h>
-#include "s3c-dma.h"
+#include "dma.h"
#include "s3c24xx-i2s.h"
static struct s3c2410_dma_client s3c24xx_dma_client_out = {
diff --git a/sound/soc/s3c24xx/s3c24xx_simtec.c b/sound/soc/s3c24xx/s3c24xx_simtec.c
index c4c1114..3f052a5 100644
--- a/sound/soc/s3c24xx/s3c24xx_simtec.c
+++ b/sound/soc/s3c24xx/s3c24xx_simtec.c
@@ -21,7 +21,7 @@
#include <plat/audio-simtec.h>
-#include "s3c-dma.h"
+#include "dma.h"
#include "s3c24xx-i2s.h"
#include "s3c24xx_simtec.h"
diff --git a/sound/soc/s3c24xx/s3c24xx_simtec_hermes.c b/sound/soc/s3c24xx/s3c24xx_simtec_hermes.c
index 5180c2a..8b246ab 100644
--- a/sound/soc/s3c24xx/s3c24xx_simtec_hermes.c
+++ b/sound/soc/s3c24xx/s3c24xx_simtec_hermes.c
@@ -18,7 +18,7 @@
#include <plat/audio-simtec.h>
-#include "s3c-dma.h"
+#include "dma.h"
#include "s3c24xx-i2s.h"
#include "s3c24xx_simtec.h"
diff --git a/sound/soc/s3c24xx/s3c24xx_simtec_tlv320aic23.c b/sound/soc/s3c24xx/s3c24xx_simtec_tlv320aic23.c
index 7a7bb53..a922e1e 100644
--- a/sound/soc/s3c24xx/s3c24xx_simtec_tlv320aic23.c
+++ b/sound/soc/s3c24xx/s3c24xx_simtec_tlv320aic23.c
@@ -18,7 +18,7 @@
#include <plat/audio-simtec.h>
-#include "s3c-dma.h"
+#include "dma.h"
#include "s3c24xx-i2s.h"
#include "s3c24xx_simtec.h"
diff --git a/sound/soc/s3c24xx/s3c24xx_uda134x.c b/sound/soc/s3c24xx/s3c24xx_uda134x.c
index 50d44fa..87eeb46 100644
--- a/sound/soc/s3c24xx/s3c24xx_uda134x.c
+++ b/sound/soc/s3c24xx/s3c24xx_uda134x.c
@@ -24,7 +24,7 @@
#include <plat/regs-iis.h>
-#include "s3c-dma.h"
+#include "dma.h"
#include "s3c24xx-i2s.h"
#include "../codecs/uda134x.h"
diff --git a/sound/soc/s3c24xx/s3c64xx-i2s-v4.c b/sound/soc/s3c24xx/s3c64xx-i2s-v4.c
index a962847..46b65d7 100644
--- a/sound/soc/s3c24xx/s3c64xx-i2s-v4.c
+++ b/sound/soc/s3c24xx/s3c64xx-i2s-v4.c
@@ -21,7 +21,7 @@
#include <mach/map.h>
#include <mach/dma.h>
-#include "s3c-dma.h"
+#include "dma.h"
#include "regs-i2s-v2.h"
#include "s3c64xx-i2s.h"
diff --git a/sound/soc/s3c24xx/s3c64xx-i2s.c b/sound/soc/s3c24xx/s3c64xx-i2s.c
index ae7acb6..0288d4e 100644
--- a/sound/soc/s3c24xx/s3c64xx-i2s.c
+++ b/sound/soc/s3c24xx/s3c64xx-i2s.c
@@ -25,7 +25,7 @@
#include <mach/map.h>
#include <mach/dma.h>
-#include "s3c-dma.h"
+#include "dma.h"
#include "regs-i2s-v2.h"
#include "s3c64xx-i2s.h"
diff --git a/sound/soc/s3c24xx/smartq_wm8987.c b/sound/soc/s3c24xx/smartq_wm8987.c
index 863631a..1d55312 100644
--- a/sound/soc/s3c24xx/smartq_wm8987.c
+++ b/sound/soc/s3c24xx/smartq_wm8987.c
@@ -24,7 +24,7 @@
#include <asm/mach-types.h>
-#include "s3c-dma.h"
+#include "dma.h"
#include "s3c64xx-i2s.h"
#include "../codecs/wm8750.h"
diff --git a/sound/soc/s3c24xx/smdk2443_wm9710.c b/sound/soc/s3c24xx/smdk2443_wm9710.c
index 911bb60..c50d19c 100644
--- a/sound/soc/s3c24xx/smdk2443_wm9710.c
+++ b/sound/soc/s3c24xx/smdk2443_wm9710.c
@@ -19,7 +19,7 @@
#include <sound/soc.h>
#include <sound/soc-dapm.h>
-#include "s3c-dma.h"
+#include "dma.h"
#include "s3c-ac97.h"
static struct snd_soc_card smdk2443;
diff --git a/sound/soc/s3c24xx/smdk64xx_wm8580.c b/sound/soc/s3c24xx/smdk64xx_wm8580.c
index 7e75c8d..9ddc964 100644
--- a/sound/soc/s3c24xx/smdk64xx_wm8580.c
+++ b/sound/soc/s3c24xx/smdk64xx_wm8580.c
@@ -19,7 +19,7 @@
#include <sound/soc-dapm.h>
#include "../codecs/wm8580.h"
-#include "s3c-dma.h"
+#include "dma.h"
#include "s3c64xx-i2s.h"
/*
diff --git a/sound/soc/s3c24xx/smdk_spdif.c b/sound/soc/s3c24xx/smdk_spdif.c
index 082b88d..4fc6a9f 100644
--- a/sound/soc/s3c24xx/smdk_spdif.c
+++ b/sound/soc/s3c24xx/smdk_spdif.c
@@ -18,7 +18,7 @@
#include <sound/soc.h>
-#include "s3c-dma.h"
+#include "dma.h"
#include "spdif.h"
/* Audio clock settings are belonged to board specific part. Every
diff --git a/sound/soc/s3c24xx/smdk_wm9713.c b/sound/soc/s3c24xx/smdk_wm9713.c
index ea96a51..80f2aef 100644
--- a/sound/soc/s3c24xx/smdk_wm9713.c
+++ b/sound/soc/s3c24xx/smdk_wm9713.c
@@ -15,7 +15,7 @@
#include <linux/device.h>
#include <sound/soc.h>
-#include "s3c-dma.h"
+#include "dma.h"
#include "s3c-ac97.h"
static struct snd_soc_card smdk;
diff --git a/sound/soc/s3c24xx/spdif.c b/sound/soc/s3c24xx/spdif.c
index ce554e9..dc85df3 100644
--- a/sound/soc/s3c24xx/spdif.c
+++ b/sound/soc/s3c24xx/spdif.c
@@ -20,7 +20,7 @@
#include <plat/audio.h>
#include <mach/dma.h>
-#include "s3c-dma.h"
+#include "dma.h"
#include "spdif.h"
/* Registers */
--
1.6.2.5
^ permalink raw reply related [flat|nested] 31+ messages in thread* [PATCH 05/24] ASoC: Samsung: Rename AC97 platform device
2010-10-22 8:30 [PATCHv2] ASoC: Overhaul Samsung drivers Jassi Brar
` (3 preceding siblings ...)
2010-10-22 8:34 ` [PATCH 04/24] ASoC: Samsung: Rename ASoC DMA driver Jassi Brar
@ 2010-10-22 8:34 ` Jassi Brar
2010-10-22 8:35 ` [PATCH 06/24] ASoC: Samsung: Rename AC97 driver Jassi Brar
` (19 subsequent siblings)
24 siblings, 0 replies; 31+ messages in thread
From: Jassi Brar @ 2010-10-22 8:34 UTC (permalink / raw)
To: alsa-devel
Cc: kgene.kim, Jassi Brar, broonie, ben-linux, june.bae, lrg, sw.youn
From: Jassi Brar <jassi.brar@samsung.com>
Call the AC97 controller devices found in S3C, S5P and newer
SoCs as 'samsung-ac97' rather than 's3c-ac97'.
Signed-off-by: Jassi Brar <jassi.brar@samsung.com>
---
arch/arm/mach-s3c64xx/dev-audio.c | 2 +-
arch/arm/mach-s5pc100/dev-audio.c | 2 +-
arch/arm/mach-s5pv210/dev-audio.c | 2 +-
arch/arm/plat-s3c24xx/devs.c | 2 +-
sound/soc/s3c24xx/ln2440sbc_alc650.c | 2 +-
sound/soc/s3c24xx/s3c-ac97.c | 4 ++--
sound/soc/s3c24xx/smdk2443_wm9710.c | 2 +-
sound/soc/s3c24xx/smdk_wm9713.c | 2 +-
8 files changed, 9 insertions(+), 9 deletions(-)
diff --git a/arch/arm/mach-s3c64xx/dev-audio.c b/arch/arm/mach-s3c64xx/dev-audio.c
index c730dd2..1615c94 100644
--- a/arch/arm/mach-s3c64xx/dev-audio.c
+++ b/arch/arm/mach-s3c64xx/dev-audio.c
@@ -317,7 +317,7 @@ static struct s3c_audio_pdata s3c_ac97_pdata;
static u64 s3c64xx_ac97_dmamask = DMA_BIT_MASK(32);
struct platform_device s3c64xx_device_ac97 = {
- .name = "s3c-ac97",
+ .name = "samsung-ac97",
.id = -1,
.num_resources = ARRAY_SIZE(s3c64xx_ac97_resource),
.resource = s3c64xx_ac97_resource,
diff --git a/arch/arm/mach-s5pc100/dev-audio.c b/arch/arm/mach-s5pc100/dev-audio.c
index a699ed6..4207511 100644
--- a/arch/arm/mach-s5pc100/dev-audio.c
+++ b/arch/arm/mach-s5pc100/dev-audio.c
@@ -275,7 +275,7 @@ static struct s3c_audio_pdata s3c_ac97_pdata = {
static u64 s5pc100_ac97_dmamask = DMA_BIT_MASK(32);
struct platform_device s5pc100_device_ac97 = {
- .name = "s3c-ac97",
+ .name = "samsung-ac97",
.id = -1,
.num_resources = ARRAY_SIZE(s5pc100_ac97_resource),
.resource = s5pc100_ac97_resource,
diff --git a/arch/arm/mach-s5pv210/dev-audio.c b/arch/arm/mach-s5pv210/dev-audio.c
index 21dc6cf..e6db957 100644
--- a/arch/arm/mach-s5pv210/dev-audio.c
+++ b/arch/arm/mach-s5pv210/dev-audio.c
@@ -315,7 +315,7 @@ static struct s3c_audio_pdata s3c_ac97_pdata = {
static u64 s5pv210_ac97_dmamask = DMA_BIT_MASK(32);
struct platform_device s5pv210_device_ac97 = {
- .name = "s3c-ac97",
+ .name = "samsung-ac97",
.id = -1,
.num_resources = ARRAY_SIZE(s5pv210_ac97_resource),
.resource = s5pv210_ac97_resource,
diff --git a/arch/arm/plat-s3c24xx/devs.c b/arch/arm/plat-s3c24xx/devs.c
index d8fb4e6..2f99fff 100644
--- a/arch/arm/plat-s3c24xx/devs.c
+++ b/arch/arm/plat-s3c24xx/devs.c
@@ -482,7 +482,7 @@ static struct resource s3c_ac97_resource[] = {
};
struct platform_device s3c_device_ac97 = {
- .name = "s3c-ac97",
+ .name = "samsung-ac97",
.id = -1,
.num_resources = ARRAY_SIZE(s3c_ac97_resource),
.resource = s3c_ac97_resource,
diff --git a/sound/soc/s3c24xx/ln2440sbc_alc650.c b/sound/soc/s3c24xx/ln2440sbc_alc650.c
index 36e7e85..dda11ac 100644
--- a/sound/soc/s3c24xx/ln2440sbc_alc650.c
+++ b/sound/soc/s3c24xx/ln2440sbc_alc650.c
@@ -32,7 +32,7 @@ static struct snd_soc_dai_link ln2440sbc_dai[] = {
{
.name = "AC97",
.stream_name = "AC97 HiFi",
- .cpu_dai_name = "s3c-ac97",
+ .cpu_dai_name = "samsung-ac97",
.codec_dai_name = "ac97-hifi",
.codec_name = "ac97-codec",
.platform_name = "samsung-audio",
diff --git a/sound/soc/s3c24xx/s3c-ac97.c b/sound/soc/s3c24xx/s3c-ac97.c
index 408f9c9..5352cac 100644
--- a/sound/soc/s3c24xx/s3c-ac97.c
+++ b/sound/soc/s3c24xx/s3c-ac97.c
@@ -497,7 +497,7 @@ static struct platform_driver s3c_ac97_driver = {
.probe = s3c_ac97_probe,
.remove = s3c_ac97_remove,
.driver = {
- .name = "s3c-ac97",
+ .name = "samsung-ac97",
.owner = THIS_MODULE,
},
};
@@ -517,4 +517,4 @@ module_exit(s3c_ac97_exit);
MODULE_AUTHOR("Jaswinder Singh, <jassi.brar@samsung.com>");
MODULE_DESCRIPTION("AC97 driver for the Samsung SoC");
MODULE_LICENSE("GPL");
-MODULE_ALIAS("platform:s3c-ac97");
+MODULE_ALIAS("platform:samsung-ac97");
diff --git a/sound/soc/s3c24xx/smdk2443_wm9710.c b/sound/soc/s3c24xx/smdk2443_wm9710.c
index c50d19c..0205138 100644
--- a/sound/soc/s3c24xx/smdk2443_wm9710.c
+++ b/sound/soc/s3c24xx/smdk2443_wm9710.c
@@ -28,7 +28,7 @@ static struct snd_soc_dai_link smdk2443_dai[] = {
{
.name = "AC97",
.stream_name = "AC97 HiFi",
- .cpu_dai_name = "s3c-ac97",
+ .cpu_dai_name = "samsung-ac97",
.codec_dai_name = "ac97-hifi",
.codec_name = "ac97-codec",
.platform_name = "samsung-audio",
diff --git a/sound/soc/s3c24xx/smdk_wm9713.c b/sound/soc/s3c24xx/smdk_wm9713.c
index 80f2aef..56b448d 100644
--- a/sound/soc/s3c24xx/smdk_wm9713.c
+++ b/sound/soc/s3c24xx/smdk_wm9713.c
@@ -46,7 +46,7 @@ static struct snd_soc_dai_link smdk_dai = {
.name = "AC97",
.stream_name = "AC97 PCM",
.platform_name = "samsung-audio",
- .cpu_dai_name = "s3c-ac97",
+ .cpu_dai_name = "samsung-ac97",
.codec_dai_name = "wm9713-hifi",
.codec_name = "wm9713-codec",
};
--
1.6.2.5
^ permalink raw reply related [flat|nested] 31+ messages in thread* [PATCH 06/24] ASoC: Samsung: Rename AC97 driver
2010-10-22 8:30 [PATCHv2] ASoC: Overhaul Samsung drivers Jassi Brar
` (4 preceding siblings ...)
2010-10-22 8:34 ` [PATCH 05/24] ASoC: Samsung: Rename AC97 platform device Jassi Brar
@ 2010-10-22 8:35 ` Jassi Brar
2010-10-22 8:35 ` [PATCH 07/24] ASoC: Samsung: Rename PCM driver Jassi Brar
` (18 subsequent siblings)
24 siblings, 0 replies; 31+ messages in thread
From: Jassi Brar @ 2010-10-22 8:35 UTC (permalink / raw)
To: alsa-devel
Cc: kgene.kim, Jassi Brar, broonie, ben-linux, june.bae, lrg, sw.youn
From: Jassi Brar <jassi.brar@samsung.com>
Rename Samsung AC97 driver
s3c-ac97.[c/h] -> ac97.[c/h]
Signed-off-by: Jassi Brar <jassi.brar@samsung.com>
---
sound/soc/s3c24xx/Makefile | 4 ++--
sound/soc/s3c24xx/{s3c-ac97.c => ac97.c} | 16 ++++++++--------
sound/soc/s3c24xx/{s3c-ac97.h => ac97.h} | 8 ++++----
sound/soc/s3c24xx/ln2440sbc_alc650.c | 2 +-
sound/soc/s3c24xx/smdk2443_wm9710.c | 2 +-
sound/soc/s3c24xx/smdk_wm9713.c | 2 +-
6 files changed, 17 insertions(+), 17 deletions(-)
rename sound/soc/s3c24xx/{s3c-ac97.c => ac97.c} (97%)
rename sound/soc/s3c24xx/{s3c-ac97.h => ac97.h} (73%)
diff --git a/sound/soc/s3c24xx/Makefile b/sound/soc/s3c24xx/Makefile
index 20aac45..551a63d 100644
--- a/sound/soc/s3c24xx/Makefile
+++ b/sound/soc/s3c24xx/Makefile
@@ -3,7 +3,7 @@ snd-soc-s3c24xx-objs := dma.o
snd-soc-s3c24xx-i2s-objs := s3c24xx-i2s.o
snd-soc-s3c2412-i2s-objs := s3c2412-i2s.o
snd-soc-s3c64xx-i2s-objs := s3c64xx-i2s.o
-snd-soc-s3c-ac97-objs := s3c-ac97.o
+snd-soc-ac97-objs := ac97.o
snd-soc-s3c64xx-i2s-v4-objs := s3c64xx-i2s-v4.o
snd-soc-s3c-i2s-v2-objs := s3c-i2s-v2.o
snd-soc-s3c-pcm-objs := s3c-pcm.o
@@ -11,7 +11,7 @@ snd-soc-samsung-spdif-objs := spdif.o
obj-$(CONFIG_SND_S3C24XX_SOC) += snd-soc-s3c24xx.o
obj-$(CONFIG_SND_S3C24XX_SOC_I2S) += snd-soc-s3c24xx-i2s.o
-obj-$(CONFIG_SND_S3C_SOC_AC97) += snd-soc-s3c-ac97.o
+obj-$(CONFIG_SND_S3C_SOC_AC97) += snd-soc-ac97.o
obj-$(CONFIG_SND_S3C2412_SOC_I2S) += snd-soc-s3c2412-i2s.o
obj-$(CONFIG_SND_S3C64XX_SOC_I2S) += snd-soc-s3c64xx-i2s.o
obj-$(CONFIG_SND_S3C64XX_SOC_I2S_V4) += snd-soc-s3c64xx-i2s-v4.o
diff --git a/sound/soc/s3c24xx/s3c-ac97.c b/sound/soc/s3c24xx/ac97.c
similarity index 97%
rename from sound/soc/s3c24xx/s3c-ac97.c
rename to sound/soc/s3c24xx/ac97.c
index 5352cac..4f999d1 100644
--- a/sound/soc/s3c24xx/s3c-ac97.c
+++ b/sound/soc/s3c24xx/ac97.c
@@ -1,4 +1,4 @@
-/* sound/soc/s3c24xx/s3c-ac97.c
+/* sound/soc/s3c24xx/ac97.c
*
* ALSA SoC Audio Layer - S3C AC97 Controller driver
* Evolved from s3c2443-ac97.c
@@ -25,7 +25,7 @@
#include <plat/audio.h>
#include "dma.h"
-#include "s3c-ac97.h"
+#include "ac97.h"
#define AC_CMD_ADDR(x) (x << 16)
#define AC_CMD_DATA(x) (x & 0xffff)
@@ -122,7 +122,7 @@ static unsigned short s3c_ac97_read(struct snd_ac97 *ac97,
data = (stat & 0xffff);
if (addr != reg)
- pr_err("s3c-ac97: req addr = %02x, rep addr = %02x\n",
+ pr_err("ac97: req addr = %02x, rep addr = %02x\n",
reg, addr);
mutex_unlock(&s3c_ac97.lock);
@@ -334,7 +334,7 @@ static struct snd_soc_dai_ops s3c_ac97_mic_dai_ops = {
static struct snd_soc_dai_driver s3c_ac97_dai[] = {
[S3C_AC97_DAI_PCM] = {
- .name = "s3c-ac97",
+ .name = "samsung-ac97",
.ac97_control = 1,
.playback = {
.stream_name = "AC97 Playback",
@@ -351,7 +351,7 @@ static struct snd_soc_dai_driver s3c_ac97_dai[] = {
.ops = &s3c_ac97_dai_ops,
},
[S3C_AC97_DAI_MIC] = {
- .name = "s3c-ac97-mic",
+ .name = "samsung-ac97-mic",
.ac97_control = 1,
.capture = {
.stream_name = "AC97 Mic Capture",
@@ -407,7 +407,7 @@ static __devinit int s3c_ac97_probe(struct platform_device *pdev)
}
if (!request_mem_region(mem_res->start,
- resource_size(mem_res), "s3c-ac97")) {
+ resource_size(mem_res), "ac97")) {
dev_err(&pdev->dev, "Unable to request register region\n");
return -EBUSY;
}
@@ -431,7 +431,7 @@ static __devinit int s3c_ac97_probe(struct platform_device *pdev)
s3c_ac97.ac97_clk = clk_get(&pdev->dev, "ac97");
if (IS_ERR(s3c_ac97.ac97_clk)) {
- dev_err(&pdev->dev, "s3c-ac97 failed to get ac97_clock\n");
+ dev_err(&pdev->dev, "ac97 failed to get ac97_clock\n");
ret = -ENODEV;
goto err2;
}
@@ -446,7 +446,7 @@ static __devinit int s3c_ac97_probe(struct platform_device *pdev)
ret = request_irq(irq_res->start, s3c_ac97_irq,
IRQF_DISABLED, "AC97", NULL);
if (ret < 0) {
- dev_err(&pdev->dev, "s3c-ac97: interrupt request failed.\n");
+ dev_err(&pdev->dev, "ac97: interrupt request failed.\n");
goto err4;
}
diff --git a/sound/soc/s3c24xx/s3c-ac97.h b/sound/soc/s3c24xx/ac97.h
similarity index 73%
rename from sound/soc/s3c24xx/s3c-ac97.h
rename to sound/soc/s3c24xx/ac97.h
index 5dcedd0..a8f01b7 100644
--- a/sound/soc/s3c24xx/s3c-ac97.h
+++ b/sound/soc/s3c24xx/ac97.h
@@ -1,11 +1,11 @@
-/* sound/soc/s3c24xx/s3c-ac97.h
+/* sound/soc/s3c24xx/ac97.h
*
* ALSA SoC Audio Layer - S3C AC97 Controller driver
- * Evolved from s3c2443-ac97.h
+ * Evolved from s3c2443-ac97.h
*
* Copyright (c) 2010 Samsung Electronics Co. Ltd
- * Author: Jaswinder Singh <jassi.brar@samsung.com>
- * Credits: Graeme Gregory, Sean Choi
+ * Author: Jaswinder Singh <jassi.brar@samsung.com>
+ * Credits: Graeme Gregory, Sean Choi
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
diff --git a/sound/soc/s3c24xx/ln2440sbc_alc650.c b/sound/soc/s3c24xx/ln2440sbc_alc650.c
index dda11ac..e507174 100644
--- a/sound/soc/s3c24xx/ln2440sbc_alc650.c
+++ b/sound/soc/s3c24xx/ln2440sbc_alc650.c
@@ -24,7 +24,7 @@
#include <sound/soc-dapm.h>
#include "dma.h"
-#include "s3c-ac97.h"
+#include "ac97.h"
static struct snd_soc_card ln2440sbc;
diff --git a/sound/soc/s3c24xx/smdk2443_wm9710.c b/sound/soc/s3c24xx/smdk2443_wm9710.c
index 0205138..5051699 100644
--- a/sound/soc/s3c24xx/smdk2443_wm9710.c
+++ b/sound/soc/s3c24xx/smdk2443_wm9710.c
@@ -20,7 +20,7 @@
#include <sound/soc-dapm.h>
#include "dma.h"
-#include "s3c-ac97.h"
+#include "ac97.h"
static struct snd_soc_card smdk2443;
diff --git a/sound/soc/s3c24xx/smdk_wm9713.c b/sound/soc/s3c24xx/smdk_wm9713.c
index 56b448d..7ce2430 100644
--- a/sound/soc/s3c24xx/smdk_wm9713.c
+++ b/sound/soc/s3c24xx/smdk_wm9713.c
@@ -16,7 +16,7 @@
#include <sound/soc.h>
#include "dma.h"
-#include "s3c-ac97.h"
+#include "ac97.h"
static struct snd_soc_card smdk;
--
1.6.2.5
^ permalink raw reply related [flat|nested] 31+ messages in thread* [PATCH 07/24] ASoC: Samsung: Rename PCM driver
2010-10-22 8:30 [PATCHv2] ASoC: Overhaul Samsung drivers Jassi Brar
` (5 preceding siblings ...)
2010-10-22 8:35 ` [PATCH 06/24] ASoC: Samsung: Rename AC97 driver Jassi Brar
@ 2010-10-22 8:35 ` Jassi Brar
2010-10-22 8:35 ` [PATCH 08/24] ASoC: Samsung: Generalize DMA driver namespace Jassi Brar
` (17 subsequent siblings)
24 siblings, 0 replies; 31+ messages in thread
From: Jassi Brar @ 2010-10-22 8:35 UTC (permalink / raw)
To: alsa-devel
Cc: kgene.kim, Jassi Brar, broonie, ben-linux, june.bae, lrg, sw.youn
From: Jassi Brar <jassi.brar@samsung.com>
Rename Samsung PCM Controller driver
s3c-pcm.[c/h] -> pcm.[c/h]
Signed-off-by: Jassi Brar <jassi.brar@samsung.com>
---
sound/soc/s3c24xx/Makefile | 4 ++--
sound/soc/s3c24xx/{s3c-pcm.c => pcm.c} | 4 ++--
sound/soc/s3c24xx/{s3c-pcm.h => pcm.h} | 2 +-
3 files changed, 5 insertions(+), 5 deletions(-)
rename sound/soc/s3c24xx/{s3c-pcm.c => pcm.c} (99%)
rename sound/soc/s3c24xx/{s3c-pcm.h => pcm.h} (99%)
diff --git a/sound/soc/s3c24xx/Makefile b/sound/soc/s3c24xx/Makefile
index 551a63d..93de2a0 100644
--- a/sound/soc/s3c24xx/Makefile
+++ b/sound/soc/s3c24xx/Makefile
@@ -6,8 +6,8 @@ snd-soc-s3c64xx-i2s-objs := s3c64xx-i2s.o
snd-soc-ac97-objs := ac97.o
snd-soc-s3c64xx-i2s-v4-objs := s3c64xx-i2s-v4.o
snd-soc-s3c-i2s-v2-objs := s3c-i2s-v2.o
-snd-soc-s3c-pcm-objs := s3c-pcm.o
snd-soc-samsung-spdif-objs := spdif.o
+snd-soc-pcm-objs := pcm.o
obj-$(CONFIG_SND_S3C24XX_SOC) += snd-soc-s3c24xx.o
obj-$(CONFIG_SND_S3C24XX_SOC_I2S) += snd-soc-s3c24xx-i2s.o
@@ -16,8 +16,8 @@ obj-$(CONFIG_SND_S3C2412_SOC_I2S) += snd-soc-s3c2412-i2s.o
obj-$(CONFIG_SND_S3C64XX_SOC_I2S) += snd-soc-s3c64xx-i2s.o
obj-$(CONFIG_SND_S3C64XX_SOC_I2S_V4) += snd-soc-s3c64xx-i2s-v4.o
obj-$(CONFIG_SND_S3C_I2SV2_SOC) += snd-soc-s3c-i2s-v2.o
-obj-$(CONFIG_SND_S3C_SOC_PCM) += snd-soc-s3c-pcm.o
obj-$(CONFIG_SND_S5P_SOC_SPDIF) += snd-soc-samsung-spdif.o
+obj-$(CONFIG_SND_S3C_SOC_PCM) += snd-soc-pcm.o
# S3C24XX Machine Support
snd-soc-jive-wm8750-objs := jive_wm8750.o
diff --git a/sound/soc/s3c24xx/s3c-pcm.c b/sound/soc/s3c24xx/pcm.c
similarity index 99%
rename from sound/soc/s3c24xx/s3c-pcm.c
rename to sound/soc/s3c24xx/pcm.c
index e111d23..4d0f6e4 100644
--- a/sound/soc/s3c24xx/s3c-pcm.c
+++ b/sound/soc/s3c24xx/pcm.c
@@ -1,4 +1,4 @@
-/* sound/soc/s3c24xx/s3c-pcm.c
+/* sound/soc/s3c24xx/pcm.c
*
* ALSA SoC Audio Layer - S3C PCM-Controller driver
*
@@ -30,7 +30,7 @@
#include <plat/dma.h>
#include "dma.h"
-#include "s3c-pcm.h"
+#include "pcm.h"
static struct s3c2410_dma_client s3c_pcm_dma_client_out = {
.name = "PCM Stereo out"
diff --git a/sound/soc/s3c24xx/s3c-pcm.h b/sound/soc/s3c24xx/pcm.h
similarity index 99%
rename from sound/soc/s3c24xx/s3c-pcm.h
rename to sound/soc/s3c24xx/pcm.h
index f60baa1..3775216 100644
--- a/sound/soc/s3c24xx/s3c-pcm.h
+++ b/sound/soc/s3c24xx/pcm.h
@@ -1,4 +1,4 @@
-/* sound/soc/s3c24xx/s3c-pcm.h
+/* sound/soc/s3c24xx/pcm.h
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
--
1.6.2.5
^ permalink raw reply related [flat|nested] 31+ messages in thread* [PATCH 08/24] ASoC: Samsung: Generalize DMA driver namespace
2010-10-22 8:30 [PATCHv2] ASoC: Overhaul Samsung drivers Jassi Brar
` (6 preceding siblings ...)
2010-10-22 8:35 ` [PATCH 07/24] ASoC: Samsung: Rename PCM driver Jassi Brar
@ 2010-10-22 8:35 ` Jassi Brar
2010-10-22 8:35 ` [PATCH 09/24] ASoC: Samsung: Rename s3c64xx I2S device Jassi Brar
` (16 subsequent siblings)
24 siblings, 0 replies; 31+ messages in thread
From: Jassi Brar @ 2010-10-22 8:35 UTC (permalink / raw)
To: alsa-devel
Cc: kgene.kim, Jassi Brar, broonie, ben-linux, june.bae, lrg, sw.youn
From: Jassi Brar <jassi.brar@samsung.com>
Remove S3C,s3c from static defines.
s3c_dma_ -> dma_
s3c24xx_runtime_ -> runtime_
s3c24xx_audio_ -> audio_
s3c_preallocate_ -> preallocate_
s3c24xx_soc_platform -> samsung_asoc_platform
s3c24xx_pcm_driver -> asoc_dma_driver
snd_s3c24xx_pcm_ -> samsung_asoc_
Signed-off-by: Jassi Brar <jassi.brar@samsung.com>
---
sound/soc/s3c24xx/dma.c | 124 +++++++++++++++++++++++-----------------------
1 files changed, 62 insertions(+), 62 deletions(-)
diff --git a/sound/soc/s3c24xx/dma.c b/sound/soc/s3c24xx/dma.c
index b4c7c85..12622f3 100644
--- a/sound/soc/s3c24xx/dma.c
+++ b/sound/soc/s3c24xx/dma.c
@@ -32,7 +32,7 @@
#include "dma.h"
-static const struct snd_pcm_hardware s3c_dma_hardware = {
+static const struct snd_pcm_hardware dma_hardware = {
.info = SNDRV_PCM_INFO_INTERLEAVED |
SNDRV_PCM_INFO_BLOCK_TRANSFER |
SNDRV_PCM_INFO_MMAP |
@@ -53,7 +53,7 @@ static const struct snd_pcm_hardware s3c_dma_hardware = {
.fifo_size = 32,
};
-struct s3c24xx_runtime_data {
+struct runtime_data {
spinlock_t lock;
int state;
unsigned int dma_loaded;
@@ -65,14 +65,14 @@ struct s3c24xx_runtime_data {
struct s3c_dma_params *params;
};
-/* s3c_dma_enqueue
+/* dma_enqueue
*
* place a dma buffer onto the queue for the dma system
* to handle.
*/
-static void s3c_dma_enqueue(struct snd_pcm_substream *substream)
+static void dma_enqueue(struct snd_pcm_substream *substream)
{
- struct s3c24xx_runtime_data *prtd = substream->runtime->private_data;
+ struct runtime_data *prtd = substream->runtime->private_data;
dma_addr_t pos = prtd->dma_pos;
unsigned int limit;
int ret;
@@ -113,12 +113,12 @@ static void s3c_dma_enqueue(struct snd_pcm_substream *substream)
prtd->dma_pos = pos;
}
-static void s3c24xx_audio_buffdone(struct s3c2410_dma_chan *channel,
+static void audio_buffdone(struct s3c2410_dma_chan *channel,
void *dev_id, int size,
enum s3c2410_dma_buffresult result)
{
struct snd_pcm_substream *substream = dev_id;
- struct s3c24xx_runtime_data *prtd;
+ struct runtime_data *prtd;
pr_debug("Entered %s\n", __func__);
@@ -133,17 +133,17 @@ static void s3c24xx_audio_buffdone(struct s3c2410_dma_chan *channel,
spin_lock(&prtd->lock);
if (prtd->state & ST_RUNNING && !s3c_dma_has_circular()) {
prtd->dma_loaded--;
- s3c_dma_enqueue(substream);
+ dma_enqueue(substream);
}
spin_unlock(&prtd->lock);
}
-static int s3c_dma_hw_params(struct snd_pcm_substream *substream,
+static int dma_hw_params(struct snd_pcm_substream *substream,
struct snd_pcm_hw_params *params)
{
struct snd_pcm_runtime *runtime = substream->runtime;
- struct s3c24xx_runtime_data *prtd = runtime->private_data;
+ struct runtime_data *prtd = runtime->private_data;
struct snd_soc_pcm_runtime *rtd = substream->private_data;
unsigned long totbytes = params_buffer_bytes(params);
struct s3c_dma_params *dma =
@@ -182,7 +182,7 @@ static int s3c_dma_hw_params(struct snd_pcm_substream *substream,
}
s3c2410_dma_set_buffdone_fn(prtd->params->channel,
- s3c24xx_audio_buffdone);
+ audio_buffdone);
snd_pcm_set_runtime_buffer(substream, &substream->dma_buffer);
@@ -200,9 +200,9 @@ static int s3c_dma_hw_params(struct snd_pcm_substream *substream,
return 0;
}
-static int s3c_dma_hw_free(struct snd_pcm_substream *substream)
+static int dma_hw_free(struct snd_pcm_substream *substream)
{
- struct s3c24xx_runtime_data *prtd = substream->runtime->private_data;
+ struct runtime_data *prtd = substream->runtime->private_data;
pr_debug("Entered %s\n", __func__);
@@ -217,9 +217,9 @@ static int s3c_dma_hw_free(struct snd_pcm_substream *substream)
return 0;
}
-static int s3c_dma_prepare(struct snd_pcm_substream *substream)
+static int dma_prepare(struct snd_pcm_substream *substream)
{
- struct s3c24xx_runtime_data *prtd = substream->runtime->private_data;
+ struct runtime_data *prtd = substream->runtime->private_data;
int ret = 0;
pr_debug("Entered %s\n", __func__);
@@ -250,14 +250,14 @@ static int s3c_dma_prepare(struct snd_pcm_substream *substream)
prtd->dma_pos = prtd->dma_start;
/* enqueue dma buffers */
- s3c_dma_enqueue(substream);
+ dma_enqueue(substream);
return ret;
}
-static int s3c_dma_trigger(struct snd_pcm_substream *substream, int cmd)
+static int dma_trigger(struct snd_pcm_substream *substream, int cmd)
{
- struct s3c24xx_runtime_data *prtd = substream->runtime->private_data;
+ struct runtime_data *prtd = substream->runtime->private_data;
int ret = 0;
pr_debug("Entered %s\n", __func__);
@@ -290,10 +290,10 @@ static int s3c_dma_trigger(struct snd_pcm_substream *substream, int cmd)
}
static snd_pcm_uframes_t
-s3c_dma_pointer(struct snd_pcm_substream *substream)
+dma_pointer(struct snd_pcm_substream *substream)
{
struct snd_pcm_runtime *runtime = substream->runtime;
- struct s3c24xx_runtime_data *prtd = runtime->private_data;
+ struct runtime_data *prtd = runtime->private_data;
unsigned long res;
dma_addr_t src, dst;
@@ -325,17 +325,17 @@ s3c_dma_pointer(struct snd_pcm_substream *substream)
return bytes_to_frames(substream->runtime, res);
}
-static int s3c_dma_open(struct snd_pcm_substream *substream)
+static int dma_open(struct snd_pcm_substream *substream)
{
struct snd_pcm_runtime *runtime = substream->runtime;
- struct s3c24xx_runtime_data *prtd;
+ struct runtime_data *prtd;
pr_debug("Entered %s\n", __func__);
snd_pcm_hw_constraint_integer(runtime, SNDRV_PCM_HW_PARAM_PERIODS);
- snd_soc_set_runtime_hwparams(substream, &s3c_dma_hardware);
+ snd_soc_set_runtime_hwparams(substream, &dma_hardware);
- prtd = kzalloc(sizeof(struct s3c24xx_runtime_data), GFP_KERNEL);
+ prtd = kzalloc(sizeof(struct runtime_data), GFP_KERNEL);
if (prtd == NULL)
return -ENOMEM;
@@ -345,22 +345,22 @@ static int s3c_dma_open(struct snd_pcm_substream *substream)
return 0;
}
-static int s3c_dma_close(struct snd_pcm_substream *substream)
+static int dma_close(struct snd_pcm_substream *substream)
{
struct snd_pcm_runtime *runtime = substream->runtime;
- struct s3c24xx_runtime_data *prtd = runtime->private_data;
+ struct runtime_data *prtd = runtime->private_data;
pr_debug("Entered %s\n", __func__);
if (!prtd)
- pr_debug("s3c_dma_close called with prtd == NULL\n");
+ pr_debug("dma_close called with prtd == NULL\n");
kfree(prtd);
return 0;
}
-static int s3c_dma_mmap(struct snd_pcm_substream *substream,
+static int dma_mmap(struct snd_pcm_substream *substream,
struct vm_area_struct *vma)
{
struct snd_pcm_runtime *runtime = substream->runtime;
@@ -373,23 +373,23 @@ static int s3c_dma_mmap(struct snd_pcm_substream *substream,
runtime->dma_bytes);
}
-static struct snd_pcm_ops s3c_dma_ops = {
- .open = s3c_dma_open,
- .close = s3c_dma_close,
+static struct snd_pcm_ops dma_ops = {
+ .open = dma_open,
+ .close = dma_close,
.ioctl = snd_pcm_lib_ioctl,
- .hw_params = s3c_dma_hw_params,
- .hw_free = s3c_dma_hw_free,
- .prepare = s3c_dma_prepare,
- .trigger = s3c_dma_trigger,
- .pointer = s3c_dma_pointer,
- .mmap = s3c_dma_mmap,
+ .hw_params = dma_hw_params,
+ .hw_free = dma_hw_free,
+ .prepare = dma_prepare,
+ .trigger = dma_trigger,
+ .pointer = dma_pointer,
+ .mmap = dma_mmap,
};
-static int s3c_preallocate_dma_buffer(struct snd_pcm *pcm, int stream)
+static int preallocate_dma_buffer(struct snd_pcm *pcm, int stream)
{
struct snd_pcm_substream *substream = pcm->streams[stream].substream;
struct snd_dma_buffer *buf = &substream->dma_buffer;
- size_t size = s3c_dma_hardware.buffer_bytes_max;
+ size_t size = dma_hardware.buffer_bytes_max;
pr_debug("Entered %s\n", __func__);
@@ -404,7 +404,7 @@ static int s3c_preallocate_dma_buffer(struct snd_pcm *pcm, int stream)
return 0;
}
-static void s3c_dma_free_dma_buffers(struct snd_pcm *pcm)
+static void dma_free_dma_buffers(struct snd_pcm *pcm)
{
struct snd_pcm_substream *substream;
struct snd_dma_buffer *buf;
@@ -427,9 +427,9 @@ static void s3c_dma_free_dma_buffers(struct snd_pcm *pcm)
}
}
-static u64 s3c_dma_mask = DMA_BIT_MASK(32);
+static u64 dma_mask = DMA_BIT_MASK(32);
-static int s3c_dma_new(struct snd_card *card,
+static int dma_new(struct snd_card *card,
struct snd_soc_dai *dai, struct snd_pcm *pcm)
{
int ret = 0;
@@ -437,19 +437,19 @@ static int s3c_dma_new(struct snd_card *card,
pr_debug("Entered %s\n", __func__);
if (!card->dev->dma_mask)
- card->dev->dma_mask = &s3c_dma_mask;
+ card->dev->dma_mask = &dma_mask;
if (!card->dev->coherent_dma_mask)
card->dev->coherent_dma_mask = 0xffffffff;
if (dai->driver->playback.channels_min) {
- ret = s3c_preallocate_dma_buffer(pcm,
+ ret = preallocate_dma_buffer(pcm,
SNDRV_PCM_STREAM_PLAYBACK);
if (ret)
goto out;
}
if (dai->driver->capture.channels_min) {
- ret = s3c_preallocate_dma_buffer(pcm,
+ ret = preallocate_dma_buffer(pcm,
SNDRV_PCM_STREAM_CAPTURE);
if (ret)
goto out;
@@ -458,46 +458,46 @@ out:
return ret;
}
-static struct snd_soc_platform_driver s3c24xx_soc_platform = {
- .ops = &s3c_dma_ops,
- .pcm_new = s3c_dma_new,
- .pcm_free = s3c_dma_free_dma_buffers,
+static struct snd_soc_platform_driver samsung_asoc_platform = {
+ .ops = &dma_ops,
+ .pcm_new = dma_new,
+ .pcm_free = dma_free_dma_buffers,
};
-static int __devinit s3c24xx_soc_platform_probe(struct platform_device *pdev)
+static int __devinit samsung_asoc_platform_probe(struct platform_device *pdev)
{
- return snd_soc_register_platform(&pdev->dev, &s3c24xx_soc_platform);
+ return snd_soc_register_platform(&pdev->dev, &samsung_asoc_platform);
}
-static int __devexit s3c24xx_soc_platform_remove(struct platform_device *pdev)
+static int __devexit samsung_asoc_platform_remove(struct platform_device *pdev)
{
snd_soc_unregister_platform(&pdev->dev);
return 0;
}
-static struct platform_driver s3c24xx_pcm_driver = {
+static struct platform_driver asoc_dma_driver = {
.driver = {
.name = "samsung-audio",
.owner = THIS_MODULE,
},
- .probe = s3c24xx_soc_platform_probe,
- .remove = __devexit_p(s3c24xx_soc_platform_remove),
+ .probe = samsung_asoc_platform_probe,
+ .remove = __devexit_p(samsung_asoc_platform_remove),
};
-static int __init snd_s3c24xx_pcm_init(void)
+static int __init samsung_asoc_init(void)
{
- return platform_driver_register(&s3c24xx_pcm_driver);
+ return platform_driver_register(&asoc_dma_driver);
}
-module_init(snd_s3c24xx_pcm_init);
+module_init(samsung_asoc_init);
-static void __exit snd_s3c24xx_pcm_exit(void)
+static void __exit samsung_asoc_exit(void)
{
- platform_driver_unregister(&s3c24xx_pcm_driver);
+ platform_driver_unregister(&asoc_dma_driver);
}
-module_exit(snd_s3c24xx_pcm_exit);
+module_exit(samsung_asoc_exit);
MODULE_AUTHOR("Ben Dooks, <ben@simtec.co.uk>");
-MODULE_DESCRIPTION("Samsung S3C Audio DMA module");
+MODULE_DESCRIPTION("Samsung ASoC DMA Driver");
MODULE_LICENSE("GPL");
MODULE_ALIAS("platform:samsung-audio");
--
1.6.2.5
^ permalink raw reply related [flat|nested] 31+ messages in thread* [PATCH 09/24] ASoC: Samsung: Rename s3c64xx I2S device
2010-10-22 8:30 [PATCHv2] ASoC: Overhaul Samsung drivers Jassi Brar
` (7 preceding siblings ...)
2010-10-22 8:35 ` [PATCH 08/24] ASoC: Samsung: Generalize DMA driver namespace Jassi Brar
@ 2010-10-22 8:35 ` Jassi Brar
2010-10-22 8:35 ` [PATCH 10/24] ASoC: Samsung: Add common I2S driver Jassi Brar
` (15 subsequent siblings)
24 siblings, 0 replies; 31+ messages in thread
From: Jassi Brar @ 2010-10-22 8:35 UTC (permalink / raw)
To: alsa-devel
Cc: kgene.kim, Jassi Brar, broonie, ben-linux, june.bae, lrg, sw.youn
From: Jassi Brar <jassi.brar@samsung.com>
Since the I2S of S3C64XX and newer SoCs are incremental
versions of each other with changes managable in a single
driver, rename the 's3c64xx-iis' -> 'samsung-i2s'
Signed-off-by: Jassi Brar <jassi.brar@samsung.com>
---
arch/arm/mach-s3c64xx/dev-audio.c | 6 +++---
arch/arm/mach-s5p6440/dev-audio.c | 2 +-
arch/arm/mach-s5p6442/dev-audio.c | 4 ++--
arch/arm/mach-s5pc100/dev-audio.c | 6 +++---
arch/arm/mach-s5pv210/dev-audio.c | 6 +++---
sound/soc/s3c24xx/s3c64xx-i2s-v4.c | 4 ++--
sound/soc/s3c24xx/s3c64xx-i2s.c | 4 ++--
sound/soc/s3c24xx/smdk64xx_wm8580.c | 4 ++--
8 files changed, 18 insertions(+), 18 deletions(-)
diff --git a/arch/arm/mach-s3c64xx/dev-audio.c b/arch/arm/mach-s3c64xx/dev-audio.c
index 1615c94..01dda91 100644
--- a/arch/arm/mach-s3c64xx/dev-audio.c
+++ b/arch/arm/mach-s3c64xx/dev-audio.c
@@ -89,7 +89,7 @@ static struct s3c_audio_pdata s3c_i2s0_pdata = {
};
struct platform_device s3c64xx_device_iis0 = {
- .name = "s3c64xx-iis",
+ .name = "samsung-i2s",
.id = 0,
.num_resources = ARRAY_SIZE(s3c64xx_iis0_resource),
.resource = s3c64xx_iis0_resource,
@@ -122,7 +122,7 @@ static struct s3c_audio_pdata s3c_i2s1_pdata = {
};
struct platform_device s3c64xx_device_iis1 = {
- .name = "s3c64xx-iis",
+ .name = "samsung-i2s",
.id = 1,
.num_resources = ARRAY_SIZE(s3c64xx_iis1_resource),
.resource = s3c64xx_iis1_resource,
@@ -155,7 +155,7 @@ static struct s3c_audio_pdata s3c_i2sv4_pdata = {
};
struct platform_device s3c64xx_device_iisv4 = {
- .name = "s3c64xx-iis-v4",
+ .name = "samsung-i2s-v4",
.id = -1,
.num_resources = ARRAY_SIZE(s3c64xx_iisv4_resource),
.resource = s3c64xx_iisv4_resource,
diff --git a/arch/arm/mach-s5p6440/dev-audio.c b/arch/arm/mach-s5p6440/dev-audio.c
index 3ca0d2b..5d98629 100644
--- a/arch/arm/mach-s5p6440/dev-audio.c
+++ b/arch/arm/mach-s5p6440/dev-audio.c
@@ -64,7 +64,7 @@ static struct resource s5p6440_iis0_resource[] = {
};
struct platform_device s5p6440_device_iis = {
- .name = "s3c64xx-iis-v4",
+ .name = "samsung-i2s-v4",
.id = -1,
.num_resources = ARRAY_SIZE(s5p6440_iis0_resource),
.resource = s5p6440_iis0_resource,
diff --git a/arch/arm/mach-s5p6442/dev-audio.c b/arch/arm/mach-s5p6442/dev-audio.c
index 7a4e347..1419442 100644
--- a/arch/arm/mach-s5p6442/dev-audio.c
+++ b/arch/arm/mach-s5p6442/dev-audio.c
@@ -70,7 +70,7 @@ static struct resource s5p6442_iis0_resource[] = {
};
struct platform_device s5p6442_device_iis0 = {
- .name = "s3c64xx-iis-v4",
+ .name = "samsung-i2s-v4",
.id = -1,
.num_resources = ARRAY_SIZE(s5p6442_iis0_resource),
.resource = s5p6442_iis0_resource,
@@ -98,7 +98,7 @@ static struct resource s5p6442_iis1_resource[] = {
};
struct platform_device s5p6442_device_iis1 = {
- .name = "s3c64xx-iis",
+ .name = "samsung-i2s",
.id = 1,
.num_resources = ARRAY_SIZE(s5p6442_iis1_resource),
.resource = s5p6442_iis1_resource,
diff --git a/arch/arm/mach-s5pc100/dev-audio.c b/arch/arm/mach-s5pc100/dev-audio.c
index 4207511..3cf22ff 100644
--- a/arch/arm/mach-s5pc100/dev-audio.c
+++ b/arch/arm/mach-s5pc100/dev-audio.c
@@ -73,7 +73,7 @@ static struct resource s5pc100_iis0_resource[] = {
};
struct platform_device s5pc100_device_iis0 = {
- .name = "s3c64xx-iis-v4",
+ .name = "samsung-i2s-v4",
.id = -1,
.num_resources = ARRAY_SIZE(s5pc100_iis0_resource),
.resource = s5pc100_iis0_resource,
@@ -101,7 +101,7 @@ static struct resource s5pc100_iis1_resource[] = {
};
struct platform_device s5pc100_device_iis1 = {
- .name = "s3c64xx-iis",
+ .name = "samsung-i2s",
.id = 1,
.num_resources = ARRAY_SIZE(s5pc100_iis1_resource),
.resource = s5pc100_iis1_resource,
@@ -129,7 +129,7 @@ static struct resource s5pc100_iis2_resource[] = {
};
struct platform_device s5pc100_device_iis2 = {
- .name = "s3c64xx-iis",
+ .name = "samsung-i2s",
.id = 2,
.num_resources = ARRAY_SIZE(s5pc100_iis2_resource),
.resource = s5pc100_iis2_resource,
diff --git a/arch/arm/mach-s5pv210/dev-audio.c b/arch/arm/mach-s5pv210/dev-audio.c
index e6db957..6e60041 100644
--- a/arch/arm/mach-s5pv210/dev-audio.c
+++ b/arch/arm/mach-s5pv210/dev-audio.c
@@ -80,7 +80,7 @@ static struct resource s5pv210_iis0_resource[] = {
};
struct platform_device s5pv210_device_iis0 = {
- .name = "s3c64xx-iis-v4",
+ .name = "samsung-i2s-v4",
.id = -1,
.num_resources = ARRAY_SIZE(s5pv210_iis0_resource),
.resource = s5pv210_iis0_resource,
@@ -108,7 +108,7 @@ static struct resource s5pv210_iis1_resource[] = {
};
struct platform_device s5pv210_device_iis1 = {
- .name = "s3c64xx-iis",
+ .name = "samsung-i2s",
.id = 1,
.num_resources = ARRAY_SIZE(s5pv210_iis1_resource),
.resource = s5pv210_iis1_resource,
@@ -136,7 +136,7 @@ static struct resource s5pv210_iis2_resource[] = {
};
struct platform_device s5pv210_device_iis2 = {
- .name = "s3c64xx-iis",
+ .name = "samsung-i2s",
.id = 2,
.num_resources = ARRAY_SIZE(s5pv210_iis2_resource),
.resource = s5pv210_iis2_resource,
diff --git a/sound/soc/s3c24xx/s3c64xx-i2s-v4.c b/sound/soc/s3c24xx/s3c64xx-i2s-v4.c
index 46b65d7..8a08041 100644
--- a/sound/soc/s3c24xx/s3c64xx-i2s-v4.c
+++ b/sound/soc/s3c24xx/s3c64xx-i2s-v4.c
@@ -206,7 +206,7 @@ static struct platform_driver s3c64xx_i2sv4_driver = {
.probe = s3c64xx_i2sv4_dev_probe,
.remove = s3c64xx_i2sv4_dev_remove,
.driver = {
- .name = "s3c64xx-iis-v4",
+ .name = "samsung-i2s-v4",
.owner = THIS_MODULE,
},
};
@@ -227,4 +227,4 @@ module_exit(s3c64xx_i2sv4_exit);
MODULE_AUTHOR("Jaswinder Singh, <jassi.brar@samsung.com>");
MODULE_DESCRIPTION("S3C64XX I2Sv4 SoC Interface");
MODULE_LICENSE("GPL");
-MODULE_ALIAS("platform:s3c64xx-iis-v4");
+MODULE_ALIAS("platform:samsung-i2s-v4");
diff --git a/sound/soc/s3c24xx/s3c64xx-i2s.c b/sound/soc/s3c24xx/s3c64xx-i2s.c
index 0288d4e..0fefbb5 100644
--- a/sound/soc/s3c24xx/s3c64xx-i2s.c
+++ b/sound/soc/s3c24xx/s3c64xx-i2s.c
@@ -218,7 +218,7 @@ static struct platform_driver s3c64xx_iis_driver = {
.probe = s3c64xx_iis_dev_probe,
.remove = s3c64xx_iis_dev_remove,
.driver = {
- .name = "s3c64xx-iis",
+ .name = "samsung-i2s",
.owner = THIS_MODULE,
},
};
@@ -239,4 +239,4 @@ module_exit(s3c64xx_i2s_exit);
MODULE_AUTHOR("Ben Dooks, <ben@simtec.co.uk>");
MODULE_DESCRIPTION("S3C64XX I2S SoC Interface");
MODULE_LICENSE("GPL");
-MODULE_ALIAS("platform:s3c64xx-iis");
+MODULE_ALIAS("platform:samsung-i2s");
diff --git a/sound/soc/s3c24xx/smdk64xx_wm8580.c b/sound/soc/s3c24xx/smdk64xx_wm8580.c
index 9ddc964..1d59317 100644
--- a/sound/soc/s3c24xx/smdk64xx_wm8580.c
+++ b/sound/soc/s3c24xx/smdk64xx_wm8580.c
@@ -222,7 +222,7 @@ static struct snd_soc_dai_link smdk64xx_dai[] = {
{ /* Primary Playback i/f */
.name = "WM8580 PAIF RX",
.stream_name = "Playback",
- .cpu_dai_name = "s3c64xx-iis-v4",
+ .cpu_dai_name = "samsung-i2s-v4",
.codec_dai_name = "wm8580-hifi-playback",
.platform_name = "samsung-audio",
.codec_name = "wm8580-codec.0-001b",
@@ -232,7 +232,7 @@ static struct snd_soc_dai_link smdk64xx_dai[] = {
{ /* Primary Capture i/f */
.name = "WM8580 PAIF TX",
.stream_name = "Capture",
- .cpu_dai_name = "s3c64xx-iis-v4",
+ .cpu_dai_name = "samsung-i2s-v4",
.codec_dai_name = "wm8580-hifi-capture",
.platform_name = "samsung-audio",
.codec_name = "wm8580-codec.0-001b",
--
1.6.2.5
^ permalink raw reply related [flat|nested] 31+ messages in thread* [PATCH 10/24] ASoC: Samsung: Add common I2S driver
2010-10-22 8:30 [PATCHv2] ASoC: Overhaul Samsung drivers Jassi Brar
` (8 preceding siblings ...)
2010-10-22 8:35 ` [PATCH 09/24] ASoC: Samsung: Rename s3c64xx I2S device Jassi Brar
@ 2010-10-22 8:35 ` Jassi Brar
2010-10-22 8:36 ` [PATCH 11/24] ARM: S3C64XX: I2S: Upgrade platform device Jassi Brar
` (14 subsequent siblings)
24 siblings, 0 replies; 31+ messages in thread
From: Jassi Brar @ 2010-10-22 8:35 UTC (permalink / raw)
To: alsa-devel
Cc: kgene.kim, Jassi Brar, broonie, ben-linux, june.bae, lrg, sw.youn
From: Jassi Brar <jassi.brar@samsung.com>
The I2S controllers since S3C64XX are incremental revisions, with
a new feature added to the last one. The programming i/f doesn't
conflict between these revisions, so it is possible to have one
common driver that could manage various versions of I2S (v3, 4 & 5)
Signed-off-by: Jassi Brar <jassi.brar@samsung.com>
---
arch/arm/plat-samsung/include/plat/audio.h | 24 +
sound/soc/s3c24xx/Kconfig | 3 +
sound/soc/s3c24xx/Makefile | 2 +
sound/soc/s3c24xx/i2s.c | 1256 ++++++++++++++++++++++++++++
sound/soc/s3c24xx/i2s.h | 29 +
5 files changed, 1314 insertions(+), 0 deletions(-)
create mode 100644 sound/soc/s3c24xx/i2s.c
create mode 100644 sound/soc/s3c24xx/i2s.h
diff --git a/arch/arm/plat-samsung/include/plat/audio.h b/arch/arm/plat-samsung/include/plat/audio.h
index e32f9ed..b72ad03 100644
--- a/arch/arm/plat-samsung/include/plat/audio.h
+++ b/arch/arm/plat-samsung/include/plat/audio.h
@@ -16,10 +16,34 @@
#define S3C64XX_AC97_GPE 1
extern void s3c64xx_ac97_setup_gpio(int);
+struct samsung_i2s {
+/* If the Primary DAI has 5.1 Channels */
+#define QUIRK_PRI_6CHAN (1 << 0)
+/* If the I2S block has a Stereo Overlay Channel */
+#define QUIRK_SEC_DAI (1 << 1)
+/*
+ * If the I2S block has no internal prescalar or MUX (I2SMOD[10] bit)
+ * The Machine driver must provide suitably set clock to the I2S block.
+ */
+#define QUIRK_NO_MUXPSR (1 << 2)
+#define QUIRK_NEED_RSTCLR (1 << 3)
+ /* Quirks of the I2S controller */
+ u32 quirks;
+
+ /*
+ * Array of clock names that can be used to generate I2S signals.
+ * Also corresponds to clocks of I2SMOD[10]
+ */
+ const char **src_clk;
+};
+
/**
* struct s3c_audio_pdata - common platform data for audio device drivers
* @cfg_gpio: Callback function to setup mux'ed pins in I2S/PCM/AC97 mode
*/
struct s3c_audio_pdata {
int (*cfg_gpio)(struct platform_device *);
+ union {
+ struct samsung_i2s i2s;
+ } type;
};
diff --git a/sound/soc/s3c24xx/Kconfig b/sound/soc/s3c24xx/Kconfig
index 6efdf65..20fe288 100644
--- a/sound/soc/s3c24xx/Kconfig
+++ b/sound/soc/s3c24xx/Kconfig
@@ -40,6 +40,9 @@ config SND_S5P_SOC_SPDIF
tristate
select SND_SOC_SPDIF
+config SND_SAMSUNG_I2S
+ tristate
+
config SND_S3C24XX_SOC_NEO1973_WM8753
tristate "SoC I2S Audio support for NEO1973 - WM8753"
depends on SND_S3C24XX_SOC && MACH_NEO1973_GTA01
diff --git a/sound/soc/s3c24xx/Makefile b/sound/soc/s3c24xx/Makefile
index 93de2a0..1d6fc07 100644
--- a/sound/soc/s3c24xx/Makefile
+++ b/sound/soc/s3c24xx/Makefile
@@ -8,6 +8,7 @@ snd-soc-s3c64xx-i2s-v4-objs := s3c64xx-i2s-v4.o
snd-soc-s3c-i2s-v2-objs := s3c-i2s-v2.o
snd-soc-samsung-spdif-objs := spdif.o
snd-soc-pcm-objs := pcm.o
+snd-soc-i2s-objs := i2s.o
obj-$(CONFIG_SND_S3C24XX_SOC) += snd-soc-s3c24xx.o
obj-$(CONFIG_SND_S3C24XX_SOC_I2S) += snd-soc-s3c24xx-i2s.o
@@ -18,6 +19,7 @@ obj-$(CONFIG_SND_S3C64XX_SOC_I2S_V4) += snd-soc-s3c64xx-i2s-v4.o
obj-$(CONFIG_SND_S3C_I2SV2_SOC) += snd-soc-s3c-i2s-v2.o
obj-$(CONFIG_SND_S5P_SOC_SPDIF) += snd-soc-samsung-spdif.o
obj-$(CONFIG_SND_S3C_SOC_PCM) += snd-soc-pcm.o
+obj-$(CONFIG_SND_SAMSUNG_I2S) += snd-soc-i2s.o
# S3C24XX Machine Support
snd-soc-jive-wm8750-objs := jive_wm8750.o
diff --git a/sound/soc/s3c24xx/i2s.c b/sound/soc/s3c24xx/i2s.c
new file mode 100644
index 0000000..7e6ddfa
--- /dev/null
+++ b/sound/soc/s3c24xx/i2s.c
@@ -0,0 +1,1256 @@
+/* sound/soc/s3c24xx/i2s.c
+ *
+ * ALSA SoC Audio Layer - Samsung I2S Controller driver
+ *
+ * Copyright (c) 2010 Samsung Electronics Co. Ltd.
+ * Jaswinder Singh <jassi.brar@samsung.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+
+#include <linux/delay.h>
+#include <linux/slab.h>
+#include <linux/clk.h>
+#include <linux/io.h>
+
+#include <sound/pcm.h>
+#include <sound/pcm_params.h>
+#include <sound/soc.h>
+
+#include <plat/audio.h>
+
+#include "dma.h"
+#include "i2s.h"
+
+#define I2SCON 0x0
+#define I2SMOD 0x4
+#define I2SFIC 0x8
+#define I2SPSR 0xc
+#define I2STXD 0x10
+#define I2SRXD 0x14
+#define I2SFICS 0x18
+#define I2STXDS 0x1c
+
+#define CON_RSTCLR (1 << 31)
+#define CON_FRXOFSTATUS (1 << 26)
+#define CON_FRXORINTEN (1 << 25)
+#define CON_FTXSURSTAT (1 << 24)
+#define CON_FTXSURINTEN (1 << 23)
+#define CON_TXSDMA_PAUSE (1 << 20)
+#define CON_TXSDMA_ACTIVE (1 << 18)
+
+#define CON_FTXURSTATUS (1 << 17)
+#define CON_FTXURINTEN (1 << 16)
+#define CON_TXFIFO2_EMPTY (1 << 15)
+#define CON_TXFIFO1_EMPTY (1 << 14)
+#define CON_TXFIFO2_FULL (1 << 13)
+#define CON_TXFIFO1_FULL (1 << 12)
+
+#define CON_LRINDEX (1 << 11)
+#define CON_TXFIFO_EMPTY (1 << 10)
+#define CON_RXFIFO_EMPTY (1 << 9)
+#define CON_TXFIFO_FULL (1 << 8)
+#define CON_RXFIFO_FULL (1 << 7)
+#define CON_TXDMA_PAUSE (1 << 6)
+#define CON_RXDMA_PAUSE (1 << 5)
+#define CON_TXCH_PAUSE (1 << 4)
+#define CON_RXCH_PAUSE (1 << 3)
+#define CON_TXDMA_ACTIVE (1 << 2)
+#define CON_RXDMA_ACTIVE (1 << 1)
+#define CON_ACTIVE (1 << 0)
+
+#define MOD_OPCLK_CDCLK_OUT (0 << 30)
+#define MOD_OPCLK_CDCLK_IN (1 << 30)
+#define MOD_OPCLK_BCLK_OUT (2 << 30)
+#define MOD_OPCLK_PCLK (3 << 30)
+#define MOD_OPCLK_MASK (3 << 30)
+#define MOD_TXS_IDMA (1 << 28) /* Sec_TXFIFO use I-DMA */
+
+#define MOD_BLCS_SHIFT 26
+#define MOD_BLCS_16BIT (0 << MOD_BLCS_SHIFT)
+#define MOD_BLCS_8BIT (1 << MOD_BLCS_SHIFT)
+#define MOD_BLCS_24BIT (2 << MOD_BLCS_SHIFT)
+#define MOD_BLCS_MASK (3 << MOD_BLCS_SHIFT)
+#define MOD_BLCP_SHIFT 24
+#define MOD_BLCP_16BIT (0 << MOD_BLCP_SHIFT)
+#define MOD_BLCP_8BIT (1 << MOD_BLCP_SHIFT)
+#define MOD_BLCP_24BIT (2 << MOD_BLCP_SHIFT)
+#define MOD_BLCP_MASK (3 << MOD_BLCP_SHIFT)
+
+#define MOD_C2DD_HHALF (1 << 21) /* Discard Higher-half */
+#define MOD_C2DD_LHALF (1 << 20) /* Discard Lower-half */
+#define MOD_C1DD_HHALF (1 << 19)
+#define MOD_C1DD_LHALF (1 << 18)
+#define MOD_DC2_EN (1 << 17)
+#define MOD_DC1_EN (1 << 16)
+#define MOD_BLC_16BIT (0 << 13)
+#define MOD_BLC_8BIT (1 << 13)
+#define MOD_BLC_24BIT (2 << 13)
+#define MOD_BLC_MASK (3 << 13)
+
+#define MOD_IMS_SYSMUX (1 << 10)
+#define MOD_SLAVE (1 << 11)
+#define MOD_TXONLY (0 << 8)
+#define MOD_RXONLY (1 << 8)
+#define MOD_TXRX (2 << 8)
+#define MOD_MASK (3 << 8)
+#define MOD_LR_LLOW (0 << 7)
+#define MOD_LR_RLOW (1 << 7)
+#define MOD_SDF_IIS (0 << 5)
+#define MOD_SDF_MSB (1 << 5)
+#define MOD_SDF_LSB (2 << 5)
+#define MOD_SDF_MASK (3 << 5)
+#define MOD_RCLK_256FS (0 << 3)
+#define MOD_RCLK_512FS (1 << 3)
+#define MOD_RCLK_384FS (2 << 3)
+#define MOD_RCLK_768FS (3 << 3)
+#define MOD_RCLK_MASK (3 << 3)
+#define MOD_BCLK_32FS (0 << 1)
+#define MOD_BCLK_48FS (1 << 1)
+#define MOD_BCLK_16FS (2 << 1)
+#define MOD_BCLK_24FS (3 << 1)
+#define MOD_BCLK_MASK (3 << 1)
+#define MOD_8BIT (1 << 0)
+
+#define MOD_CDCLKCON (1 << 12)
+
+#define PSR_PSREN (1 << 15)
+
+#define FIC_TX2COUNT(x) (((x) >> 24) & 0xf)
+#define FIC_TX1COUNT(x) (((x) >> 16) & 0xf)
+
+#define FIC_TXFLUSH (1 << 15)
+#define FIC_RXFLUSH (1 << 7)
+#define FIC_TXCOUNT(x) (((x) >> 8) & 0xf)
+#define FIC_RXCOUNT(x) (((x) >> 0) & 0xf)
+#define FICS_TXCOUNT(x) (((x) >> 8) & 0x7f)
+
+#define msecs_to_loops(t) (loops_per_jiffy / 1000 * HZ * t)
+
+struct i2s_dai {
+ /* Platform device for this DAI */
+ struct platform_device *pdev;
+ /* IOREMAP'd SFRs */
+ void __iomem *addr;
+ /* Physical base address of SFRs */
+ u32 base;
+ /* Rate of RCLK source clock */
+ unsigned long rclk_srcrate;
+ /* Frame Clock */
+ unsigned frmclk;
+ /*
+ * Specifically requested RCLK,BCLK by MACHINE Driver.
+ * 0 indicates CPU driver is free to choose any value.
+ */
+ unsigned rfs, bfs;
+ /* I2S Controller's core clock */
+ struct clk *clk;
+ /* Clock for generating I2S signals */
+ struct clk *op_clk;
+ /* Array of clock names for op_clk */
+ const char **src_clk;
+ /* Pointer to the Primary_Fifo if this is Sec_Fifo, NULL otherwise */
+ struct i2s_dai *pri_dai;
+ /* Pointer to the Secondary_Fifo if it has one, NULL otherwise */
+ struct i2s_dai *sec_dai;
+#define DAI_OPENED (1 << 0) /* Dai is opened */
+#define DAI_MANAGER (1 << 1) /* Dai is the manager */
+ unsigned mode;
+ /* Driver for this DAI */
+ struct snd_soc_dai_driver i2s_dai_drv;
+ /* DMA parameters */
+ struct s3c_dma_params dma_playback;
+ struct s3c_dma_params dma_capture;
+ u32 quirks;
+ u32 suspend_i2smod;
+ u32 suspend_i2scon;
+ u32 suspend_i2spsr;
+};
+
+/* Lock for cross i/f checks */
+static DEFINE_SPINLOCK(lock);
+
+/* If this is the 'overlay' stereo DAI */
+static inline bool is_secondary(struct i2s_dai *i2s)
+{
+ return i2s->pri_dai ? true : false;
+}
+
+/* If operating in SoC-Slave mode */
+static inline bool is_slave(struct i2s_dai *i2s)
+{
+ return (readl(i2s->addr + I2SMOD) & MOD_SLAVE) ? true : false;
+}
+
+/* If this interface of the controller is transmitting data */
+static inline bool tx_active(struct i2s_dai *i2s)
+{
+ u32 active;
+
+ if (!i2s)
+ return false;
+
+ active = readl(i2s->addr + I2SMOD);
+
+ if (is_secondary(i2s))
+ active &= CON_TXSDMA_ACTIVE;
+ else
+ active &= CON_TXDMA_ACTIVE;
+
+ return active ? true : false;
+}
+
+/* If the other interface of the controller is transmitting data */
+static inline bool other_tx_active(struct i2s_dai *i2s)
+{
+ struct i2s_dai *other = i2s->pri_dai ? : i2s->sec_dai;
+
+ return tx_active(other);
+}
+
+/* If any interface of the controller is transmitting data */
+static inline bool any_tx_active(struct i2s_dai *i2s)
+{
+ return tx_active(i2s) || other_tx_active(i2s);
+}
+
+/* If this interface of the controller is receiving data */
+static inline bool rx_active(struct i2s_dai *i2s)
+{
+ u32 active;
+
+ if (!i2s)
+ return false;
+
+ active = readl(i2s->addr + I2SMOD) & CON_RXDMA_ACTIVE;
+
+ return active ? true : false;
+}
+
+/* If the other interface of the controller is receiving data */
+static inline bool other_rx_active(struct i2s_dai *i2s)
+{
+ struct i2s_dai *other = i2s->pri_dai ? : i2s->sec_dai;
+
+ return rx_active(other);
+}
+
+/* If any interface of the controller is receiving data */
+static inline bool any_rx_active(struct i2s_dai *i2s)
+{
+ return rx_active(i2s) || other_rx_active(i2s);
+}
+
+/* If the other DAI is transmitting or receiving data */
+static inline bool other_active(struct i2s_dai *i2s)
+{
+ return other_rx_active(i2s) || other_tx_active(i2s);
+}
+
+/* If this DAI is transmitting or receiving data */
+static inline bool this_active(struct i2s_dai *i2s)
+{
+ return tx_active(i2s) || rx_active(i2s);
+}
+
+/* If the controller is active anyway */
+static inline bool any_active(struct i2s_dai *i2s)
+{
+ return this_active(i2s) || other_active(i2s);
+}
+
+static inline struct i2s_dai *to_info(struct snd_soc_dai *dai)
+{
+ return snd_soc_dai_get_drvdata(dai);
+}
+
+static inline bool is_opened(struct i2s_dai *i2s)
+{
+ if (i2s && (i2s->mode & DAI_OPENED))
+ return true;
+ else
+ return false;
+}
+
+static inline bool is_manager(struct i2s_dai *i2s)
+{
+ if (is_opened(i2s) && (i2s->mode & DAI_MANAGER))
+ return true;
+ else
+ return false;
+}
+
+/* Read RCLK of I2S (in multiples of LRCLK) */
+static inline unsigned get_rfs(struct i2s_dai *i2s)
+{
+ u32 rfs = (readl(i2s->addr + I2SMOD) >> 3) & 0x3;
+
+ switch (rfs) {
+ case 3: return 768;
+ case 2: return 384;
+ case 1: return 512;
+ default: return 256;
+ }
+}
+
+/* Write RCLK of I2S (in multiples of LRCLK) */
+static inline void set_rfs(struct i2s_dai *i2s, unsigned rfs)
+{
+ u32 mod = readl(i2s->addr + I2SMOD);
+
+ mod &= ~MOD_RCLK_MASK;
+
+ switch (rfs) {
+ case 768:
+ mod |= MOD_RCLK_768FS;
+ break;
+ case 512:
+ mod |= MOD_RCLK_512FS;
+ break;
+ case 384:
+ mod |= MOD_RCLK_384FS;
+ break;
+ default:
+ mod |= MOD_RCLK_256FS;
+ break;
+ }
+
+ writel(mod, i2s->addr + I2SMOD);
+}
+
+/* Read Bit-Clock of I2S (in multiples of LRCLK) */
+static inline unsigned get_bfs(struct i2s_dai *i2s)
+{
+ u32 bfs = (readl(i2s->addr + I2SMOD) >> 1) & 0x3;
+
+ switch (bfs) {
+ case 3: return 24;
+ case 2: return 16;
+ case 1: return 48;
+ default: return 32;
+ }
+}
+
+/* Write Bit-Clock of I2S (in multiples of LRCLK) */
+static inline void set_bfs(struct i2s_dai *i2s, unsigned bfs)
+{
+ u32 mod = readl(i2s->addr + I2SMOD);
+
+ mod &= ~MOD_BCLK_MASK;
+
+ switch (bfs) {
+ case 48:
+ mod |= MOD_BCLK_48FS;
+ break;
+ case 32:
+ mod |= MOD_BCLK_32FS;
+ break;
+ case 24:
+ mod |= MOD_BCLK_24FS;
+ break;
+ case 16:
+ mod |= MOD_BCLK_16FS;
+ break;
+ default:
+ dev_err(&i2s->pdev->dev, "Wrong BCLK Divider!\n");
+ return;
+ }
+
+ writel(mod, i2s->addr + I2SMOD);
+}
+
+/* Sample-Size */
+static inline int get_blc(struct i2s_dai *i2s)
+{
+ int blc = readl(i2s->addr + I2SMOD);
+
+ blc = (blc >> 13) & 0x3;
+
+ switch (blc) {
+ case 2: return 24;
+ case 1: return 8;
+ default: return 16;
+ }
+}
+
+/* TX Channel Control */
+static void i2s_txctrl(struct i2s_dai *i2s, int on)
+{
+ void __iomem *addr = i2s->addr;
+ u32 con = readl(addr + I2SCON);
+ u32 mod = readl(addr + I2SMOD) & ~MOD_MASK;
+
+ if (on) {
+ con |= CON_ACTIVE;
+ con &= ~CON_TXCH_PAUSE;
+
+ if (is_secondary(i2s)) {
+ con |= CON_TXSDMA_ACTIVE;
+ con &= ~CON_TXSDMA_PAUSE;
+ } else {
+ con |= CON_TXDMA_ACTIVE;
+ con &= ~CON_TXDMA_PAUSE;
+ }
+
+ if (any_rx_active(i2s))
+ mod |= MOD_TXRX;
+ else
+ mod |= MOD_TXONLY;
+ } else {
+ if (is_secondary(i2s)) {
+ con |= CON_TXSDMA_PAUSE;
+ con &= ~CON_TXSDMA_ACTIVE;
+ } else {
+ con |= CON_TXDMA_PAUSE;
+ con &= ~CON_TXDMA_ACTIVE;
+ }
+
+ if (other_tx_active(i2s)) {
+ writel(con, addr + I2SCON);
+ return;
+ }
+
+ con |= CON_TXCH_PAUSE;
+
+ if (any_rx_active(i2s))
+ mod |= MOD_RXONLY;
+ else
+ con &= ~CON_ACTIVE;
+ }
+
+ writel(mod, addr + I2SMOD);
+ writel(con, addr + I2SCON);
+}
+
+/* RX Channel Control */
+static void i2s_rxctrl(struct i2s_dai *i2s, int on)
+{
+ void __iomem *addr = i2s->addr;
+ u32 con = readl(addr + I2SCON);
+ u32 mod = readl(addr + I2SMOD) & ~MOD_MASK;
+
+ if (on) {
+ con |= CON_RXDMA_ACTIVE | CON_ACTIVE;
+ con &= ~(CON_RXDMA_PAUSE | CON_RXCH_PAUSE);
+
+ if (any_tx_active(i2s))
+ mod |= MOD_TXRX;
+ else
+ mod |= MOD_RXONLY;
+ } else {
+ con |= CON_RXDMA_PAUSE | CON_RXCH_PAUSE;
+ con &= ~CON_RXDMA_ACTIVE;
+
+ if (any_tx_active(i2s))
+ mod |= MOD_TXONLY;
+ else
+ con &= ~CON_ACTIVE;
+ }
+
+ writel(mod, addr + I2SMOD);
+ writel(con, addr + I2SCON);
+}
+
+/* Flush FIFO of an interface */
+static inline void i2s_fifo(struct i2s_dai *i2s, u32 flush)
+{
+ void __iomem *fic;
+ u32 val;
+
+ if (!i2s)
+ return;
+
+ if (is_secondary(i2s))
+ fic = i2s->addr + I2SFICS;
+ else
+ fic = i2s->addr + I2SFIC;
+
+ /* Flush the FIFO */
+ writel(readl(fic) | flush, fic);
+
+ /* Be patient */
+ val = msecs_to_loops(1) / 1000; /* 1 usec */
+ while (--val)
+ cpu_relax();
+
+ writel(readl(fic) & ~flush, fic);
+}
+
+static int i2s_set_sysclk(struct snd_soc_dai *dai,
+ int clk_id, unsigned int rfs, int dir)
+{
+ struct i2s_dai *i2s = to_info(dai);
+ struct i2s_dai *other = i2s->pri_dai ? : i2s->sec_dai;
+ u32 mod = readl(i2s->addr + I2SMOD);
+
+ switch (clk_id) {
+ case SAMSUNG_I2S_CDCLK:
+ /* Shouldn't matter in GATING(CLOCK_IN) mode */
+ if (dir == SND_SOC_CLOCK_IN)
+ rfs = 0;
+
+ if ((rfs && other->rfs && (other->rfs != rfs)) ||
+ (any_active(i2s) &&
+ (((dir == SND_SOC_CLOCK_IN)
+ && !(mod & MOD_CDCLKCON)) ||
+ ((dir == SND_SOC_CLOCK_OUT)
+ && (mod & MOD_CDCLKCON))))) {
+ dev_err(&i2s->pdev->dev,
+ "%s:%d Other DAI busy\n", __func__, __LINE__);
+ return -EAGAIN;
+ }
+
+ if (dir == SND_SOC_CLOCK_IN)
+ mod |= MOD_CDCLKCON;
+ else
+ mod &= ~MOD_CDCLKCON;
+
+ i2s->rfs = rfs;
+ break;
+
+ case SAMSUNG_I2S_RCLKSRC_0: /* clock corrsponding to IISMOD[10] := 0 */
+ case SAMSUNG_I2S_RCLKSRC_1: /* clock corrsponding to IISMOD[10] := 1 */
+ if ((i2s->quirks & QUIRK_NO_MUXPSR)
+ || (clk_id == SAMSUNG_I2S_RCLKSRC_0))
+ clk_id = 0;
+ else
+ clk_id = 1;
+
+ if (!any_active(i2s)) {
+ if (i2s->op_clk) {
+ if ((clk_id && !(mod & MOD_IMS_SYSMUX)) ||
+ (!clk_id && (mod & MOD_IMS_SYSMUX))) {
+ clk_disable(i2s->op_clk);
+ clk_put(i2s->op_clk);
+ } else {
+ return 0;
+ }
+ }
+
+ i2s->op_clk = clk_get(&i2s->pdev->dev,
+ i2s->src_clk[clk_id]);
+ clk_enable(i2s->op_clk);
+ i2s->rclk_srcrate = clk_get_rate(i2s->op_clk);
+
+ /* Over-ride the other's */
+ if (other) {
+ other->op_clk = i2s->op_clk;
+ other->rclk_srcrate = i2s->rclk_srcrate;
+ }
+ } else if ((!clk_id && (mod & MOD_IMS_SYSMUX))
+ || (clk_id && !(mod & MOD_IMS_SYSMUX))) {
+ dev_err(&i2s->pdev->dev,
+ "%s:%d Other DAI busy\n", __func__, __LINE__);
+ return -EAGAIN;
+ } else {
+ /* Call can't be on the active DAI */
+ i2s->op_clk = other->op_clk;
+ i2s->rclk_srcrate = other->rclk_srcrate;
+ return 0;
+ }
+
+ if (clk_id == 0)
+ mod &= ~MOD_IMS_SYSMUX;
+ else
+ mod |= MOD_IMS_SYSMUX;
+ break;
+
+ default:
+ dev_err(&i2s->pdev->dev, "We don't serve that!\n");
+ return -EINVAL;
+ }
+
+ writel(mod, i2s->addr + I2SMOD);
+
+ return 0;
+}
+
+static int i2s_set_fmt(struct snd_soc_dai *dai,
+ unsigned int fmt)
+{
+ struct i2s_dai *i2s = to_info(dai);
+ u32 mod = readl(i2s->addr + I2SMOD);
+ u32 tmp = 0;
+
+ /* Format is priority */
+ switch (fmt & SND_SOC_DAIFMT_FORMAT_MASK) {
+ case SND_SOC_DAIFMT_RIGHT_J:
+ tmp |= MOD_LR_RLOW;
+ tmp |= MOD_SDF_MSB;
+ break;
+ case SND_SOC_DAIFMT_LEFT_J:
+ tmp |= MOD_LR_RLOW;
+ tmp |= MOD_SDF_LSB;
+ break;
+ case SND_SOC_DAIFMT_I2S:
+ tmp |= MOD_SDF_IIS;
+ break;
+ default:
+ dev_err(&i2s->pdev->dev, "Format not supported\n");
+ return -EINVAL;
+ }
+
+ /*
+ * INV flag is relative to the FORMAT flag - if set it simply
+ * flips the polarity specified by the Standard
+ */
+ switch (fmt & SND_SOC_DAIFMT_INV_MASK) {
+ case SND_SOC_DAIFMT_NB_NF:
+ break;
+ case SND_SOC_DAIFMT_NB_IF:
+ if (tmp & MOD_LR_RLOW)
+ tmp &= ~MOD_LR_RLOW;
+ else
+ tmp |= MOD_LR_RLOW;
+ break;
+ default:
+ dev_err(&i2s->pdev->dev, "Polarity not supported\n");
+ return -EINVAL;
+ }
+
+ switch (fmt & SND_SOC_DAIFMT_MASTER_MASK) {
+ case SND_SOC_DAIFMT_CBM_CFM:
+ tmp |= MOD_SLAVE;
+ break;
+ case SND_SOC_DAIFMT_CBS_CFS:
+ /* Set default source clock in Master mode */
+ if (i2s->rclk_srcrate == 0)
+ i2s_set_sysclk(dai, SAMSUNG_I2S_RCLKSRC_0,
+ 0, SND_SOC_CLOCK_IN);
+ break;
+ default:
+ dev_err(&i2s->pdev->dev, "master/slave format not supported\n");
+ return -EINVAL;
+ }
+
+ if (any_active(i2s) &&
+ ((mod & (MOD_SDF_MASK | MOD_LR_RLOW
+ | MOD_SLAVE)) != tmp)) {
+ dev_err(&i2s->pdev->dev,
+ "%s:%d Other DAI busy\n", __func__, __LINE__);
+ return -EAGAIN;
+ }
+
+ mod &= ~(MOD_SDF_MASK | MOD_LR_RLOW | MOD_SLAVE);
+ mod |= tmp;
+ writel(mod, i2s->addr + I2SMOD);
+
+ return 0;
+}
+
+static int i2s_hw_params(struct snd_pcm_substream *substream,
+ struct snd_pcm_hw_params *params, struct snd_soc_dai *dai)
+{
+ struct i2s_dai *i2s = to_info(dai);
+ u32 mod = readl(i2s->addr + I2SMOD);
+
+ if (!is_secondary(i2s))
+ mod &= ~(MOD_DC2_EN | MOD_DC1_EN);
+
+ switch (params_channels(params)) {
+ case 6:
+ mod |= MOD_DC2_EN;
+ case 4:
+ mod |= MOD_DC1_EN;
+ break;
+ case 2:
+ break;
+ default:
+ dev_err(&i2s->pdev->dev, "%d channels not supported\n",
+ params_channels(params));
+ return -EINVAL;
+ }
+
+ if (is_secondary(i2s))
+ mod &= ~MOD_BLCS_MASK;
+ else
+ mod &= ~MOD_BLCP_MASK;
+
+ if (is_manager(i2s))
+ mod &= ~MOD_BLC_MASK;
+
+ switch (params_format(params)) {
+ case SNDRV_PCM_FORMAT_S8:
+ if (is_secondary(i2s))
+ mod |= MOD_BLCS_8BIT;
+ else
+ mod |= MOD_BLCP_8BIT;
+ if (is_manager(i2s))
+ mod |= MOD_BLC_8BIT;
+ break;
+ case SNDRV_PCM_FORMAT_S16_LE:
+ if (is_secondary(i2s))
+ mod |= MOD_BLCS_16BIT;
+ else
+ mod |= MOD_BLCP_16BIT;
+ if (is_manager(i2s))
+ mod |= MOD_BLC_16BIT;
+ break;
+ case SNDRV_PCM_FORMAT_S24_LE:
+ if (is_secondary(i2s))
+ mod |= MOD_BLCS_24BIT;
+ else
+ mod |= MOD_BLCP_24BIT;
+ if (is_manager(i2s))
+ mod |= MOD_BLC_24BIT;
+ break;
+ default:
+ dev_err(&i2s->pdev->dev, "Format(%d) not supported\n",
+ params_format(params));
+ return -EINVAL;
+ }
+ writel(mod, i2s->addr + I2SMOD);
+
+ if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK)
+ snd_soc_dai_set_dma_data(dai, substream,
+ (void *)&i2s->dma_playback);
+ else
+ snd_soc_dai_set_dma_data(dai, substream,
+ (void *)&i2s->dma_capture);
+
+ i2s->frmclk = params_rate(params);
+
+ return 0;
+}
+
+/* We set constraints on the substream acc to the version of I2S */
+static int i2s_startup(struct snd_pcm_substream *substream,
+ struct snd_soc_dai *dai)
+{
+ struct i2s_dai *i2s = to_info(dai);
+ struct i2s_dai *other = i2s->pri_dai ? : i2s->sec_dai;
+ unsigned long flags;
+
+ spin_lock_irqsave(&lock, flags);
+
+ i2s->mode |= DAI_OPENED;
+
+ if (is_manager(other))
+ i2s->mode &= ~DAI_MANAGER;
+ else
+ i2s->mode |= DAI_MANAGER;
+
+ /* Enforce set_sysclk in Master mode */
+ i2s->rclk_srcrate = 0;
+
+ spin_unlock_irqrestore(&lock, flags);
+
+ return 0;
+}
+
+static void i2s_shutdown(struct snd_pcm_substream *substream,
+ struct snd_soc_dai *dai)
+{
+ struct i2s_dai *i2s = to_info(dai);
+ struct i2s_dai *other = i2s->pri_dai ? : i2s->sec_dai;
+ unsigned long flags;
+
+ spin_lock_irqsave(&lock, flags);
+
+ i2s->mode &= ~DAI_OPENED;
+ i2s->mode &= ~DAI_MANAGER;
+
+ if (is_opened(other))
+ other->mode |= DAI_MANAGER;
+
+ /* Reset any constraint on RFS and BFS */
+ i2s->rfs = 0;
+ i2s->bfs = 0;
+
+ spin_unlock_irqrestore(&lock, flags);
+
+ /* Gate CDCLK by default */
+ if (!is_opened(other))
+ i2s_set_sysclk(dai, SAMSUNG_I2S_CDCLK,
+ 0, SND_SOC_CLOCK_IN);
+}
+
+static int config_setup(struct i2s_dai *i2s)
+{
+ struct i2s_dai *other = i2s->pri_dai ? : i2s->sec_dai;
+ unsigned rfs, bfs, blc;
+ u32 psr;
+
+ blc = get_blc(i2s);
+
+ bfs = i2s->bfs;
+
+ if (!bfs && other)
+ bfs = other->bfs;
+
+ /* Select least possible multiple(2) if no constraint set */
+ if (!bfs)
+ bfs = blc * 2;
+
+ rfs = i2s->rfs;
+
+ if (!rfs && other)
+ rfs = other->rfs;
+
+ if ((rfs == 256 || rfs == 512) && (blc == 24)) {
+ dev_err(&i2s->pdev->dev,
+ "%d-RFS not supported for 24-blc\n", rfs);
+ return -EINVAL;
+ }
+
+ if (!rfs) {
+ if (bfs == 16 || bfs == 32)
+ rfs = 256;
+ else
+ rfs = 384;
+ }
+
+ /* If already setup and running */
+ if (any_active(i2s) && (get_rfs(i2s) != rfs || get_bfs(i2s) != bfs)) {
+ dev_err(&i2s->pdev->dev,
+ "%s:%d Other DAI busy\n", __func__, __LINE__);
+ return -EAGAIN;
+ }
+
+ /* Don't bother RFS, BFS & PSR in Slave mode */
+ if (is_slave(i2s))
+ return 0;
+
+ set_bfs(i2s, bfs);
+ set_rfs(i2s, rfs);
+
+ if (!(i2s->quirks & QUIRK_NO_MUXPSR)) {
+ psr = i2s->rclk_srcrate / i2s->frmclk / rfs;
+ writel(((psr - 1) << 8) | PSR_PSREN, i2s->addr + I2SPSR);
+ dev_dbg(&i2s->pdev->dev,
+ "RCLK_SRC=%luHz PSR=%u, RCLK=%dfs, BCLK=%dfs\n",
+ i2s->rclk_srcrate, psr, rfs, bfs);
+ }
+
+ return 0;
+}
+
+static int i2s_trigger(struct snd_pcm_substream *substream,
+ int cmd, struct snd_soc_dai *dai)
+{
+ int capture = (substream->stream == SNDRV_PCM_STREAM_CAPTURE);
+ struct snd_soc_pcm_runtime *rtd = substream->private_data;
+ struct i2s_dai *i2s = to_info(rtd->cpu_dai);
+ unsigned long flags;
+
+ switch (cmd) {
+ case SNDRV_PCM_TRIGGER_START:
+ case SNDRV_PCM_TRIGGER_RESUME:
+ case SNDRV_PCM_TRIGGER_PAUSE_RELEASE:
+ local_irq_save(flags);
+
+ if (capture)
+ i2s_fifo(i2s, FIC_RXFLUSH);
+ else
+ i2s_fifo(i2s, FIC_TXFLUSH);
+
+ if (config_setup(i2s)) {
+ local_irq_restore(flags);
+ return -EINVAL;
+ }
+
+ if (capture)
+ i2s_rxctrl(i2s, 1);
+ else
+ i2s_txctrl(i2s, 1);
+
+ local_irq_restore(flags);
+ break;
+ case SNDRV_PCM_TRIGGER_STOP:
+ case SNDRV_PCM_TRIGGER_SUSPEND:
+ case SNDRV_PCM_TRIGGER_PAUSE_PUSH:
+ local_irq_save(flags);
+
+ if (capture)
+ i2s_rxctrl(i2s, 0);
+ else
+ i2s_txctrl(i2s, 0);
+
+ local_irq_restore(flags);
+ break;
+ }
+
+ return 0;
+}
+
+static int i2s_set_clkdiv(struct snd_soc_dai *dai,
+ int div_id, int div)
+{
+ struct i2s_dai *i2s = to_info(dai);
+ struct i2s_dai *other = i2s->pri_dai ? : i2s->sec_dai;
+
+ switch (div_id) {
+ case SAMSUNG_I2S_DIV_BCLK:
+ if ((any_active(i2s) && div && (get_bfs(i2s) != div))
+ || (other && other->bfs && (other->bfs != div))) {
+ dev_err(&i2s->pdev->dev,
+ "%s:%d Other DAI busy\n", __func__, __LINE__);
+ return -EAGAIN;
+ }
+ i2s->bfs = div;
+ break;
+ default:
+ dev_err(&i2s->pdev->dev,
+ "Invalid clock divider(%d)\n", div_id);
+ return -EINVAL;
+ }
+
+ return 0;
+}
+
+static snd_pcm_sframes_t
+i2s_delay(struct snd_pcm_substream *substream, struct snd_soc_dai *dai)
+{
+ struct i2s_dai *i2s = to_info(dai);
+ u32 reg = readl(i2s->addr + I2SFIC);
+ snd_pcm_sframes_t delay;
+
+ if (substream->stream == SNDRV_PCM_STREAM_CAPTURE)
+ delay = FIC_RXCOUNT(reg);
+ else if (is_secondary(i2s))
+ delay = FICS_TXCOUNT(readl(i2s->addr + I2SFICS));
+ else
+ delay = FIC_TXCOUNT(reg);
+
+ return delay;
+}
+
+#ifdef CONFIG_PM
+static int i2s_suspend(struct snd_soc_dai *dai)
+{
+ struct i2s_dai *i2s = to_info(dai);
+
+ if (dai->active) {
+ i2s->suspend_i2smod = readl(i2s->addr + I2SMOD);
+ i2s->suspend_i2scon = readl(i2s->addr + I2SCON);
+ i2s->suspend_i2spsr = readl(i2s->addr + I2SPSR);
+ }
+
+ return 0;
+}
+
+static int i2s_resume(struct snd_soc_dai *dai)
+{
+ struct i2s_dai *i2s = to_info(dai);
+
+ if (dai->active) {
+ writel(i2s->suspend_i2scon, i2s->addr + I2SCON);
+ writel(i2s->suspend_i2smod, i2s->addr + I2SMOD);
+ writel(i2s->suspend_i2spsr, i2s->addr + I2SPSR);
+ }
+
+ return 0;
+}
+#else
+#define i2s_suspend NULL
+#define i2s_resume NULL
+#endif
+
+static int samsung_i2s_dai_probe(struct snd_soc_dai *dai)
+{
+ struct i2s_dai *i2s = to_info(dai);
+ struct i2s_dai *other = i2s->pri_dai ? : i2s->sec_dai;
+
+ if (other && other->clk) /* If this is probe on secondary */
+ goto probe_exit;
+
+ i2s->addr = ioremap(i2s->base, 0x100);
+ if (i2s->addr == NULL) {
+ dev_err(&i2s->pdev->dev, "cannot ioremap registers\n");
+ return -ENXIO;
+ }
+
+ i2s->clk = clk_get(&i2s->pdev->dev, "iis");
+ if (IS_ERR(i2s->clk)) {
+ dev_err(&i2s->pdev->dev, "failed to get i2s_clock\n");
+ iounmap(i2s->addr);
+ return -ENOENT;
+ }
+ clk_enable(i2s->clk);
+
+ if (other) {
+ other->addr = i2s->addr;
+ other->clk = i2s->clk;
+ }
+
+ if (i2s->quirks & QUIRK_NEED_RSTCLR)
+ writel(CON_RSTCLR, i2s->addr + I2SCON);
+
+probe_exit:
+ /* Reset any constraint on RFS and BFS */
+ i2s->rfs = 0;
+ i2s->bfs = 0;
+ i2s_txctrl(i2s, 0);
+ i2s_rxctrl(i2s, 0);
+ i2s_fifo(i2s, FIC_TXFLUSH);
+ i2s_fifo(other, FIC_TXFLUSH);
+ i2s_fifo(i2s, FIC_RXFLUSH);
+
+ /* Gate CDCLK by default */
+ if (!is_opened(other))
+ i2s_set_sysclk(dai, SAMSUNG_I2S_CDCLK,
+ 0, SND_SOC_CLOCK_IN);
+
+ return 0;
+}
+
+static int samsung_i2s_dai_remove(struct snd_soc_dai *dai)
+{
+ struct i2s_dai *i2s = snd_soc_dai_get_drvdata(dai);
+ struct i2s_dai *other = i2s->pri_dai ? : i2s->sec_dai;
+
+ if (!other || !other->clk) {
+
+ if (i2s->quirks & QUIRK_NEED_RSTCLR)
+ writel(0, i2s->addr + I2SCON);
+
+ clk_disable(i2s->clk);
+ clk_put(i2s->clk);
+
+ iounmap(i2s->addr);
+ }
+
+ i2s->clk = NULL;
+
+ return 0;
+}
+
+static struct snd_soc_dai_ops samsung_i2s_dai_ops = {
+ .trigger = i2s_trigger,
+ .hw_params = i2s_hw_params,
+ .set_fmt = i2s_set_fmt,
+ .set_clkdiv = i2s_set_clkdiv,
+ .set_sysclk = i2s_set_sysclk,
+ .startup = i2s_startup,
+ .shutdown = i2s_shutdown,
+ .delay = i2s_delay,
+};
+
+#define SAMSUNG_I2S_RATES SNDRV_PCM_RATE_8000_96000
+
+#define SAMSUNG_I2S_FMTS (SNDRV_PCM_FMTBIT_S8 | \
+ SNDRV_PCM_FMTBIT_S16_LE | \
+ SNDRV_PCM_FMTBIT_S24_LE)
+
+static __devinit
+struct i2s_dai *i2s_alloc_dai(struct platform_device *pdev, bool sec)
+{
+ struct i2s_dai *i2s;
+
+ i2s = kzalloc(sizeof(struct i2s_dai), GFP_KERNEL);
+ if (i2s == NULL)
+ return NULL;
+
+ i2s->pdev = pdev;
+ i2s->pri_dai = NULL;
+ i2s->sec_dai = NULL;
+ i2s->i2s_dai_drv.symmetric_rates = 1;
+ i2s->i2s_dai_drv.probe = samsung_i2s_dai_probe;
+ i2s->i2s_dai_drv.remove = samsung_i2s_dai_remove;
+ i2s->i2s_dai_drv.ops = &samsung_i2s_dai_ops;
+ i2s->i2s_dai_drv.suspend = i2s_suspend;
+ i2s->i2s_dai_drv.resume = i2s_resume;
+ i2s->i2s_dai_drv.playback.channels_min = 2;
+ i2s->i2s_dai_drv.playback.channels_max = 2;
+ i2s->i2s_dai_drv.playback.rates = SAMSUNG_I2S_RATES;
+ i2s->i2s_dai_drv.playback.formats = SAMSUNG_I2S_FMTS;
+
+ if (!sec) {
+ i2s->i2s_dai_drv.capture.channels_min = 2;
+ i2s->i2s_dai_drv.capture.channels_max = 2;
+ i2s->i2s_dai_drv.capture.rates = SAMSUNG_I2S_RATES;
+ i2s->i2s_dai_drv.capture.formats = SAMSUNG_I2S_FMTS;
+ } else { /* Create a new platform_device for Secondary */
+ i2s->pdev = platform_device_register_resndata(NULL,
+ pdev->name, pdev->id + SAMSUNG_I2S_SECOFF,
+ NULL, 0, NULL, 0);
+ if (IS_ERR(i2s->pdev)) {
+ kfree(i2s);
+ return NULL;
+ }
+ }
+
+ /* Pre-assign snd_soc_dai_set_drvdata */
+ dev_set_drvdata(&i2s->pdev->dev, i2s);
+
+ return i2s;
+}
+
+static __devinit int samsung_i2s_probe(struct platform_device *pdev)
+{
+ u32 dma_pl_chan, dma_cp_chan, dma_pl_sec_chan;
+ struct i2s_dai *pri_dai, *sec_dai = NULL;
+ struct s3c_audio_pdata *i2s_pdata;
+ struct samsung_i2s *i2s_cfg;
+ struct resource *res;
+ u32 regs_base, quirks;
+ int ret = 0;
+
+ /* Call during Seconday interface registration */
+ if (pdev->id >= SAMSUNG_I2S_SECOFF) {
+ sec_dai = dev_get_drvdata(&pdev->dev);
+ snd_soc_register_dai(&sec_dai->pdev->dev,
+ &sec_dai->i2s_dai_drv);
+ return 0;
+ }
+
+ i2s_pdata = pdev->dev.platform_data;
+ if (i2s_pdata == NULL) {
+ dev_err(&pdev->dev, "Can't work without s3c_audio_pdata\n");
+ return -EINVAL;
+ }
+
+ res = platform_get_resource(pdev, IORESOURCE_DMA, 0);
+ if (!res) {
+ dev_err(&pdev->dev, "Unable to get I2S-TX dma resource\n");
+ return -ENXIO;
+ }
+ dma_pl_chan = res->start;
+
+ res = platform_get_resource(pdev, IORESOURCE_DMA, 1);
+ if (!res) {
+ dev_err(&pdev->dev, "Unable to get I2S-RX dma resource\n");
+ return -ENXIO;
+ }
+ dma_cp_chan = res->start;
+
+ res = platform_get_resource(pdev, IORESOURCE_DMA, 2);
+ if (res)
+ dma_pl_sec_chan = res->start;
+ else
+ dma_pl_sec_chan = 0;
+
+ res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
+ if (!res) {
+ dev_err(&pdev->dev, "Unable to get I2S SFR address\n");
+ return -ENXIO;
+ }
+
+ if (!request_mem_region(res->start, resource_size(res),
+ "samsung-i2s")) {
+ dev_err(&pdev->dev, "Unable to request SFR region\n");
+ return -EBUSY;
+ }
+ regs_base = res->start;
+
+ i2s_cfg = &i2s_pdata->type.i2s;
+ quirks = i2s_cfg->quirks;
+
+ pri_dai = i2s_alloc_dai(pdev, false);
+ if (!pri_dai) {
+ dev_err(&pdev->dev, "Unable to alloc I2S_pri\n");
+ ret = -ENOMEM;
+ goto err1;
+ }
+
+ pri_dai->dma_playback.dma_addr = regs_base + I2STXD;
+ pri_dai->dma_capture.dma_addr = regs_base + I2SRXD;
+ pri_dai->dma_playback.client =
+ (struct s3c2410_dma_client *)&pri_dai->dma_playback;
+ pri_dai->dma_capture.client =
+ (struct s3c2410_dma_client *)&pri_dai->dma_capture;
+ pri_dai->dma_playback.channel = dma_pl_chan;
+ pri_dai->dma_capture.channel = dma_cp_chan;
+ pri_dai->src_clk = i2s_cfg->src_clk;
+ pri_dai->dma_playback.dma_size = 4;
+ pri_dai->dma_capture.dma_size = 4;
+ pri_dai->base = regs_base;
+ pri_dai->quirks = quirks;
+
+ if (quirks & QUIRK_PRI_6CHAN)
+ pri_dai->i2s_dai_drv.playback.channels_max = 6;
+
+ if (quirks & QUIRK_SEC_DAI) {
+ sec_dai = i2s_alloc_dai(pdev, true);
+ if (!sec_dai) {
+ dev_err(&pdev->dev, "Unable to alloc I2S_sec\n");
+ ret = -ENOMEM;
+ goto err2;
+ }
+ sec_dai->dma_playback.dma_addr = regs_base + I2STXDS;
+ sec_dai->dma_playback.client =
+ (struct s3c2410_dma_client *)&sec_dai->dma_playback;
+ /* Use iDMA always if SysDMA not provided */
+ sec_dai->dma_playback.channel = dma_pl_sec_chan ? : -1;
+ sec_dai->src_clk = i2s_cfg->src_clk;
+ sec_dai->dma_playback.dma_size = 4;
+ sec_dai->base = regs_base;
+ sec_dai->quirks = quirks;
+ sec_dai->pri_dai = pri_dai;
+ pri_dai->sec_dai = sec_dai;
+ }
+
+ if (i2s_pdata->cfg_gpio && i2s_pdata->cfg_gpio(pdev)) {
+ dev_err(&pdev->dev, "Unable to configure gpio\n");
+ ret = -EINVAL;
+ goto err3;
+ }
+
+ snd_soc_register_dai(&pri_dai->pdev->dev, &pri_dai->i2s_dai_drv);
+
+ return 0;
+err3:
+ kfree(sec_dai);
+err2:
+ kfree(pri_dai);
+err1:
+ release_mem_region(regs_base, resource_size(res));
+
+ return ret;
+}
+
+static __devexit int samsung_i2s_remove(struct platform_device *pdev)
+{
+ struct i2s_dai *i2s, *other;
+
+ i2s = dev_get_drvdata(&pdev->dev);
+ other = i2s->pri_dai ? : i2s->sec_dai;
+
+ if (other) {
+ other->pri_dai = NULL;
+ other->sec_dai = NULL;
+ } else {
+ struct resource *res;
+ res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
+ if (res)
+ release_mem_region(res->start, resource_size(res));
+ }
+
+ i2s->pri_dai = NULL;
+ i2s->sec_dai = NULL;
+
+ kfree(i2s);
+
+ snd_soc_unregister_dai(&pdev->dev);
+
+ return 0;
+}
+
+static struct platform_driver samsung_i2s_driver = {
+ .probe = samsung_i2s_probe,
+ .remove = samsung_i2s_remove,
+ .driver = {
+ .name = "samsung-i2s",
+ .owner = THIS_MODULE,
+ },
+};
+
+static int __init samsung_i2s_init(void)
+{
+ return platform_driver_register(&samsung_i2s_driver);
+}
+module_init(samsung_i2s_init);
+
+static void __exit samsung_i2s_exit(void)
+{
+ platform_driver_unregister(&samsung_i2s_driver);
+}
+module_exit(samsung_i2s_exit);
+
+/* Module information */
+MODULE_AUTHOR("Jaswinder Singh, <jassi.brar@samsung.com>");
+MODULE_DESCRIPTION("Samsung I2S Interface");
+MODULE_ALIAS("platform:samsung-i2s");
+MODULE_LICENSE("GPL");
diff --git a/sound/soc/s3c24xx/i2s.h b/sound/soc/s3c24xx/i2s.h
new file mode 100644
index 0000000..d3180b3
--- /dev/null
+++ b/sound/soc/s3c24xx/i2s.h
@@ -0,0 +1,29 @@
+/* sound/soc/s3c24xx/i2s.h
+ *
+ * ALSA SoC Audio Layer - Samsung I2S Controller driver
+ *
+ * Copyright (c) 2010 Samsung Electronics Co. Ltd.
+ * Jaswinder Singh <jassi.brar@samsung.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+
+#ifndef __SND_SOC_SAMSUNG_I2S_H
+#define __SND_SOC_SAMSUNG_I2S_H
+
+/*
+ * Maximum number of I2S blocks that any SoC can have.
+ * The secondary interface of a CPU dai(if there exists any),
+ * is indexed at [cpu-dai's ID + SAMSUNG_I2S_SECOFF]
+ */
+#define SAMSUNG_I2S_SECOFF 4
+
+#define SAMSUNG_I2S_DIV_BCLK 1
+
+#define SAMSUNG_I2S_RCLKSRC_0 0
+#define SAMSUNG_I2S_RCLKSRC_1 1
+#define SAMSUNG_I2S_CDCLK 2
+
+#endif /* __SND_SOC_SAMSUNG_I2S_H */
--
1.6.2.5
^ permalink raw reply related [flat|nested] 31+ messages in thread* [PATCH 11/24] ARM: S3C64XX: I2S: Upgrade platform device
2010-10-22 8:30 [PATCHv2] ASoC: Overhaul Samsung drivers Jassi Brar
` (9 preceding siblings ...)
2010-10-22 8:35 ` [PATCH 10/24] ASoC: Samsung: Add common I2S driver Jassi Brar
@ 2010-10-22 8:36 ` Jassi Brar
2010-10-22 8:36 ` [PATCH 12/24] ARM: S5P64X0: " Jassi Brar
` (13 subsequent siblings)
24 siblings, 0 replies; 31+ messages in thread
From: Jassi Brar @ 2010-10-22 8:36 UTC (permalink / raw)
To: alsa-devel
Cc: kgene.kim, Jassi Brar, broonie, ben-linux, june.bae, lrg, sw.youn
From: Jassi Brar <jassi.brar@samsung.com>
Add more information to I2S platform_devices in order to
prepare them for new controller driver.
Signed-off-by: Jassi Brar <jassi.brar@samsung.com>
---
arch/arm/mach-s3c64xx/clock.c | 2 +-
arch/arm/mach-s3c64xx/dev-audio.c | 57 ++++++++++++++++++++----------------
2 files changed, 33 insertions(+), 26 deletions(-)
diff --git a/arch/arm/mach-s3c64xx/clock.c b/arch/arm/mach-s3c64xx/clock.c
index 7e03f0a..1c98d2f 100644
--- a/arch/arm/mach-s3c64xx/clock.c
+++ b/arch/arm/mach-s3c64xx/clock.c
@@ -695,7 +695,7 @@ static struct clksrc_clk clksrcs[] = {
}, {
.clk = {
.name = "audio-bus",
- .id = -1, /* There's only one IISv4 port */
+ .id = 2,
.ctrlbit = S3C6410_CLKCON_SCLK_AUDIO2,
.enable = s3c64xx_sclk_ctrl,
},
diff --git a/arch/arm/mach-s3c64xx/dev-audio.c b/arch/arm/mach-s3c64xx/dev-audio.c
index 4a5c682..8ee12a9 100644
--- a/arch/arm/mach-s3c64xx/dev-audio.c
+++ b/arch/arm/mach-s3c64xx/dev-audio.c
@@ -22,7 +22,12 @@
#include <plat/audio.h>
#include <plat/gpio-cfg.h>
-static int s3c64xx_i2sv3_cfg_gpio(struct platform_device *pdev)
+static const char *rclksrc[] = {
+ [0] = "iis",
+ [1] = "audio-bus",
+};
+
+static int s3c64xx_i2s_cfg_gpio(struct platform_device *pdev)
{
unsigned int base;
@@ -33,6 +38,12 @@ static int s3c64xx_i2sv3_cfg_gpio(struct platform_device *pdev)
case 1:
base = S3C64XX_GPE(0);
break;
+ case 2:
+ s3c_gpio_cfgpin(S3C64XX_GPC(4), S3C_GPIO_SFN(5));
+ s3c_gpio_cfgpin(S3C64XX_GPC(5), S3C_GPIO_SFN(5));
+ s3c_gpio_cfgpin(S3C64XX_GPC(7), S3C_GPIO_SFN(5));
+ s3c_gpio_cfgpin_range(S3C64XX_GPH(6), 4, S3C_GPIO_SFN(5));
+ break;
default:
printk(KERN_DEBUG "Invalid I2S Controller number!");
return -EINVAL;
@@ -43,16 +54,6 @@ static int s3c64xx_i2sv3_cfg_gpio(struct platform_device *pdev)
return 0;
}
-static int s3c64xx_i2sv4_cfg_gpio(struct platform_device *pdev)
-{
- s3c_gpio_cfgpin(S3C64XX_GPC(4), S3C_GPIO_SFN(5));
- s3c_gpio_cfgpin(S3C64XX_GPC(5), S3C_GPIO_SFN(5));
- s3c_gpio_cfgpin(S3C64XX_GPC(7), S3C_GPIO_SFN(5));
- s3c_gpio_cfgpin_range(S3C64XX_GPH(6), 4, S3C_GPIO_SFN(5));
-
- return 0;
-}
-
static struct resource s3c64xx_iis0_resource[] = {
[0] = {
.start = S3C64XX_PA_IIS0,
@@ -71,8 +72,13 @@ static struct resource s3c64xx_iis0_resource[] = {
},
};
-static struct s3c_audio_pdata s3c_i2s0_pdata = {
- .cfg_gpio = s3c64xx_i2sv3_cfg_gpio,
+static struct s3c_audio_pdata i2sv3_pdata = {
+ .cfg_gpio = s3c64xx_i2s_cfg_gpio,
+ .type = {
+ .i2s = {
+ .src_clk = rclksrc,
+ },
+ },
};
struct platform_device s3c64xx_device_iis0 = {
@@ -81,7 +87,7 @@ struct platform_device s3c64xx_device_iis0 = {
.num_resources = ARRAY_SIZE(s3c64xx_iis0_resource),
.resource = s3c64xx_iis0_resource,
.dev = {
- .platform_data = &s3c_i2s0_pdata,
+ .platform_data = &i2sv3_pdata,
},
};
EXPORT_SYMBOL(s3c64xx_device_iis0);
@@ -104,17 +110,13 @@ static struct resource s3c64xx_iis1_resource[] = {
},
};
-static struct s3c_audio_pdata s3c_i2s1_pdata = {
- .cfg_gpio = s3c64xx_i2sv3_cfg_gpio,
-};
-
struct platform_device s3c64xx_device_iis1 = {
.name = "s3c64xx-iis",
.id = 1,
.num_resources = ARRAY_SIZE(s3c64xx_iis1_resource),
.resource = s3c64xx_iis1_resource,
.dev = {
- .platform_data = &s3c_i2s1_pdata,
+ .platform_data = &i2sv3_pdata,
},
};
EXPORT_SYMBOL(s3c64xx_device_iis1);
@@ -137,17 +139,22 @@ static struct resource s3c64xx_iisv4_resource[] = {
},
};
-static struct s3c_audio_pdata s3c_i2sv4_pdata = {
- .cfg_gpio = s3c64xx_i2sv4_cfg_gpio,
-};
+static struct s3c_audio_pdata i2sv4_pdata = {
+ .cfg_gpio = s3c64xx_i2s_cfg_gpio,
+ .type = {
+ .i2s = {
+ .quirks = QUIRK_PRI_6CHAN,
+ .src_clk = rclksrc,
+ },
+},
struct platform_device s3c64xx_device_iisv4 = {
- .name = "s3c64xx-iis-v4",
- .id = -1,
+ .name = "samsung-i2s",
+ .id = 2,
.num_resources = ARRAY_SIZE(s3c64xx_iisv4_resource),
.resource = s3c64xx_iisv4_resource,
.dev = {
- .platform_data = &s3c_i2sv4_pdata,
+ .platform_data = &i2sv4_pdata,
},
};
EXPORT_SYMBOL(s3c64xx_device_iisv4);
--
1.6.2.5
^ permalink raw reply related [flat|nested] 31+ messages in thread* [PATCH 12/24] ARM: S5P64X0: I2S: Upgrade platform device
2010-10-22 8:30 [PATCHv2] ASoC: Overhaul Samsung drivers Jassi Brar
` (10 preceding siblings ...)
2010-10-22 8:36 ` [PATCH 11/24] ARM: S3C64XX: I2S: Upgrade platform device Jassi Brar
@ 2010-10-22 8:36 ` Jassi Brar
2010-10-22 8:36 ` [PATCH 13/24] ARM: S5P6442: " Jassi Brar
` (12 subsequent siblings)
24 siblings, 0 replies; 31+ messages in thread
From: Jassi Brar @ 2010-10-22 8:36 UTC (permalink / raw)
To: alsa-devel
Cc: kgene.kim, Jassi Brar, broonie, ben-linux, june.bae, lrg, sw.youn
From: Jassi Brar <jassi.brar@samsung.com>
Add more information to I2S platform_devices in order
to prepare them for new controller driver.
Also, discard duplicated gpio-cfg.
Signed-off-by: Jassi Brar <jassi.brar@samsung.com>
---
arch/arm/mach-s5p64x0/clock-s5p6440.c | 2 +-
arch/arm/mach-s5p64x0/clock-s5p6450.c | 2 +-
arch/arm/mach-s5p64x0/dev-audio.c | 55 ++++++++++++--------------------
3 files changed, 23 insertions(+), 36 deletions(-)
diff --git a/arch/arm/mach-s5p64x0/clock-s5p6440.c b/arch/arm/mach-s5p64x0/clock-s5p6440.c
index e4883dc..409c5fc 100644
--- a/arch/arm/mach-s5p64x0/clock-s5p6440.c
+++ b/arch/arm/mach-s5p64x0/clock-s5p6440.c
@@ -261,7 +261,7 @@ static struct clk init_clocks_disable[] = {
.enable = s5p64x0_pclk_ctrl,
.ctrlbit = (1 << 25),
}, {
- .name = "i2s_v40",
+ .name = "iis",
.id = 0,
.parent = &clk_pclk_low.clk,
.enable = s5p64x0_pclk_ctrl,
diff --git a/arch/arm/mach-s5p64x0/clock-s5p6450.c b/arch/arm/mach-s5p64x0/clock-s5p6450.c
index 7dbf3c9..7fc6abd 100644
--- a/arch/arm/mach-s5p64x0/clock-s5p6450.c
+++ b/arch/arm/mach-s5p64x0/clock-s5p6450.c
@@ -256,7 +256,7 @@ static struct clk init_clocks_disable[] = {
.ctrlbit = (1 << 22),
}, {
.name = "iis",
- .id = -1,
+ .id = 0,
.parent = &clk_pclk_low.clk,
.enable = s5p64x0_pclk_ctrl,
.ctrlbit = (1 << 26),
diff --git a/arch/arm/mach-s5p64x0/dev-audio.c b/arch/arm/mach-s5p64x0/dev-audio.c
index 396bacc..14f89e7 100644
--- a/arch/arm/mach-s5p64x0/dev-audio.c
+++ b/arch/arm/mach-s5p64x0/dev-audio.c
@@ -19,15 +19,19 @@
#include <mach/dma.h>
#include <mach/irqs.h>
-static int s5p6440_cfg_i2s(struct platform_device *pdev)
+static const char *rclksrc[] = {
+ [0] = "iis",
+ [1] = "sclk_audio2",
+};
+
+static int s5p64x0_cfg_i2s(struct platform_device *pdev)
{
/* configure GPIO for i2s port */
switch (pdev->id) {
- case -1:
+ case 0:
s3c_gpio_cfgpin_range(S5P6440_GPR(4), 5, S3C_GPIO_SFN(5));
s3c_gpio_cfgpin_range(S5P6440_GPR(13), 2, S3C_GPIO_SFN(5));
break;
-
default:
printk(KERN_ERR "Invalid Device %d\n", pdev->id);
return -EINVAL;
@@ -36,31 +40,14 @@ static int s5p6440_cfg_i2s(struct platform_device *pdev)
return 0;
}
-static int s5p6450_cfg_i2s(struct platform_device *pdev)
-{
- /* configure GPIO for i2s port */
- switch (pdev->id) {
- case -1:
- s3c_gpio_cfgpin(S5P6450_GPB(4), S3C_GPIO_SFN(5));
- s3c_gpio_cfgpin_range(S5P6450_GPR(4), 5, S3C_GPIO_SFN(5));
- s3c_gpio_cfgpin_range(S5P6450_GPR(13), 2, S3C_GPIO_SFN(5));
-
- break;
-
- default:
- printk(KERN_ERR "Invalid Device %d\n", pdev->id);
- return -EINVAL;
- }
-
- return 0;
-}
-
-static struct s3c_audio_pdata s5p6440_i2s_pdata = {
- .cfg_gpio = s5p6440_cfg_i2s,
-};
-
-static struct s3c_audio_pdata s5p6450_i2s_pdata = {
- .cfg_gpio = s5p6450_cfg_i2s,
+static struct s3c_audio_pdata s5p64x0_i2s_pdata = {
+ .cfg_gpio = s5p64x0_cfg_i2s,
+ .type = {
+ .i2s = {
+ .quirks = QUIRK_PRI_6CHAN,
+ .src_clk = rclksrc,
+ },
+ },
};
static struct resource s5p64x0_iis0_resource[] = {
@@ -82,22 +69,22 @@ static struct resource s5p64x0_iis0_resource[] = {
};
struct platform_device s5p6440_device_iis = {
- .name = "s3c64xx-iis-v4",
- .id = -1,
+ .name = "samsung-i2s",
+ .id = 0,
.num_resources = ARRAY_SIZE(s5p64x0_iis0_resource),
.resource = s5p64x0_iis0_resource,
.dev = {
- .platform_data = &s5p6440_i2s_pdata,
+ .platform_data = &s5p64x0_i2s_pdata,
},
};
struct platform_device s5p6450_device_iis0 = {
- .name = "s3c64xx-iis-v4",
- .id = -1,
+ .name = "samsung-i2s",
+ .id = 0,
.num_resources = ARRAY_SIZE(s5p64x0_iis0_resource),
.resource = s5p64x0_iis0_resource,
.dev = {
- .platform_data = &s5p6450_i2s_pdata,
+ .platform_data = &s5p64x0_i2s_pdata,
},
};
--
1.6.2.5
^ permalink raw reply related [flat|nested] 31+ messages in thread* [PATCH 13/24] ARM: S5P6442: I2S: Upgrade platform device
2010-10-22 8:30 [PATCHv2] ASoC: Overhaul Samsung drivers Jassi Brar
` (11 preceding siblings ...)
2010-10-22 8:36 ` [PATCH 12/24] ARM: S5P64X0: " Jassi Brar
@ 2010-10-22 8:36 ` Jassi Brar
2010-10-22 8:37 ` [PATCH 14/24] ARM: S5PC100: " Jassi Brar
` (11 subsequent siblings)
24 siblings, 0 replies; 31+ messages in thread
From: Jassi Brar @ 2010-10-22 8:36 UTC (permalink / raw)
To: alsa-devel
Cc: kgene.kim, Jassi Brar, broonie, ben-linux, june.bae, lrg, sw.youn
From: Jassi Brar <jassi.brar@samsung.com>
Add more information to I2S platform_devices in order
to prepare them for new controller driver.
Signed-off-by: Jassi Brar <jassi.brar@samsung.com>
---
arch/arm/mach-s5p6442/dev-audio.c | 42 +++++++++++++++++++++++++++++++-----
1 files changed, 36 insertions(+), 6 deletions(-)
diff --git a/arch/arm/mach-s5p6442/dev-audio.c b/arch/arm/mach-s5p6442/dev-audio.c
index 3462197..f70e2ef 100644
--- a/arch/arm/mach-s5p6442/dev-audio.c
+++ b/arch/arm/mach-s5p6442/dev-audio.c
@@ -29,7 +29,7 @@ static int s5p6442_cfg_i2s(struct platform_device *pdev)
base = S5P6442_GPC1(0);
break;
- case -1:
+ case 0:
base = S5P6442_GPC0(0);
break;
@@ -42,8 +42,19 @@ static int s5p6442_cfg_i2s(struct platform_device *pdev)
return 0;
}
-static struct s3c_audio_pdata s3c_i2s_pdata = {
+static const char *rclksrc_v35[] = {
+ [0] = "busclk",
+ [1] = "i2sclk",
+};
+
+static struct s3c_audio_pdata i2sv35_pdata = {
.cfg_gpio = s5p6442_cfg_i2s,
+ .type = {
+ .i2s = {
+ .quirks = QUIRK_SEC_DAI | QUIRK_NEED_RSTCLR,
+ .src_clk = rclksrc_v35,
+ },
+ },
};
static struct resource s5p6442_iis0_resource[] = {
@@ -62,15 +73,34 @@ static struct resource s5p6442_iis0_resource[] = {
.end = DMACH_I2S0_RX,
.flags = IORESOURCE_DMA,
},
+ [3] = {
+ .start = DMACH_I2S0S_TX,
+ .end = DMACH_I2S0S_TX,
+ .flags = IORESOURCE_DMA,
+ },
};
struct platform_device s5p6442_device_iis0 = {
- .name = "s3c64xx-iis-v4",
- .id = -1,
+ .name = "samsung-i2s",
+ .id = 0,
.num_resources = ARRAY_SIZE(s5p6442_iis0_resource),
.resource = s5p6442_iis0_resource,
.dev = {
- .platform_data = &s3c_i2s_pdata,
+ .platform_data = &i2sv35_pdata,
+ },
+};
+
+static const char *rclksrc_v3[] = {
+ [0] = "iis",
+ [1] = "sclk_audio",
+};
+
+static struct s3c_audio_pdata i2sv3_pdata = {
+ .cfg_gpio = s5p6442_cfg_i2s,
+ .type = {
+ .i2s = {
+ .src_clk = rclksrc_v3,
+ },
},
};
@@ -98,7 +128,7 @@ struct platform_device s5p6442_device_iis1 = {
.num_resources = ARRAY_SIZE(s5p6442_iis1_resource),
.resource = s5p6442_iis1_resource,
.dev = {
- .platform_data = &s3c_i2s_pdata,
+ .platform_data = &i2sv3_pdata,
},
};
--
1.6.2.5
^ permalink raw reply related [flat|nested] 31+ messages in thread* [PATCH 14/24] ARM: S5PC100: I2S: Upgrade platform device
2010-10-22 8:30 [PATCHv2] ASoC: Overhaul Samsung drivers Jassi Brar
` (12 preceding siblings ...)
2010-10-22 8:36 ` [PATCH 13/24] ARM: S5P6442: " Jassi Brar
@ 2010-10-22 8:37 ` Jassi Brar
2010-10-22 8:37 ` [PATCH 15/24] ARM: S5PV210: " Jassi Brar
` (10 subsequent siblings)
24 siblings, 0 replies; 31+ messages in thread
From: Jassi Brar @ 2010-10-22 8:37 UTC (permalink / raw)
To: alsa-devel
Cc: kgene.kim, Jassi Brar, broonie, ben-linux, june.bae, lrg, sw.youn
From: Jassi Brar <jassi.brar@samsung.com>
Add more information to I2S platform_devices in order to
prepare them for new controller driver.
Signed-off-by: Jassi Brar <jassi.brar@samsung.com>
---
arch/arm/mach-s5pc100/dev-audio.c | 50 ++++++++++++++++++++++++++++--------
1 files changed, 39 insertions(+), 11 deletions(-)
diff --git a/arch/arm/mach-s5pc100/dev-audio.c b/arch/arm/mach-s5pc100/dev-audio.c
index 564e195..d9ac852 100644
--- a/arch/arm/mach-s5pc100/dev-audio.c
+++ b/arch/arm/mach-s5pc100/dev-audio.c
@@ -23,17 +23,14 @@ static int s5pc100_cfg_i2s(struct platform_device *pdev)
{
/* configure GPIO for i2s port */
switch (pdev->id) {
+ case 0: /* Dedicated pins */
+ break;
case 1:
s3c_gpio_cfgpin_range(S5PC100_GPC(0), 5, S3C_GPIO_SFN(2));
break;
-
case 2:
s3c_gpio_cfgpin_range(S5PC100_GPG3(0), 5, S3C_GPIO_SFN(4));
break;
-
- case -1: /* Dedicated pins */
- break;
-
default:
printk(KERN_ERR "Invalid Device %d\n", pdev->id);
return -EINVAL;
@@ -42,8 +39,20 @@ static int s5pc100_cfg_i2s(struct platform_device *pdev)
return 0;
}
-static struct s3c_audio_pdata s3c_i2s_pdata = {
+static const char *rclksrc_v5[] = {
+ [0] = "iis",
+ [1] = "i2sclkd2",
+};
+
+static struct s3c_audio_pdata i2sv5_pdata = {
.cfg_gpio = s5pc100_cfg_i2s,
+ .type = {
+ .i2s = {
+ .quirks = QUIRK_PRI_6CHAN | QUIRK_SEC_DAI
+ | QUIRK_NEED_RSTCLR,
+ .src_clk = rclksrc_v5,
+ },
+ },
};
static struct resource s5pc100_iis0_resource[] = {
@@ -62,15 +71,34 @@ static struct resource s5pc100_iis0_resource[] = {
.end = DMACH_I2S0_RX,
.flags = IORESOURCE_DMA,
},
+ [3] = {
+ .start = DMACH_I2S0S_TX,
+ .end = DMACH_I2S0S_TX,
+ .flags = IORESOURCE_DMA,
+ },
};
struct platform_device s5pc100_device_iis0 = {
- .name = "s3c64xx-iis-v4",
- .id = -1,
+ .name = "samsung-i2s",
+ .id = 0,
.num_resources = ARRAY_SIZE(s5pc100_iis0_resource),
.resource = s5pc100_iis0_resource,
.dev = {
- .platform_data = &s3c_i2s_pdata,
+ .platform_data = &i2sv5_pdata,
+ },
+};
+
+static const char *rclksrc_v3[] = {
+ [0] = "iis",
+ [1] = "sclk_audio",
+};
+
+static struct s3c_audio_pdata i2sv3_pdata = {
+ .cfg_gpio = s5pc100_cfg_i2s,
+ .type = {
+ .i2s = {
+ .src_clk = rclksrc_v3,
+ },
},
};
@@ -98,7 +126,7 @@ struct platform_device s5pc100_device_iis1 = {
.num_resources = ARRAY_SIZE(s5pc100_iis1_resource),
.resource = s5pc100_iis1_resource,
.dev = {
- .platform_data = &s3c_i2s_pdata,
+ .platform_data = &i2sv3_pdata,
},
};
@@ -126,7 +154,7 @@ struct platform_device s5pc100_device_iis2 = {
.num_resources = ARRAY_SIZE(s5pc100_iis2_resource),
.resource = s5pc100_iis2_resource,
.dev = {
- .platform_data = &s3c_i2s_pdata,
+ .platform_data = &i2sv3_pdata,
},
};
--
1.6.2.5
^ permalink raw reply related [flat|nested] 31+ messages in thread* [PATCH 15/24] ARM: S5PV210: I2S: Upgrade platform device
2010-10-22 8:30 [PATCHv2] ASoC: Overhaul Samsung drivers Jassi Brar
` (13 preceding siblings ...)
2010-10-22 8:37 ` [PATCH 14/24] ARM: S5PC100: " Jassi Brar
@ 2010-10-22 8:37 ` Jassi Brar
2010-10-22 8:37 ` [PATCH 16/24] ARM: S5PV310: Add audio platform devices Jassi Brar
` (9 subsequent siblings)
24 siblings, 0 replies; 31+ messages in thread
From: Jassi Brar @ 2010-10-22 8:37 UTC (permalink / raw)
To: alsa-devel
Cc: kgene.kim, Jassi Brar, broonie, ben-linux, june.bae, lrg, sw.youn
From: Jassi Brar <jassi.brar@samsung.com>
Add more information to I2S platform_devices in order
to prepare them for new controller driver.
Signed-off-by: Jassi Brar <jassi.brar@samsung.com>
---
arch/arm/mach-s5pv210/clock.c | 10 +++---
arch/arm/mach-s5pv210/dev-audio.c | 52 ++++++++++++++++++++++++++++--------
2 files changed, 45 insertions(+), 17 deletions(-)
diff --git a/arch/arm/mach-s5pv210/clock.c b/arch/arm/mach-s5pv210/clock.c
index 019c3a6..b774ff1 100644
--- a/arch/arm/mach-s5pv210/clock.c
+++ b/arch/arm/mach-s5pv210/clock.c
@@ -467,20 +467,20 @@ static struct clk init_clocks_disable[] = {
.enable = s5pv210_clk_ip3_ctrl,
.ctrlbit = (1<<21),
}, {
- .name = "i2s_v50",
+ .name = "iis",
.id = 0,
.parent = &clk_p,
.enable = s5pv210_clk_ip3_ctrl,
.ctrlbit = (1<<4),
}, {
- .name = "i2s_v32",
- .id = 0,
+ .name = "iis",
+ .id = 1,
.parent = &clk_p,
.enable = s5pv210_clk_ip3_ctrl,
.ctrlbit = (1 << 5),
}, {
- .name = "i2s_v32",
- .id = 1,
+ .name = "iis",
+ .id = 2,
.parent = &clk_p,
.enable = s5pv210_clk_ip3_ctrl,
.ctrlbit = (1 << 6),
diff --git a/arch/arm/mach-s5pv210/dev-audio.c b/arch/arm/mach-s5pv210/dev-audio.c
index 1303fcb..3d8a519 100644
--- a/arch/arm/mach-s5pv210/dev-audio.c
+++ b/arch/arm/mach-s5pv210/dev-audio.c
@@ -19,22 +19,24 @@
#include <mach/dma.h>
#include <mach/irqs.h>
+static const char *rclksrc[] = {
+ [0] = "busclk",
+ [1] = "i2sclk",
+};
+
static int s5pv210_cfg_i2s(struct platform_device *pdev)
{
/* configure GPIO for i2s port */
switch (pdev->id) {
+ case 0:
+ s3c_gpio_cfgpin_range(S5PV210_GPI(0), 7, S3C_GPIO_SFN(2));
+ break;
case 1:
s3c_gpio_cfgpin_range(S5PV210_GPC0(0), 5, S3C_GPIO_SFN(2));
break;
-
case 2:
s3c_gpio_cfgpin_range(S5PV210_GPC1(0), 5, S3C_GPIO_SFN(4));
break;
-
- case -1:
- s3c_gpio_cfgpin_range(S5PV210_GPI(0), 7, S3C_GPIO_SFN(2));
- break;
-
default:
printk(KERN_ERR "Invalid Device %d\n", pdev->id);
return -EINVAL;
@@ -43,8 +45,15 @@ static int s5pv210_cfg_i2s(struct platform_device *pdev)
return 0;
}
-static struct s3c_audio_pdata s3c_i2s_pdata = {
+static struct s3c_audio_pdata i2sv5_pdata = {
.cfg_gpio = s5pv210_cfg_i2s,
+ .type = {
+ .i2s = {
+ .quriks = QUIRK_PRI_6CHAN | QUIRK_SEC_DAI
+ | QUIRK_NEED_RSTCLR,
+ .src_clk = rclksrc,
+ },
+ },
};
static struct resource s5pv210_iis0_resource[] = {
@@ -63,15 +72,34 @@ static struct resource s5pv210_iis0_resource[] = {
.end = DMACH_I2S0_RX,
.flags = IORESOURCE_DMA,
},
+ [3] = {
+ .start = DMACH_I2S0S_TX,
+ .end = DMACH_I2S0S_TX,
+ .flags = IORESOURCE_DMA,
+ },
};
struct platform_device s5pv210_device_iis0 = {
- .name = "s3c64xx-iis-v4",
- .id = -1,
+ .name = "samsung-i2s",
+ .id = 0,
.num_resources = ARRAY_SIZE(s5pv210_iis0_resource),
.resource = s5pv210_iis0_resource,
.dev = {
- .platform_data = &s3c_i2s_pdata,
+ .platform_data = &i2sv5_pdata,
+ },
+};
+
+static const char *rclksrc_v3[] = {
+[0] = "iis",
+[1] = "audio-bus",
+};
+
+static struct s3c_audio_pdata i2sv3_pdata = {
+ .cfg_gpio = s5pv210_cfg_i2s,
+ .type = {
+ .i2s = {
+ .src_clk = rclksrc_v3,
+ },
},
};
@@ -99,7 +127,7 @@ struct platform_device s5pv210_device_iis1 = {
.num_resources = ARRAY_SIZE(s5pv210_iis1_resource),
.resource = s5pv210_iis1_resource,
.dev = {
- .platform_data = &s3c_i2s_pdata,
+ .platform_data = &i2sv3_pdata,
},
};
@@ -127,7 +155,7 @@ struct platform_device s5pv210_device_iis2 = {
.num_resources = ARRAY_SIZE(s5pv210_iis2_resource),
.resource = s5pv210_iis2_resource,
.dev = {
- .platform_data = &s3c_i2s_pdata,
+ .platform_data = &i2sv3_pdata,
},
};
--
1.6.2.5
^ permalink raw reply related [flat|nested] 31+ messages in thread* [PATCH 16/24] ARM: S5PV310: Add audio platform devices
2010-10-22 8:30 [PATCHv2] ASoC: Overhaul Samsung drivers Jassi Brar
` (14 preceding siblings ...)
2010-10-22 8:37 ` [PATCH 15/24] ARM: S5PV210: " Jassi Brar
@ 2010-10-22 8:37 ` Jassi Brar
2010-10-22 8:38 ` [PATCH 17/24] ASoC: SMARTQ: Move to use new I2S driver Jassi Brar
` (8 subsequent siblings)
24 siblings, 0 replies; 31+ messages in thread
From: Jassi Brar @ 2010-10-22 8:37 UTC (permalink / raw)
To: alsa-devel
Cc: kgene.kim, Jassi Brar, broonie, ben-linux, june.bae, lrg, sw.youn
From: Jassi Brar <jassi.brar@samsung.com>
Define platform devices for all audio devices found on S5PV310
Signed-off-by: Jassi Brar <jassi.brar@samsung.com>
---
arch/arm/mach-s5pv310/dev-audio.c | 364 +++++++++++++++++++++++++++++++++++++
1 files changed, 364 insertions(+), 0 deletions(-)
create mode 100644 arch/arm/mach-s5pv310/dev-audio.c
diff --git a/arch/arm/mach-s5pv310/dev-audio.c b/arch/arm/mach-s5pv310/dev-audio.c
new file mode 100644
index 0000000..d69050e
--- /dev/null
+++ b/arch/arm/mach-s5pv310/dev-audio.c
@@ -0,0 +1,364 @@
+/* linux/arch/arm/mach-s5pv310/dev-audio.c
+ *
+ * Copyright (c) 2010 Samsung Electronics Co. Ltd
+ * Jaswinder Singh <jassi.brar@samsung.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+
+#include <linux/platform_device.h>
+#include <linux/dma-mapping.h>
+#include <linux/gpio.h>
+
+#include <plat/gpio-cfg.h>
+#include <plat/audio.h>
+
+#include <mach/map.h>
+#include <mach/dma.h>
+#include <mach/irqs.h>
+
+static const char *rclksrc[] = {
+ [0] = "busclk",
+ [1] = "i2sclk",
+};
+
+static int s5pv310_cfg_i2s(struct platform_device *pdev)
+{
+ /* configure GPIO for i2s port */
+ switch (pdev->id) {
+ case 0:
+ s3c_gpio_cfgpin_range(S5PV310_GPZ(0), 7, S3C_GPIO_SFN(2));
+ break;
+ case 1:
+ s3c_gpio_cfgpin_range(S5PV310_GPC0(0), 5, S3C_GPIO_SFN(2));
+ break;
+ case 2:
+ s3c_gpio_cfgpin_range(S5PV310_GPC1(0), 5, S3C_GPIO_SFN(4));
+ break;
+ default:
+ printk(KERN_ERR "Invalid Device %d\n", pdev->id);
+ return -EINVAL;
+ }
+
+ return 0;
+}
+
+static struct s3c_audio_pdata i2sv5_pdata = {
+ .cfg_gpio = s5pv310_cfg_i2s,
+ .type = {
+ .i2s = {
+ .quirks = QUIRK_PRI_6CHAN | QUIRK_SEC_DAI
+ | QUIRK_NEED_RSTCLR,
+ .src_clk = rclksrc,
+ },
+ },
+};
+
+static struct resource s5pv310_iis0_resource[] = {
+ [0] = {
+ .start = S5PV310_PA_IIS0,
+ .end = S5PV310_PA_IIS0 + 0x100 - 1,
+ .flags = IORESOURCE_MEM,
+ },
+ [1] = {
+ .start = DMACH_I2S0_TX,
+ .end = DMACH_I2S0_TX,
+ .flags = IORESOURCE_DMA,
+ },
+ [2] = {
+ .start = DMACH_I2S0_RX,
+ .end = DMACH_I2S0_RX,
+ .flags = IORESOURCE_DMA,
+ },
+ [3] = {
+ .start = DMACH_I2S0S_TX,
+ .end = DMACH_I2S0S_TX,
+ .flags = IORESOURCE_DMA,
+ },
+};
+
+struct platform_device s5pv310_device_iis0 = {
+ .name = "samsung-i2s",
+ .id = 0,
+ .num_resources = ARRAY_SIZE(s5pv310_iis0_resource),
+ .resource = s5pv310_iis0_resource,
+ .dev = {
+ .platform_data = &i2sv5_pdata,
+ },
+};
+
+static const char *rclksrc_v3[] = {
+ [0] = "sclk_i2s",
+ [1] = "no_such_clock",
+};
+
+static struct s3c_audio_pdata i2sv3_pdata = {
+ .cfg_gpio = s5pv310_cfg_i2s,
+ .type = {
+ .i2s = {
+ .quirks = QUIRK_NO_MUXPSR,
+ .src_clk = rclksrc_v3,
+ },
+ },
+};
+
+static struct resource s5pv310_iis1_resource[] = {
+ [0] = {
+ .start = S5PV310_PA_IIS1,
+ .end = S5PV310_PA_IIS1 + 0x100 - 1,
+ .flags = IORESOURCE_MEM,
+ },
+ [1] = {
+ .start = DMACH_I2S1_TX,
+ .end = DMACH_I2S1_TX,
+ .flags = IORESOURCE_DMA,
+ },
+ [2] = {
+ .start = DMACH_I2S1_RX,
+ .end = DMACH_I2S1_RX,
+ .flags = IORESOURCE_DMA,
+ },
+};
+
+struct platform_device s5pv310_device_iis1 = {
+ .name = "s3c64xx-iis",
+ .id = 1,
+ .num_resources = ARRAY_SIZE(s5pv310_iis1_resource),
+ .resource = s5pv310_iis1_resource,
+ .dev = {
+ .platform_data = &i2sv3_pdata,
+ },
+};
+
+static struct resource s5pv310_iis2_resource[] = {
+ [0] = {
+ .start = S5PV310_PA_IIS2,
+ .end = S5PV310_PA_IIS2 + 0x100 - 1,
+ .flags = IORESOURCE_MEM,
+ },
+ [1] = {
+ .start = DMACH_I2S2_TX,
+ .end = DMACH_I2S2_TX,
+ .flags = IORESOURCE_DMA,
+ },
+ [2] = {
+ .start = DMACH_I2S2_RX,
+ .end = DMACH_I2S2_RX,
+ .flags = IORESOURCE_DMA,
+ },
+};
+
+struct platform_device s5pv310_device_iis2 = {
+ .name = "s3c64xx-iis",
+ .id = 2,
+ .num_resources = ARRAY_SIZE(s5pv310_iis2_resource),
+ .resource = s5pv310_iis2_resource,
+ .dev = {
+ .platform_data = &i2sv3_pdata,
+ },
+};
+
+/* PCM Controller platform_devices */
+
+static int s5pv310_pcm_cfg_gpio(struct platform_device *pdev)
+{
+ switch (pdev->id) {
+ case 0:
+ s3c_gpio_cfgpin_range(S5PV310_GPZ(0), 5, S3C_GPIO_SFN(3));
+ break;
+ case 1:
+ s3c_gpio_cfgpin_range(S5PV310_GPC0(0), 5, S3C_GPIO_SFN(3));
+ break;
+ case 2:
+ s3c_gpio_cfgpin_range(S5PV310_GPC1(0), 5, S3C_GPIO_SFN(3));
+ break;
+ default:
+ printk(KERN_DEBUG "Invalid PCM Controller number!");
+ return -EINVAL;
+ }
+
+ return 0;
+}
+
+static struct s3c_audio_pdata s3c_pcm_pdata = {
+ .cfg_gpio = s5pv310_pcm_cfg_gpio,
+};
+
+static struct resource s5pv310_pcm0_resource[] = {
+ [0] = {
+ .start = S5PV310_PA_PCM0,
+ .end = S5PV310_PA_PCM0 + 0x100 - 1,
+ .flags = IORESOURCE_MEM,
+ },
+ [1] = {
+ .start = DMACH_PCM0_TX,
+ .end = DMACH_PCM0_TX,
+ .flags = IORESOURCE_DMA,
+ },
+ [2] = {
+ .start = DMACH_PCM0_RX,
+ .end = DMACH_PCM0_RX,
+ .flags = IORESOURCE_DMA,
+ },
+};
+
+struct platform_device s5pv310_device_pcm0 = {
+ .name = "samsung-pcm",
+ .id = 0,
+ .num_resources = ARRAY_SIZE(s5pv310_pcm0_resource),
+ .resource = s5pv310_pcm0_resource,
+ .dev = {
+ .platform_data = &s3c_pcm_pdata,
+ },
+};
+
+static struct resource s5pv310_pcm1_resource[] = {
+ [0] = {
+ .start = S5PV310_PA_PCM1,
+ .end = S5PV310_PA_PCM1 + 0x100 - 1,
+ .flags = IORESOURCE_MEM,
+ },
+ [1] = {
+ .start = DMACH_PCM1_TX,
+ .end = DMACH_PCM1_TX,
+ .flags = IORESOURCE_DMA,
+ },
+ [2] = {
+ .start = DMACH_PCM1_RX,
+ .end = DMACH_PCM1_RX,
+ .flags = IORESOURCE_DMA,
+ },
+};
+
+struct platform_device s5pv310_device_pcm1 = {
+ .name = "samsung-pcm",
+ .id = 1,
+ .num_resources = ARRAY_SIZE(s5pv310_pcm1_resource),
+ .resource = s5pv310_pcm1_resource,
+ .dev = {
+ .platform_data = &s3c_pcm_pdata,
+ },
+};
+
+static struct resource s5pv310_pcm2_resource[] = {
+ [0] = {
+ .start = S5PV310_PA_PCM2,
+ .end = S5PV310_PA_PCM2 + 0x100 - 1,
+ .flags = IORESOURCE_MEM,
+ },
+ [1] = {
+ .start = DMACH_PCM2_TX,
+ .end = DMACH_PCM2_TX,
+ .flags = IORESOURCE_DMA,
+ },
+ [2] = {
+ .start = DMACH_PCM2_RX,
+ .end = DMACH_PCM2_RX,
+ .flags = IORESOURCE_DMA,
+ },
+};
+
+struct platform_device s5pv310_device_pcm2 = {
+ .name = "samsung-pcm",
+ .id = 2,
+ .num_resources = ARRAY_SIZE(s5pv310_pcm2_resource),
+ .resource = s5pv310_pcm2_resource,
+ .dev = {
+ .platform_data = &s3c_pcm_pdata,
+ },
+};
+
+/* AC97 Controller platform devices */
+
+static int s5pv310_ac97_cfg_gpio(struct platform_device *pdev)
+{
+ return s3c_gpio_cfgpin_range(S5PV310_GPC0(0), 5, S3C_GPIO_SFN(4));
+}
+
+static struct resource s5pv310_ac97_resource[] = {
+ [0] = {
+ .start = S5PV310_PA_AC97,
+ .end = S5PV310_PA_AC97 + 0x100 - 1,
+ .flags = IORESOURCE_MEM,
+ },
+ [1] = {
+ .start = DMACH_AC97_PCMOUT,
+ .end = DMACH_AC97_PCMOUT,
+ .flags = IORESOURCE_DMA,
+ },
+ [2] = {
+ .start = DMACH_AC97_PCMIN,
+ .end = DMACH_AC97_PCMIN,
+ .flags = IORESOURCE_DMA,
+ },
+ [3] = {
+ .start = DMACH_AC97_MICIN,
+ .end = DMACH_AC97_MICIN,
+ .flags = IORESOURCE_DMA,
+ },
+ [4] = {
+ .start = IRQ_AC97,
+ .end = IRQ_AC97,
+ .flags = IORESOURCE_IRQ,
+ },
+};
+
+static struct s3c_audio_pdata s3c_ac97_pdata = {
+ .cfg_gpio = s5pv310_ac97_cfg_gpio,
+};
+
+static u64 s5pv310_ac97_dmamask = DMA_BIT_MASK(32);
+
+struct platform_device s5pv310_device_ac97 = {
+ .name = "s3c-ac97",
+ .id = -1,
+ .num_resources = ARRAY_SIZE(s5pv310_ac97_resource),
+ .resource = s5pv310_ac97_resource,
+ .dev = {
+ .platform_data = &s3c_ac97_pdata,
+ .dma_mask = &s5pv310_ac97_dmamask,
+ .coherent_dma_mask = DMA_BIT_MASK(32),
+ },
+};
+
+/* S/PDIF Controller platform_device */
+
+static int s5pv310_spdif_cfg_gpio(struct platform_device *pdev)
+{
+ s3c_gpio_cfgpin_range(S5PV310_GPC1(0), 2, S3C_GPIO_SFN(3));
+
+ return 0;
+}
+
+static struct resource s5pv310_spdif_resource[] = {
+ [0] = {
+ .start = S5PV310_PA_SPDIF,
+ .end = S5PV310_PA_SPDIF + 0x100 - 1,
+ .flags = IORESOURCE_MEM,
+ },
+ [1] = {
+ .start = DMACH_SPDIF,
+ .end = DMACH_SPDIF,
+ .flags = IORESOURCE_DMA,
+ },
+};
+
+static struct s3c_audio_pdata samsung_spdif_pdata = {
+ .cfg_gpio = s5pv310_spdif_cfg_gpio,
+};
+
+static u64 s5pv310_spdif_dmamask = DMA_BIT_MASK(32);
+
+struct platform_device s5pv310_device_spdif = {
+ .name = "samsung-spdif",
+ .id = -1,
+ .num_resources = ARRAY_SIZE(s5pv310_spdif_resource),
+ .resource = s5pv310_spdif_resource,
+ .dev = {
+ .platform_data = &samsung_spdif_pdata,
+ .dma_mask = &s5pv310_spdif_dmamask,
+ .coherent_dma_mask = DMA_BIT_MASK(32),
+ },
+};
--
1.6.2.5
^ permalink raw reply related [flat|nested] 31+ messages in thread* [PATCH 17/24] ASoC: SMARTQ: Move to use new I2S driver
2010-10-22 8:30 [PATCHv2] ASoC: Overhaul Samsung drivers Jassi Brar
` (15 preceding siblings ...)
2010-10-22 8:37 ` [PATCH 16/24] ARM: S5PV310: Add audio platform devices Jassi Brar
@ 2010-10-22 8:38 ` Jassi Brar
2010-10-22 8:39 ` [PATCH 18/24] ASoC: GONI: " Jassi Brar
` (7 subsequent siblings)
24 siblings, 0 replies; 31+ messages in thread
From: Jassi Brar @ 2010-10-22 8:38 UTC (permalink / raw)
To: alsa-devel
Cc: kgene.kim, Jassi Brar, broonie, mcuelenaere, ben-linux, june.bae,
lrg, sw.youn
From: Jassi Brar <jassi.brar@samsung.com>
Modify the smartq_wm8987.c to use new i2s controller driver.
Signed-off-by: Jassi Brar <jassi.brar@samsung.com>
---
sound/soc/s3c24xx/Kconfig | 2 +-
sound/soc/s3c24xx/smartq_wm8987.c | 25 +++++++++++--------------
2 files changed, 12 insertions(+), 15 deletions(-)
diff --git a/sound/soc/s3c24xx/Kconfig b/sound/soc/s3c24xx/Kconfig
index 20fe288..e7fad53 100644
--- a/sound/soc/s3c24xx/Kconfig
+++ b/sound/soc/s3c24xx/Kconfig
@@ -144,7 +144,7 @@ config SND_SOC_SMDK_WM9713
config SND_S3C64XX_SOC_SMARTQ
tristate "SoC I2S Audio support for SmartQ board"
depends on SND_S3C24XX_SOC && MACH_SMARTQ
- select SND_S3C64XX_SOC_I2S
+ select SND_SAMSUNG_I2S
select SND_SOC_WM8750
config SND_SOC_GONI_AQUILA_WM8994
diff --git a/sound/soc/s3c24xx/smartq_wm8987.c b/sound/soc/s3c24xx/smartq_wm8987.c
index 1d55312..5fcc420 100644
--- a/sound/soc/s3c24xx/smartq_wm8987.c
+++ b/sound/soc/s3c24xx/smartq_wm8987.c
@@ -25,7 +25,7 @@
#include <asm/mach-types.h>
#include "dma.h"
-#include "s3c64xx-i2s.h"
+#include "i2s.h"
#include "../codecs/wm8750.h"
@@ -41,13 +41,9 @@ static int smartq_hifi_hw_params(struct snd_pcm_substream *substream,
struct snd_soc_pcm_runtime *rtd = substream->private_data;
struct snd_soc_dai *codec_dai = rtd->dai->codec_dai;
struct snd_soc_dai *cpu_dai = rtd->dai->cpu_dai;
- struct s3c_i2sv2_rate_calc div;
unsigned int clk = 0;
int ret;
- s3c_i2sv2_iis_calc_rate(&div, NULL, params_rate(params),
- s3c_i2sv2_get_clock(cpu_dai));
-
switch (params_rate(params)) {
case 8000:
case 16000:
@@ -78,20 +74,21 @@ static int smartq_hifi_hw_params(struct snd_pcm_substream *substream,
if (ret < 0)
return ret;
- /* set the codec system clock for DAC and ADC */
- ret = snd_soc_dai_set_sysclk(codec_dai, WM8750_SYSCLK, clk,
- SND_SOC_CLOCK_IN);
+ /* Use PCLK for I2S signal generation */
+ ret = snd_soc_dai_set_sysclk(cpu_dai, SAMSUNG_I2S_RCLKSRC_0,
+ 0, SND_SOC_CLOCK_IN);
if (ret < 0)
return ret;
- /* set MCLK division for sample rate */
- ret = snd_soc_dai_set_clkdiv(cpu_dai, S3C_I2SV2_DIV_RCLK, div.fs_div);
+ /* Gate the RCLK output on PAD */
+ ret = snd_soc_dai_set_sysclk(cpu_dai, SAMSUNG_I2S_CDCLK,
+ 0, SND_SOC_CLOCK_IN);
if (ret < 0)
return ret;
- /* set prescaler division for sample rate */
- ret = snd_soc_dai_set_clkdiv(cpu_dai, S3C_I2SV2_DIV_PRESCALER,
- div.clk_div - 1);
+ /* set the codec system clock for DAC and ADC */
+ ret = snd_soc_dai_set_sysclk(codec_dai, WM8750_SYSCLK, clk,
+ SND_SOC_CLOCK_IN);
if (ret < 0)
return ret;
@@ -211,7 +208,7 @@ static struct snd_soc_dai_link smartq_dai[] = {
{
.name = "wm8987",
.stream_name = "SmartQ Hi-Fi",
- .cpu_dai_name = "s3c64xx-i2s.0",
+ .cpu_dai_name = "samsung-i2s.0",
.codec_dai_name = "wm8750-hifi",
.platform_name = "samsung-audio",
.codec_name = "wm8750-codec.0-0x1a",
--
1.6.2.5
^ permalink raw reply related [flat|nested] 31+ messages in thread* [PATCH 18/24] ASoC: GONI: Move to use new I2S driver
2010-10-22 8:30 [PATCHv2] ASoC: Overhaul Samsung drivers Jassi Brar
` (16 preceding siblings ...)
2010-10-22 8:38 ` [PATCH 17/24] ASoC: SMARTQ: Move to use new I2S driver Jassi Brar
@ 2010-10-22 8:39 ` Jassi Brar
2010-10-22 8:39 ` [PATCH 19/24] ASoC: SMDK64XX: " Jassi Brar
` (6 subsequent siblings)
24 siblings, 0 replies; 31+ messages in thread
From: Jassi Brar @ 2010-10-22 8:39 UTC (permalink / raw)
To: alsa-devel
Cc: kgene.kim, Jassi Brar, broonie, cw00.choi, ben-linux, june.bae,
lrg, sw.youn
From: Jassi Brar <jassi.brar@samsung.com>
Modify the goni_wm8994.c to use new i2s controller driver.
Signed-off-by: Jassi Brar <jassi.brar@samsung.com>
---
sound/soc/s3c24xx/Kconfig | 2 +-
sound/soc/s3c24xx/goni_wm8994.c | 10 ++--------
2 files changed, 3 insertions(+), 9 deletions(-)
diff --git a/sound/soc/s3c24xx/Kconfig b/sound/soc/s3c24xx/Kconfig
index e7fad53..f12e7c8 100644
--- a/sound/soc/s3c24xx/Kconfig
+++ b/sound/soc/s3c24xx/Kconfig
@@ -150,7 +150,7 @@ config SND_S3C64XX_SOC_SMARTQ
config SND_SOC_GONI_AQUILA_WM8994
tristate "SoC I2S Audio support for AQUILA/GONI - WM8994"
depends on SND_S3C24XX_SOC && (MACH_GONI || MACH_AQUILA)
- select SND_S3C64XX_SOC_I2S_V4
+ select SND_SAMSUNG_I2S
select SND_SOC_WM8994
help
Say Y if you want to add support for SoC audio on goni or aquila
diff --git a/sound/soc/s3c24xx/goni_wm8994.c b/sound/soc/s3c24xx/goni_wm8994.c
index 201056c..dcaf7c3 100644
--- a/sound/soc/s3c24xx/goni_wm8994.c
+++ b/sound/soc/s3c24xx/goni_wm8994.c
@@ -26,7 +26,7 @@
#include <linux/mfd/wm8994/registers.h>
#include "../codecs/wm8994.h"
#include "dma.h"
-#include "s3c64xx-i2s.h"
+#include "i2s.h"
#define MACHINE_NAME 0
#define CPU_VOICE_DAI 1
@@ -163,12 +163,6 @@ static int goni_hifi_hw_params(struct snd_pcm_substream *substream,
if (ret < 0)
return ret;
- /* set the cpu system clock */
- ret = snd_soc_dai_set_sysclk(cpu_dai, S3C64XX_CLKSRC_PCLK,
- 0, SND_SOC_CLOCK_IN);
- if (ret < 0)
- return ret;
-
/* set codec DAI configuration */
ret = snd_soc_dai_set_fmt(codec_dai, SND_SOC_DAIFMT_I2S |
SND_SOC_DAIFMT_NB_NF | SND_SOC_DAIFMT_CBM_CFM);
@@ -249,7 +243,7 @@ static struct snd_soc_dai_link goni_dai[] = {
{
.name = "WM8994",
.stream_name = "WM8994 HiFi",
- .cpu_dai_name = "s3c64xx-i2s-v4",
+ .cpu_dai_name = "samsung-i2s.0",
.codec_dai_name = "wm8994-hifi",
.platform_name = "samsung-audio",
.codec_name = "wm8994-codec.0-0x1a",
--
1.6.2.5
^ permalink raw reply related [flat|nested] 31+ messages in thread* [PATCH 19/24] ASoC: SMDK64XX: Move to use new I2S driver
2010-10-22 8:30 [PATCHv2] ASoC: Overhaul Samsung drivers Jassi Brar
` (17 preceding siblings ...)
2010-10-22 8:39 ` [PATCH 18/24] ASoC: GONI: " Jassi Brar
@ 2010-10-22 8:39 ` Jassi Brar
2010-10-22 8:39 ` [PATCH 20/24] ASoC: S3C64XX: Remove obsoleted I2S drivers Jassi Brar
` (5 subsequent siblings)
24 siblings, 0 replies; 31+ messages in thread
From: Jassi Brar @ 2010-10-22 8:39 UTC (permalink / raw)
To: alsa-devel
Cc: kgene.kim, Jassi Brar, broonie, ben-linux, june.bae, lrg, sw.youn
From: Jassi Brar <jassi.brar@samsung.com>
Modify the smdk64xx_wm8580.c to use new i2s controller driver.
Signed-off-by: Jassi Brar <jassi.brar@samsung.com>
---
sound/soc/s3c24xx/Kconfig | 2 +-
sound/soc/s3c24xx/smdk64xx_wm8580.c | 25 +++----------------------
2 files changed, 4 insertions(+), 23 deletions(-)
diff --git a/sound/soc/s3c24xx/Kconfig b/sound/soc/s3c24xx/Kconfig
index f12e7c8..085a7b0 100644
--- a/sound/soc/s3c24xx/Kconfig
+++ b/sound/soc/s3c24xx/Kconfig
@@ -73,7 +73,7 @@ config SND_S3C64XX_SOC_WM8580
tristate "SoC I2S Audio support for WM8580 on SMDK64XX"
depends on SND_S3C24XX_SOC && MACH_SMDK6410
select SND_SOC_WM8580
- select SND_S3C64XX_SOC_I2S_V4
+ select SND_SAMSUNG_I2S
help
Say Y if you want to add support for SoC audio on the SMDK6410.
diff --git a/sound/soc/s3c24xx/smdk64xx_wm8580.c b/sound/soc/s3c24xx/smdk64xx_wm8580.c
index 1d59317..5f51db0 100644
--- a/sound/soc/s3c24xx/smdk64xx_wm8580.c
+++ b/sound/soc/s3c24xx/smdk64xx_wm8580.c
@@ -20,7 +20,7 @@
#include "../codecs/wm8580.h"
#include "dma.h"
-#include "s3c64xx-i2s.h"
+#include "i2s.h"
/*
* Default CFG switch settings to use this driver:
@@ -96,17 +96,6 @@ static int smdk64xx_hw_params(struct snd_pcm_substream *substream,
if (ret < 0)
return ret;
- ret = snd_soc_dai_set_sysclk(cpu_dai, S3C64XX_CLKSRC_CDCLK,
- 0, SND_SOC_CLOCK_IN);
- if (ret < 0)
- return ret;
-
- /* We use PCLK for basic ops in SoC-Slave mode */
- ret = snd_soc_dai_set_sysclk(cpu_dai, S3C64XX_CLKSRC_PCLK,
- 0, SND_SOC_CLOCK_IN);
- if (ret < 0)
- return ret;
-
/* Set WM8580 to drive MCLK from its PLLA */
ret = snd_soc_dai_set_clkdiv(codec_dai, WM8580_MCLK,
WM8580_CLKSRC_PLLA);
@@ -123,14 +112,6 @@ static int smdk64xx_hw_params(struct snd_pcm_substream *substream,
if (ret < 0)
return ret;
- ret = snd_soc_dai_set_clkdiv(cpu_dai, S3C_I2SV2_DIV_BCLK, bfs);
- if (ret < 0)
- return ret;
-
- ret = snd_soc_dai_set_clkdiv(cpu_dai, S3C_I2SV2_DIV_RCLK, rfs);
- if (ret < 0)
- return ret;
-
return 0;
}
@@ -222,7 +203,7 @@ static struct snd_soc_dai_link smdk64xx_dai[] = {
{ /* Primary Playback i/f */
.name = "WM8580 PAIF RX",
.stream_name = "Playback",
- .cpu_dai_name = "samsung-i2s-v4",
+ .cpu_dai_name = "samsung-i2s.2",
.codec_dai_name = "wm8580-hifi-playback",
.platform_name = "samsung-audio",
.codec_name = "wm8580-codec.0-001b",
@@ -232,7 +213,7 @@ static struct snd_soc_dai_link smdk64xx_dai[] = {
{ /* Primary Capture i/f */
.name = "WM8580 PAIF TX",
.stream_name = "Capture",
- .cpu_dai_name = "samsung-i2s-v4",
+ .cpu_dai_name = "samsung-i2s.2",
.codec_dai_name = "wm8580-hifi-capture",
.platform_name = "samsung-audio",
.codec_name = "wm8580-codec.0-001b",
--
1.6.2.5
^ permalink raw reply related [flat|nested] 31+ messages in thread* [PATCH 20/24] ASoC: S3C64XX: Remove obsoleted I2S drivers
2010-10-22 8:30 [PATCHv2] ASoC: Overhaul Samsung drivers Jassi Brar
` (18 preceding siblings ...)
2010-10-22 8:39 ` [PATCH 19/24] ASoC: SMDK64XX: " Jassi Brar
@ 2010-10-22 8:39 ` Jassi Brar
2010-10-22 8:39 ` [PATCH 21/24] ASoC: SMDK64XX: Rename for other platforms Jassi Brar
` (4 subsequent siblings)
24 siblings, 0 replies; 31+ messages in thread
From: Jassi Brar @ 2010-10-22 8:39 UTC (permalink / raw)
To: alsa-devel
Cc: kgene.kim, Jassi Brar, broonie, ben-linux, june.bae, lrg, sw.youn
From: Jassi Brar <jassi.brar@samsung.com>
Now that we have better I2S CPU drivers and no need for the old
ones, discard them.
Signed-off-by: Jassi Brar <jassi.brar@samsung.com>
---
sound/soc/s3c24xx/Kconfig | 10 --
sound/soc/s3c24xx/Makefile | 4 -
sound/soc/s3c24xx/s3c64xx-i2s-v4.c | 230 ----------------------------------
sound/soc/s3c24xx/s3c64xx-i2s.c | 242 ------------------------------------
sound/soc/s3c24xx/s3c64xx-i2s.h | 41 ------
5 files changed, 0 insertions(+), 527 deletions(-)
delete mode 100644 sound/soc/s3c24xx/s3c64xx-i2s-v4.c
delete mode 100644 sound/soc/s3c24xx/s3c64xx-i2s.c
delete mode 100644 sound/soc/s3c24xx/s3c64xx-i2s.h
diff --git a/sound/soc/s3c24xx/Kconfig b/sound/soc/s3c24xx/Kconfig
index 085a7b0..32f1877 100644
--- a/sound/soc/s3c24xx/Kconfig
+++ b/sound/soc/s3c24xx/Kconfig
@@ -19,16 +19,6 @@ config SND_S3C2412_SOC_I2S
select SND_S3C_I2SV2_SOC
select S3C2410_DMA
-config SND_S3C64XX_SOC_I2S
- tristate
- select SND_S3C_I2SV2_SOC
- select S3C64XX_DMA
-
-config SND_S3C64XX_SOC_I2S_V4
- tristate
- select SND_S3C_I2SV2_SOC
- select S3C64XX_DMA
-
config SND_S3C_SOC_PCM
tristate
diff --git a/sound/soc/s3c24xx/Makefile b/sound/soc/s3c24xx/Makefile
index 1d6fc07..dac41ee 100644
--- a/sound/soc/s3c24xx/Makefile
+++ b/sound/soc/s3c24xx/Makefile
@@ -2,9 +2,7 @@
snd-soc-s3c24xx-objs := dma.o
snd-soc-s3c24xx-i2s-objs := s3c24xx-i2s.o
snd-soc-s3c2412-i2s-objs := s3c2412-i2s.o
-snd-soc-s3c64xx-i2s-objs := s3c64xx-i2s.o
snd-soc-ac97-objs := ac97.o
-snd-soc-s3c64xx-i2s-v4-objs := s3c64xx-i2s-v4.o
snd-soc-s3c-i2s-v2-objs := s3c-i2s-v2.o
snd-soc-samsung-spdif-objs := spdif.o
snd-soc-pcm-objs := pcm.o
@@ -14,8 +12,6 @@ obj-$(CONFIG_SND_S3C24XX_SOC) += snd-soc-s3c24xx.o
obj-$(CONFIG_SND_S3C24XX_SOC_I2S) += snd-soc-s3c24xx-i2s.o
obj-$(CONFIG_SND_S3C_SOC_AC97) += snd-soc-ac97.o
obj-$(CONFIG_SND_S3C2412_SOC_I2S) += snd-soc-s3c2412-i2s.o
-obj-$(CONFIG_SND_S3C64XX_SOC_I2S) += snd-soc-s3c64xx-i2s.o
-obj-$(CONFIG_SND_S3C64XX_SOC_I2S_V4) += snd-soc-s3c64xx-i2s-v4.o
obj-$(CONFIG_SND_S3C_I2SV2_SOC) += snd-soc-s3c-i2s-v2.o
obj-$(CONFIG_SND_S5P_SOC_SPDIF) += snd-soc-samsung-spdif.o
obj-$(CONFIG_SND_S3C_SOC_PCM) += snd-soc-pcm.o
diff --git a/sound/soc/s3c24xx/s3c64xx-i2s-v4.c b/sound/soc/s3c24xx/s3c64xx-i2s-v4.c
deleted file mode 100644
index 8a08041..0000000
--- a/sound/soc/s3c24xx/s3c64xx-i2s-v4.c
+++ /dev/null
@@ -1,230 +0,0 @@
-/* sound/soc/s3c24xx/s3c64xx-i2s-v4.c
- *
- * ALSA SoC Audio Layer - S3C64XX I2Sv4 driver
- * Copyright (c) 2010 Samsung Electronics Co. Ltd
- * Author: Jaswinder Singh <jassi.brar@samsung.com>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- */
-
-#include <linux/clk.h>
-#include <linux/gpio.h>
-#include <linux/io.h>
-
-#include <sound/soc.h>
-#include <sound/pcm_params.h>
-
-#include <plat/audio.h>
-
-#include <mach/map.h>
-#include <mach/dma.h>
-
-#include "dma.h"
-#include "regs-i2s-v2.h"
-#include "s3c64xx-i2s.h"
-
-static struct s3c2410_dma_client s3c64xx_dma_client_out = {
- .name = "I2Sv4 PCM Stereo out"
-};
-
-static struct s3c2410_dma_client s3c64xx_dma_client_in = {
- .name = "I2Sv4 PCM Stereo in"
-};
-
-static struct s3c_dma_params s3c64xx_i2sv4_pcm_stereo_out;
-static struct s3c_dma_params s3c64xx_i2sv4_pcm_stereo_in;
-static struct s3c_i2sv2_info s3c64xx_i2sv4;
-
-static int s3c64xx_i2sv4_probe(struct snd_soc_dai *dai)
-{
- struct s3c_i2sv2_info *i2s = &s3c64xx_i2sv4;
- int ret = 0;
-
- snd_soc_dai_set_drvdata(dai, i2s);
-
- ret = s3c_i2sv2_probe(dai, i2s, i2s->base);
-
- return ret;
-}
-
-static int s3c_i2sv4_hw_params(struct snd_pcm_substream *substream,
- struct snd_pcm_hw_params *params,
- struct snd_soc_dai *cpu_dai)
-{
- struct s3c_i2sv2_info *i2s = snd_soc_dai_get_drvdata(cpu_dai);
- struct s3c_dma_params *dma_data;
- u32 iismod;
-
- dev_dbg(cpu_dai->dev, "Entered %s\n", __func__);
-
- if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK)
- dma_data = i2s->dma_playback;
- else
- dma_data = i2s->dma_capture;
-
- snd_soc_dai_set_dma_data(cpu_dai, substream, dma_data);
-
- iismod = readl(i2s->regs + S3C2412_IISMOD);
- dev_dbg(cpu_dai->dev, "%s: r: IISMOD: %x\n", __func__, iismod);
-
- iismod &= ~S3C64XX_IISMOD_BLC_MASK;
- switch (params_format(params)) {
- case SNDRV_PCM_FORMAT_S8:
- iismod |= S3C64XX_IISMOD_BLC_8BIT;
- break;
- case SNDRV_PCM_FORMAT_S16_LE:
- break;
- case SNDRV_PCM_FORMAT_S24_LE:
- iismod |= S3C64XX_IISMOD_BLC_24BIT;
- break;
- }
-
- writel(iismod, i2s->regs + S3C2412_IISMOD);
- dev_dbg(cpu_dai->dev, "%s: w: IISMOD: %x\n", __func__, iismod);
-
- return 0;
-}
-
-static struct snd_soc_dai_ops s3c64xx_i2sv4_dai_ops = {
- .hw_params = s3c_i2sv4_hw_params,
-};
-
-static struct snd_soc_dai_driver s3c64xx_i2s_v4_dai = {
- .symmetric_rates = 1,
- .playback = {
- .channels_min = 2,
- .channels_max = 2,
- .rates = S3C64XX_I2S_RATES,
- .formats = S3C64XX_I2S_FMTS,
- },
- .capture = {
- .channels_min = 2,
- .channels_max = 2,
- .rates = S3C64XX_I2S_RATES,
- .formats = S3C64XX_I2S_FMTS,
- },
- .probe = s3c64xx_i2sv4_probe,
- .ops = &s3c64xx_i2sv4_dai_ops,
-};
-
-static __devinit int s3c64xx_i2sv4_dev_probe(struct platform_device *pdev)
-{
- struct s3c_audio_pdata *i2s_pdata;
- struct s3c_i2sv2_info *i2s;
- struct resource *res;
- int ret;
-
- i2s = &s3c64xx_i2sv4;
-
- i2s->feature |= S3C_FEATURE_CDCLKCON;
-
- i2s->dma_capture = &s3c64xx_i2sv4_pcm_stereo_in;
- i2s->dma_playback = &s3c64xx_i2sv4_pcm_stereo_out;
-
- res = platform_get_resource(pdev, IORESOURCE_DMA, 0);
- if (!res) {
- dev_err(&pdev->dev, "Unable to get I2S-TX dma resource\n");
- return -ENXIO;
- }
- i2s->dma_playback->channel = res->start;
-
- res = platform_get_resource(pdev, IORESOURCE_DMA, 1);
- if (!res) {
- dev_err(&pdev->dev, "Unable to get I2S-RX dma resource\n");
- return -ENXIO;
- }
- i2s->dma_capture->channel = res->start;
-
- res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
- if (!res) {
- dev_err(&pdev->dev, "Unable to get I2S SFR address\n");
- return -ENXIO;
- }
-
- if (!request_mem_region(res->start, resource_size(res),
- "s3c64xx-i2s-v4")) {
- dev_err(&pdev->dev, "Unable to request SFR region\n");
- return -EBUSY;
- }
- i2s->dma_capture->dma_addr = res->start + S3C2412_IISRXD;
- i2s->dma_playback->dma_addr = res->start + S3C2412_IISTXD;
-
- i2s->dma_capture->client = &s3c64xx_dma_client_in;
- i2s->dma_capture->dma_size = 4;
- i2s->dma_playback->client = &s3c64xx_dma_client_out;
- i2s->dma_playback->dma_size = 4;
-
- i2s->base = res->start;
-
- i2s_pdata = pdev->dev.platform_data;
- if (i2s_pdata && i2s_pdata->cfg_gpio && i2s_pdata->cfg_gpio(pdev)) {
- dev_err(&pdev->dev, "Unable to configure gpio\n");
- return -EINVAL;
- }
-
- i2s->iis_cclk = clk_get(&pdev->dev, "audio-bus");
- if (IS_ERR(i2s->iis_cclk)) {
- dev_err(&pdev->dev, "failed to get audio-bus\n");
- ret = PTR_ERR(i2s->iis_cclk);
- goto err;
- }
-
- clk_enable(i2s->iis_cclk);
-
- ret = s3c_i2sv2_register_dai(&pdev->dev, pdev->id, &s3c64xx_i2s_v4_dai);
- if (ret != 0)
- goto err_i2sv2;
-
- return 0;
-
-err_i2sv2:
- clk_put(i2s->iis_cclk);
-err:
- return ret;
-}
-
-static __devexit int s3c64xx_i2sv4_dev_remove(struct platform_device *pdev)
-{
- struct s3c_i2sv2_info *i2s = &s3c64xx_i2sv4;
- struct resource *res;
-
- snd_soc_unregister_dai(&pdev->dev);
- clk_put(i2s->iis_cclk);
-
- res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
- if (res)
- release_mem_region(res->start, resource_size(res));
- else
- dev_warn(&pdev->dev, "Unable to get I2S SFR address\n");
-
- return 0;
-}
-
-static struct platform_driver s3c64xx_i2sv4_driver = {
- .probe = s3c64xx_i2sv4_dev_probe,
- .remove = s3c64xx_i2sv4_dev_remove,
- .driver = {
- .name = "samsung-i2s-v4",
- .owner = THIS_MODULE,
- },
-};
-
-static int __init s3c64xx_i2sv4_init(void)
-{
- return platform_driver_register(&s3c64xx_i2sv4_driver);
-}
-module_init(s3c64xx_i2sv4_init);
-
-static void __exit s3c64xx_i2sv4_exit(void)
-{
- platform_driver_unregister(&s3c64xx_i2sv4_driver);
-}
-module_exit(s3c64xx_i2sv4_exit);
-
-/* Module information */
-MODULE_AUTHOR("Jaswinder Singh, <jassi.brar@samsung.com>");
-MODULE_DESCRIPTION("S3C64XX I2Sv4 SoC Interface");
-MODULE_LICENSE("GPL");
-MODULE_ALIAS("platform:samsung-i2s-v4");
diff --git a/sound/soc/s3c24xx/s3c64xx-i2s.c b/sound/soc/s3c24xx/s3c64xx-i2s.c
deleted file mode 100644
index 0fefbb5..0000000
--- a/sound/soc/s3c24xx/s3c64xx-i2s.c
+++ /dev/null
@@ -1,242 +0,0 @@
-/* sound/soc/s3c24xx/s3c64xx-i2s.c
- *
- * ALSA SoC Audio Layer - S3C64XX I2S driver
- *
- * Copyright 2008 Openmoko, Inc.
- * Copyright 2008 Simtec Electronics
- * Ben Dooks <ben@simtec.co.uk>
- * http://armlinux.simtec.co.uk/
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- */
-
-#include <linux/module.h>
-#include <linux/clk.h>
-#include <linux/gpio.h>
-#include <linux/io.h>
-#include <linux/slab.h>
-
-#include <sound/soc.h>
-
-#include <plat/audio.h>
-
-#include <mach/map.h>
-#include <mach/dma.h>
-
-#include "dma.h"
-#include "regs-i2s-v2.h"
-#include "s3c64xx-i2s.h"
-
-/* The value should be set to maximum of the total number
- * of I2Sv3 controllers that any supported SoC has.
- */
-#define MAX_I2SV3 2
-
-static struct s3c2410_dma_client s3c64xx_dma_client_out = {
- .name = "I2S PCM Stereo out"
-};
-
-static struct s3c2410_dma_client s3c64xx_dma_client_in = {
- .name = "I2S PCM Stereo in"
-};
-
-static struct s3c_dma_params s3c64xx_i2s_pcm_stereo_out[MAX_I2SV3];
-static struct s3c_dma_params s3c64xx_i2s_pcm_stereo_in[MAX_I2SV3];
-static struct s3c_i2sv2_info s3c64xx_i2s[MAX_I2SV3];
-
-struct clk *s3c64xx_i2s_get_clock(struct snd_soc_dai *dai)
-{
- struct s3c_i2sv2_info *i2s = snd_soc_dai_get_drvdata(dai);
- u32 iismod = readl(i2s->regs + S3C2412_IISMOD);
-
- if (iismod & S3C2412_IISMOD_IMS_SYSMUX)
- return i2s->iis_cclk;
- else
- return i2s->iis_pclk;
-}
-EXPORT_SYMBOL_GPL(s3c64xx_i2s_get_clock);
-
-static int s3c64xx_i2s_probe(struct snd_soc_dai *dai)
-{
- struct s3c_i2sv2_info *i2s;
- int ret;
-
- if (dai->id >= MAX_I2SV3) {
- dev_err(dai->dev, "id %d out of range\n", dai->id);
- return -EINVAL;
- }
-
- i2s = &s3c64xx_i2s[dai->id];
- snd_soc_dai_set_drvdata(dai, i2s);
-
- i2s->iis_cclk = clk_get(dai->dev, "audio-bus");
- if (IS_ERR(i2s->iis_cclk)) {
- dev_err(dai->dev, "failed to get audio-bus\n");
- ret = PTR_ERR(i2s->iis_cclk);
- goto err;
- }
-
- clk_enable(i2s->iis_cclk);
-
- ret = s3c_i2sv2_probe(dai, i2s, i2s->base);
- if (ret)
- goto err_clk;
-
- return 0;
-
-err_clk:
- clk_disable(i2s->iis_cclk);
- clk_put(i2s->iis_cclk);
-err:
- kfree(i2s);
- return ret;
-}
-
-static int s3c64xx_i2s_remove(struct snd_soc_dai *dai)
-{
- struct s3c_i2sv2_info *i2s = snd_soc_dai_get_drvdata(dai);
-
- clk_disable(i2s->iis_cclk);
- clk_put(i2s->iis_cclk);
- kfree(i2s);
- return 0;
-}
-
-static struct snd_soc_dai_ops s3c64xx_i2s_dai_ops;
-
-static struct snd_soc_dai_driver s3c64xx_i2s_dai[MAX_I2SV3] = {
-{
- .name = "s3c64xx-i2s-0",
- .probe = s3c64xx_i2s_probe,
- .remove = s3c64xx_i2s_remove,
- .playback = {
- .channels_min = 2,
- .channels_max = 2,
- .rates = S3C64XX_I2S_RATES,
- .formats = S3C64XX_I2S_FMTS,},
- .capture = {
- .channels_min = 2,
- .channels_max = 2,
- .rates = S3C64XX_I2S_RATES,
- .formats = S3C64XX_I2S_FMTS,},
- .ops = &s3c64xx_i2s_dai_ops,
- .symmetric_rates = 1,
-}, {
- .name = "s3c64xx-i2s-1",
- .probe = s3c64xx_i2s_probe,
- .remove = s3c64xx_i2s_remove,
- .playback = {
- .channels_min = 2,
- .channels_max = 2,
- .rates = S3C64XX_I2S_RATES,
- .formats = S3C64XX_I2S_FMTS,},
- .capture = {
- .channels_min = 2,
- .channels_max = 2,
- .rates = S3C64XX_I2S_RATES,
- .formats = S3C64XX_I2S_FMTS,},
- .ops = &s3c64xx_i2s_dai_ops,
- .symmetric_rates = 1,
-},};
-
-static __devinit int s3c64xx_iis_dev_probe(struct platform_device *pdev)
-{
- struct s3c_audio_pdata *i2s_pdata;
- struct s3c_i2sv2_info *i2s;
- struct resource *res;
- int i, ret;
-
- if (pdev->id >= MAX_I2SV3) {
- dev_err(&pdev->dev, "id %d out of range\n", pdev->id);
- return -EINVAL;
- }
-
- i2s = &s3c64xx_i2s[pdev->id];
-
- i2s->dma_capture = &s3c64xx_i2s_pcm_stereo_in[pdev->id];
- i2s->dma_playback = &s3c64xx_i2s_pcm_stereo_out[pdev->id];
-
- res = platform_get_resource(pdev, IORESOURCE_DMA, 0);
- if (!res) {
- dev_err(&pdev->dev, "Unable to get I2S-TX dma resource\n");
- return -ENXIO;
- }
- i2s->dma_playback->channel = res->start;
-
- res = platform_get_resource(pdev, IORESOURCE_DMA, 1);
- if (!res) {
- dev_err(&pdev->dev, "Unable to get I2S-RX dma resource\n");
- return -ENXIO;
- }
- i2s->dma_capture->channel = res->start;
-
- res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
- if (!res) {
- dev_err(&pdev->dev, "Unable to get I2S SFR address\n");
- return -ENXIO;
- }
-
- if (!request_mem_region(res->start, resource_size(res),
- "s3c64xx-i2s")) {
- dev_err(&pdev->dev, "Unable to request SFR region\n");
- return -EBUSY;
- }
- i2s->base = res->start;
-
- i2s_pdata = pdev->dev.platform_data;
- if (i2s_pdata && i2s_pdata->cfg_gpio && i2s_pdata->cfg_gpio(pdev)) {
- dev_err(&pdev->dev, "Unable to configure gpio\n");
- return -EINVAL;
- }
- i2s->dma_capture->dma_addr = res->start + S3C2412_IISRXD;
- i2s->dma_playback->dma_addr = res->start + S3C2412_IISTXD;
-
- i2s->dma_capture->client = &s3c64xx_dma_client_in;
- i2s->dma_capture->dma_size = 4;
- i2s->dma_playback->client = &s3c64xx_dma_client_out;
- i2s->dma_playback->dma_size = 4;
-
- for (i = 0; i < ARRAY_SIZE(s3c64xx_i2s_dai); i++) {
- ret = s3c_i2sv2_register_dai(&pdev->dev, i,
- &s3c64xx_i2s_dai[i]);
- if (ret != 0)
- return ret;
- }
-
- return 0;
-}
-
-static __devexit int s3c64xx_iis_dev_remove(struct platform_device *pdev)
-{
- snd_soc_unregister_dais(&pdev->dev, ARRAY_SIZE(s3c64xx_i2s_dai));
- return 0;
-}
-
-static struct platform_driver s3c64xx_iis_driver = {
- .probe = s3c64xx_iis_dev_probe,
- .remove = s3c64xx_iis_dev_remove,
- .driver = {
- .name = "samsung-i2s",
- .owner = THIS_MODULE,
- },
-};
-
-static int __init s3c64xx_i2s_init(void)
-{
- return platform_driver_register(&s3c64xx_iis_driver);
-}
-module_init(s3c64xx_i2s_init);
-
-static void __exit s3c64xx_i2s_exit(void)
-{
- platform_driver_unregister(&s3c64xx_iis_driver);
-}
-module_exit(s3c64xx_i2s_exit);
-
-/* Module information */
-MODULE_AUTHOR("Ben Dooks, <ben@simtec.co.uk>");
-MODULE_DESCRIPTION("S3C64XX I2S SoC Interface");
-MODULE_LICENSE("GPL");
-MODULE_ALIAS("platform:samsung-i2s");
diff --git a/sound/soc/s3c24xx/s3c64xx-i2s.h b/sound/soc/s3c24xx/s3c64xx-i2s.h
deleted file mode 100644
index de4075d..0000000
--- a/sound/soc/s3c24xx/s3c64xx-i2s.h
+++ /dev/null
@@ -1,41 +0,0 @@
-/* sound/soc/s3c24xx/s3c64xx-i2s.h
- *
- * ALSA SoC Audio Layer - S3C64XX I2S driver
- *
- * Copyright 2008 Openmoko, Inc.
- * Copyright 2008 Simtec Electronics
- * Ben Dooks <ben@simtec.co.uk>
- * http://armlinux.simtec.co.uk/
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- */
-
-#ifndef __SND_SOC_S3C24XX_S3C64XX_I2S_H
-#define __SND_SOC_S3C24XX_S3C64XX_I2S_H __FILE__
-
-struct clk;
-
-#include "s3c-i2s-v2.h"
-
-#define S3C64XX_DIV_BCLK S3C_I2SV2_DIV_BCLK
-#define S3C64XX_DIV_RCLK S3C_I2SV2_DIV_RCLK
-#define S3C64XX_DIV_PRESCALER S3C_I2SV2_DIV_PRESCALER
-
-#define S3C64XX_CLKSRC_PCLK S3C_I2SV2_CLKSRC_PCLK
-#define S3C64XX_CLKSRC_MUX S3C_I2SV2_CLKSRC_AUDIOBUS
-#define S3C64XX_CLKSRC_CDCLK S3C_I2SV2_CLKSRC_CDCLK
-
-#define S3C64XX_I2S_RATES \
- (SNDRV_PCM_RATE_8000 | SNDRV_PCM_RATE_11025 | SNDRV_PCM_RATE_16000 | \
- SNDRV_PCM_RATE_22050 | SNDRV_PCM_RATE_32000 | SNDRV_PCM_RATE_44100 | \
- SNDRV_PCM_RATE_48000 | SNDRV_PCM_RATE_88200 | SNDRV_PCM_RATE_96000)
-
-#define S3C64XX_I2S_FMTS \
- (SNDRV_PCM_FMTBIT_S8 | SNDRV_PCM_FMTBIT_S16_LE |\
- SNDRV_PCM_FMTBIT_S24_LE)
-
-struct clk *s3c64xx_i2s_get_clock(struct snd_soc_dai *dai);
-
-#endif /* __SND_SOC_S3C24XX_S3C64XX_I2S_H */
--
1.6.2.5
^ permalink raw reply related [flat|nested] 31+ messages in thread* [PATCH 21/24] ASoC: SMDK64XX: Rename for other platforms
2010-10-22 8:30 [PATCHv2] ASoC: Overhaul Samsung drivers Jassi Brar
` (19 preceding siblings ...)
2010-10-22 8:39 ` [PATCH 20/24] ASoC: S3C64XX: Remove obsoleted I2S drivers Jassi Brar
@ 2010-10-22 8:39 ` Jassi Brar
2010-10-22 8:40 ` [PATCH 22/24] ASoC: SMDK_WM8580: Enable for SMDKC100 Jassi Brar
` (3 subsequent siblings)
24 siblings, 0 replies; 31+ messages in thread
From: Jassi Brar @ 2010-10-22 8:39 UTC (permalink / raw)
To: alsa-devel
Cc: kgene.kim, Jassi Brar, broonie, ben-linux, june.bae, lrg, sw.youn
From: Jassi Brar <jassi.brar@samsung.com>
We plan to use the same ASoC Machine driver for most of
latest SMDK platforms. So rename the 64XX specific driver
to generic named.
Signed-off-by: Jassi Brar <jassi.brar@samsung.com>
---
sound/soc/s3c24xx/Kconfig | 6 +-
sound/soc/s3c24xx/Makefile | 4 +-
.../s3c24xx/{smdk64xx_wm8580.c => smdk_wm8580.c} | 64 ++++++++++----------
3 files changed, 37 insertions(+), 37 deletions(-)
rename sound/soc/s3c24xx/{smdk64xx_wm8580.c => smdk_wm8580.c} (78%)
diff --git a/sound/soc/s3c24xx/Kconfig b/sound/soc/s3c24xx/Kconfig
index 32f1877..95bdd0d 100644
--- a/sound/soc/s3c24xx/Kconfig
+++ b/sound/soc/s3c24xx/Kconfig
@@ -59,13 +59,13 @@ config SND_S3C24XX_SOC_JIVE_WM8750
help
Sat Y if you want to add support for SoC audio on the Jive.
-config SND_S3C64XX_SOC_WM8580
- tristate "SoC I2S Audio support for WM8580 on SMDK64XX"
+config SND_SOC_SMDK_WM8580
+ tristate "SoC I2S Audio support for WM8580 on SMDK"
depends on SND_S3C24XX_SOC && MACH_SMDK6410
select SND_SOC_WM8580
select SND_SAMSUNG_I2S
help
- Say Y if you want to add support for SoC audio on the SMDK6410.
+ Say Y if you want to add support for SoC audio on the SMDKs.
config SND_S3C24XX_SOC_SMDK2443_WM9710
tristate "SoC AC97 Audio support for SMDK2443 - WM9710"
diff --git a/sound/soc/s3c24xx/Makefile b/sound/soc/s3c24xx/Makefile
index dac41ee..7eee57f 100644
--- a/sound/soc/s3c24xx/Makefile
+++ b/sound/soc/s3c24xx/Makefile
@@ -28,7 +28,7 @@ snd-soc-s3c24xx-simtec-objs := s3c24xx_simtec.o
snd-soc-s3c24xx-simtec-hermes-objs := s3c24xx_simtec_hermes.o
snd-soc-s3c24xx-simtec-tlv320aic23-objs := s3c24xx_simtec_tlv320aic23.o
snd-soc-rx1950-uda1380-objs := rx1950_uda1380.o
-snd-soc-smdk64xx-wm8580-objs := smdk64xx_wm8580.o
+snd-soc-smdk-wm8580-objs := smdk_wm8580.o
snd-soc-smdk-wm9713-objs := smdk_wm9713.o
snd-soc-s3c64xx-smartq-wm8987-objs := smartq_wm8987.o
snd-soc-goni-wm8994-objs := goni_wm8994.o
@@ -44,7 +44,7 @@ obj-$(CONFIG_SND_S3C24XX_SOC_SIMTEC) += snd-soc-s3c24xx-simtec.o
obj-$(CONFIG_SND_S3C24XX_SOC_SIMTEC_HERMES) += snd-soc-s3c24xx-simtec-hermes.o
obj-$(CONFIG_SND_S3C24XX_SOC_SIMTEC_TLV320AIC23) += snd-soc-s3c24xx-simtec-tlv320aic23.o
obj-$(CONFIG_SND_S3C24XX_SOC_RX1950_UDA1380) += snd-soc-rx1950-uda1380.o
-obj-$(CONFIG_SND_S3C64XX_SOC_WM8580) += snd-soc-smdk64xx-wm8580.o
+obj-$(CONFIG_SND_SOC_SMDK_WM8580) += snd-soc-smdk-wm8580.o
obj-$(CONFIG_SND_SOC_SMDK_WM9713) += snd-soc-smdk-wm9713.o
obj-$(CONFIG_SND_S3C64XX_SOC_SMARTQ) += snd-soc-s3c64xx-smartq-wm8987.o
obj-$(CONFIG_SND_SOC_SMDK_SPDIF) += snd-soc-smdk-spdif.o
diff --git a/sound/soc/s3c24xx/smdk64xx_wm8580.c b/sound/soc/s3c24xx/smdk_wm8580.c
similarity index 78%
rename from sound/soc/s3c24xx/smdk64xx_wm8580.c
rename to sound/soc/s3c24xx/smdk_wm8580.c
index 5f51db0..bbd6c97 100644
--- a/sound/soc/s3c24xx/smdk64xx_wm8580.c
+++ b/sound/soc/s3c24xx/smdk_wm8580.c
@@ -1,5 +1,5 @@
/*
- * smdk64xx_wm8580.c
+ * smdk_wm8580.c
*
* Copyright (c) 2009 Samsung Electronics Co. Ltd
* Author: Jaswinder Singh <jassi.brar@samsung.com>
@@ -28,10 +28,10 @@
* SMDK6410: Set CFG1 1-3 Off, CFG2 1-4 On
*/
-/* SMDK64XX has a 12MHZ crystal attached to WM8580 */
-#define SMDK64XX_WM8580_FREQ 12000000
+/* SMDK has a 12MHZ crystal attached to WM8580 */
+#define SMDK_WM8580_FREQ 12000000
-static int smdk64xx_hw_params(struct snd_pcm_substream *substream,
+static int smdk_hw_params(struct snd_pcm_substream *substream,
struct snd_pcm_hw_params *params)
{
struct snd_soc_pcm_runtime *rtd = substream->private_data;
@@ -103,7 +103,7 @@ static int smdk64xx_hw_params(struct snd_pcm_substream *substream,
return ret;
ret = snd_soc_dai_set_pll(codec_dai, WM8580_PLLA, 0,
- SMDK64XX_WM8580_FREQ, pll_out);
+ SMDK_WM8580_FREQ, pll_out);
if (ret < 0)
return ret;
@@ -116,20 +116,20 @@ static int smdk64xx_hw_params(struct snd_pcm_substream *substream,
}
/*
- * SMDK64XX WM8580 DAI operations.
+ * SMDK WM8580 DAI operations.
*/
-static struct snd_soc_ops smdk64xx_ops = {
- .hw_params = smdk64xx_hw_params,
+static struct snd_soc_ops smdk_ops = {
+ .hw_params = smdk_hw_params,
};
-/* SMDK64xx Playback widgets */
+/* SMDK Playback widgets */
static const struct snd_soc_dapm_widget wm8580_dapm_widgets_pbk[] = {
SND_SOC_DAPM_HP("Front", NULL),
SND_SOC_DAPM_HP("Center+Sub", NULL),
SND_SOC_DAPM_HP("Rear", NULL),
};
-/* SMDK64xx Capture widgets */
+/* SMDK Capture widgets */
static const struct snd_soc_dapm_widget wm8580_dapm_widgets_cpt[] = {
SND_SOC_DAPM_MIC("MicIn", NULL),
SND_SOC_DAPM_LINE("LineIn", NULL),
@@ -160,11 +160,11 @@ static const struct snd_soc_dapm_route audio_map_rx[] = {
{"Rear", NULL, "VOUT3R"},
};
-static int smdk64xx_wm8580_init_paiftx(struct snd_soc_pcm_runtime *rtd)
+static int smdk_wm8580_init_paiftx(struct snd_soc_pcm_runtime *rtd)
{
struct snd_soc_codec *codec = rtd->codec;
- /* Add smdk64xx specific Capture widgets */
+ /* Add smdk specific Capture widgets */
snd_soc_dapm_new_controls(codec, wm8580_dapm_widgets_cpt,
ARRAY_SIZE(wm8580_dapm_widgets_cpt));
@@ -182,11 +182,11 @@ static int smdk64xx_wm8580_init_paiftx(struct snd_soc_pcm_runtime *rtd)
return 0;
}
-static int smdk64xx_wm8580_init_paifrx(struct snd_soc_pcm_runtime *rtd)
+static int smdk_wm8580_init_paifrx(struct snd_soc_pcm_runtime *rtd)
{
struct snd_soc_codec *codec = rtd->codec;
- /* Add smdk64xx specific Playback widgets */
+ /* Add smdk specific Playback widgets */
snd_soc_dapm_new_controls(codec, wm8580_dapm_widgets_pbk,
ARRAY_SIZE(wm8580_dapm_widgets_pbk));
@@ -199,7 +199,7 @@ static int smdk64xx_wm8580_init_paifrx(struct snd_soc_pcm_runtime *rtd)
return 0;
}
-static struct snd_soc_dai_link smdk64xx_dai[] = {
+static struct snd_soc_dai_link smdk_dai[] = {
{ /* Primary Playback i/f */
.name = "WM8580 PAIF RX",
.stream_name = "Playback",
@@ -207,8 +207,8 @@ static struct snd_soc_dai_link smdk64xx_dai[] = {
.codec_dai_name = "wm8580-hifi-playback",
.platform_name = "samsung-audio",
.codec_name = "wm8580-codec.0-001b",
- .init = smdk64xx_wm8580_init_paifrx,
- .ops = &smdk64xx_ops,
+ .init = smdk_wm8580_init_paifrx,
+ .ops = &smdk_ops,
},
{ /* Primary Capture i/f */
.name = "WM8580 PAIF TX",
@@ -217,37 +217,37 @@ static struct snd_soc_dai_link smdk64xx_dai[] = {
.codec_dai_name = "wm8580-hifi-capture",
.platform_name = "samsung-audio",
.codec_name = "wm8580-codec.0-001b",
- .init = smdk64xx_wm8580_init_paiftx,
- .ops = &smdk64xx_ops,
+ .init = smdk_wm8580_init_paiftx,
+ .ops = &smdk_ops,
},
};
-static struct snd_soc_card smdk64xx = {
- .name = "SMDK64xx 5.1",
- .dai_link = smdk64xx_dai,
- .num_links = ARRAY_SIZE(smdk64xx_dai),
+static struct snd_soc_card smdk = {
+ .name = "SMDK-I2S",
+ .dai_link = smdk_dai,
+ .num_links = ARRAY_SIZE(smdk_dai),
};
-static struct platform_device *smdk64xx_snd_device;
+static struct platform_device *smdk_snd_device;
-static int __init smdk64xx_audio_init(void)
+static int __init smdk_audio_init(void)
{
int ret;
- smdk64xx_snd_device = platform_device_alloc("soc-audio", -1);
- if (!smdk64xx_snd_device)
+ smdk_snd_device = platform_device_alloc("soc-audio", -1);
+ if (!smdk_snd_device)
return -ENOMEM;
- platform_set_drvdata(smdk64xx_snd_device, &smdk64xx);
- ret = platform_device_add(smdk64xx_snd_device);
+ platform_set_drvdata(smdk_snd_device, &smdk);
+ ret = platform_device_add(smdk_snd_device);
if (ret)
- platform_device_put(smdk64xx_snd_device);
+ platform_device_put(smdk_snd_device);
return ret;
}
-module_init(smdk64xx_audio_init);
+module_init(smdk_audio_init);
MODULE_AUTHOR("Jaswinder Singh, jassi.brar@samsung.com");
-MODULE_DESCRIPTION("ALSA SoC SMDK64XX WM8580");
+MODULE_DESCRIPTION("ALSA SoC SMDK WM8580");
MODULE_LICENSE("GPL");
--
1.6.2.5
^ permalink raw reply related [flat|nested] 31+ messages in thread* [PATCH 22/24] ASoC: SMDK_WM8580: Enable for SMDKC100
2010-10-22 8:30 [PATCHv2] ASoC: Overhaul Samsung drivers Jassi Brar
` (20 preceding siblings ...)
2010-10-22 8:39 ` [PATCH 21/24] ASoC: SMDK64XX: Rename for other platforms Jassi Brar
@ 2010-10-22 8:40 ` Jassi Brar
2010-10-22 8:40 ` [PATCH 23/24] ASoC: Samsung: Generalize Kconfig symbols Jassi Brar
` (2 subsequent siblings)
24 siblings, 0 replies; 31+ messages in thread
From: Jassi Brar @ 2010-10-22 8:40 UTC (permalink / raw)
To: alsa-devel
Cc: kgene.kim, Jassi Brar, broonie, ben-linux, june.bae, lrg, sw.youn
From: Jassi Brar <jassi.brar@samsung.com>
Enable the ASoC Machine driver to run on SMDKC100 as well.
Signed-off-by: Jassi Brar <jassi.brar@samsung.com>
---
arch/arm/mach-s5pc100/mach-smdkc100.c | 2 +
sound/soc/s3c24xx/Kconfig | 2 +-
sound/soc/s3c24xx/smdk_wm8580.c | 73 +++++++++++++++++++++++---------
3 files changed, 55 insertions(+), 22 deletions(-)
diff --git a/arch/arm/mach-s5pc100/mach-smdkc100.c b/arch/arm/mach-s5pc100/mach-smdkc100.c
index 020c3f9..8e35bfa 100644
--- a/arch/arm/mach-s5pc100/mach-smdkc100.c
+++ b/arch/arm/mach-s5pc100/mach-smdkc100.c
@@ -95,6 +95,7 @@ static struct s3c2410_uartcfg smdkc100_uartcfgs[] __initdata = {
/* I2C0 */
static struct i2c_board_info i2c_devs0[] __initdata = {
+ {I2C_BOARD_INFO("wm8580", 0x1b),},
};
/* I2C1 */
@@ -189,6 +190,7 @@ static struct platform_device *smdkc100_devices[] __initdata = {
&s3c_device_ts,
&s3c_device_wdt,
&smdkc100_lcd_powerdev,
+ &samsung_asoc_dma,
&s5pc100_device_iis0,
&samsung_device_keypad,
&s5pc100_device_ac97,
diff --git a/sound/soc/s3c24xx/Kconfig b/sound/soc/s3c24xx/Kconfig
index 95bdd0d..4fabd62 100644
--- a/sound/soc/s3c24xx/Kconfig
+++ b/sound/soc/s3c24xx/Kconfig
@@ -61,7 +61,7 @@ config SND_S3C24XX_SOC_JIVE_WM8750
config SND_SOC_SMDK_WM8580
tristate "SoC I2S Audio support for WM8580 on SMDK"
- depends on SND_S3C24XX_SOC && MACH_SMDK6410
+ depends on SND_S3C24XX_SOC && (MACH_SMDK6410 || MACH_SMDKC100)
select SND_SOC_WM8580
select SND_SAMSUNG_I2S
help
diff --git a/sound/soc/s3c24xx/smdk_wm8580.c b/sound/soc/s3c24xx/smdk_wm8580.c
index bbd6c97..84b598c 100644
--- a/sound/soc/s3c24xx/smdk_wm8580.c
+++ b/sound/soc/s3c24xx/smdk_wm8580.c
@@ -18,6 +18,8 @@
#include <sound/soc.h>
#include <sound/soc-dapm.h>
+#include <asm/mach-types.h>
+
#include "../codecs/wm8580.h"
#include "dma.h"
#include "i2s.h"
@@ -199,33 +201,49 @@ static int smdk_wm8580_init_paifrx(struct snd_soc_pcm_runtime *rtd)
return 0;
}
+enum {
+ PRI_PLAYBACK = 0,
+ PRI_CAPTURE,
+ SEC_PLAYBACK,
+};
+
static struct snd_soc_dai_link smdk_dai[] = {
-{ /* Primary Playback i/f */
- .name = "WM8580 PAIF RX",
- .stream_name = "Playback",
- .cpu_dai_name = "samsung-i2s.2",
- .codec_dai_name = "wm8580-hifi-playback",
- .platform_name = "samsung-audio",
- .codec_name = "wm8580-codec.0-001b",
- .init = smdk_wm8580_init_paifrx,
- .ops = &smdk_ops,
-},
-{ /* Primary Capture i/f */
- .name = "WM8580 PAIF TX",
- .stream_name = "Capture",
- .cpu_dai_name = "samsung-i2s.2",
- .codec_dai_name = "wm8580-hifi-capture",
- .platform_name = "samsung-audio",
- .codec_name = "wm8580-codec.0-001b",
- .init = smdk_wm8580_init_paiftx,
- .ops = &smdk_ops,
-},
+ [PRI_PLAYBACK] = { /* Primary Playback i/f */
+ .name = "WM8580 PAIF RX",
+ .stream_name = "Playback",
+ .cpu_dai_name = "samsung-i2s.2",
+ .codec_dai_name = "wm8580-hifi-playback",
+ .platform_name = "samsung-audio",
+ .codec_name = "wm8580-codec.0-001b",
+ .init = smdk_wm8580_init_paifrx,
+ .ops = &smdk_ops,
+ },
+ [PRI_CAPTURE] = { /* Primary Capture i/f */
+ .name = "WM8580 PAIF TX",
+ .stream_name = "Capture",
+ .cpu_dai_name = "samsung-i2s.2",
+ .codec_dai_name = "wm8580-hifi-capture",
+ .platform_name = "samsung-audio",
+ .codec_name = "wm8580-codec.0-001b",
+ .init = smdk_wm8580_init_paiftx,
+ .ops = &smdk_ops,
+ },
+ [SEC_PLAYBACK] = { /* Sec_Fifo Playback i/f */
+ .name = "Sec_FIFO TX",
+ .stream_name = "Playback",
+ .cpu_dai_name = "samsung-i2s.x",
+ .codec_dai_name = "wm8580-hifi-playback",
+ .platform_name = "samsung-audio",
+ .codec_name = "wm8580-codec.0-001b",
+ .init = smdk_wm8580_init_paifrx,
+ .ops = &smdk_ops,
+ },
};
static struct snd_soc_card smdk = {
.name = "SMDK-I2S",
.dai_link = smdk_dai,
- .num_links = ARRAY_SIZE(smdk_dai),
+ .num_links = 2,
};
static struct platform_device *smdk_snd_device;
@@ -233,6 +251,19 @@ static struct platform_device *smdk_snd_device;
static int __init smdk_audio_init(void)
{
int ret;
+ char *str;
+
+ if (machine_is_smdkc100()) {
+ smdk.num_links = 3;
+ /* S5PC100 has I2S0 as v5 */
+ str = (char *)smdk_dai[PRI_PLAYBACK].cpu_dai_name;
+ str[strlen(str) - 1] = '0';
+ str = (char *)smdk_dai[PRI_CAPTURE].cpu_dai_name;
+ str[strlen(str) - 1] = '0';
+ /* Secondary is at offset SAMSUNG_I2S_SECOFF from Primary */
+ str = (char *)smdk_dai[SEC_PLAYBACK].cpu_dai_name;
+ str[strlen(str) - 1] = '0' + SAMSUNG_I2S_SECOFF;
+ }
smdk_snd_device = platform_device_alloc("soc-audio", -1);
if (!smdk_snd_device)
--
1.6.2.5
^ permalink raw reply related [flat|nested] 31+ messages in thread* [PATCH 23/24] ASoC: Samsung: Generalize Kconfig symbols
2010-10-22 8:30 [PATCHv2] ASoC: Overhaul Samsung drivers Jassi Brar
` (21 preceding siblings ...)
2010-10-22 8:40 ` [PATCH 22/24] ASoC: SMDK_WM8580: Enable for SMDKC100 Jassi Brar
@ 2010-10-22 8:40 ` Jassi Brar
2010-10-23 1:43 ` Kyungmin Park
2010-10-22 8:40 ` [PATCH 24/24] ASoC: Samsung: Rename from s3c24xx to samsung Jassi Brar
2010-10-22 14:08 ` [PATCHv2] ASoC: Overhaul Samsung drivers Kukjin Kim
24 siblings, 1 reply; 31+ messages in thread
From: Jassi Brar @ 2010-10-22 8:40 UTC (permalink / raw)
To: alsa-devel
Cc: kgene.kim, Jassi Brar, broonie, ben-linux, june.bae, lrg, sw.youn
From: Jassi Brar <jassi.brar@samsung.com>
Move prefixes to repesent the nature of Samsung ASoC suitably.
SND_S3C24XX_SOC -> ASOC_SAMSUNG
SND_S3C_SOC_PCM -> SND_SAMSUNG_PCM
SND_S3C_SOC_AC97 -> SND_SAMSUNG_AC97
SND_S5P_SOC_SPDIF -> SND_SAMSUNG_SPDIF
SND_S3C24XX_SOC_I2S -> SND_S3C24XX_I2S
SND_S3C64XX_SOC_SMARTQ -> ASOC_SMARTQ
SND_SOC_SMDK_SPDIF -> ASOC_SAMSUNG_SMDK_SPDIF
SND_SOC_SMDK_WM8580 -> ASOC_SAMSUNG_SMDK_WM8580
SND_SOC_SMDK_WM9713 -> ASOC_SAMSUNG_SMDK_WM9713
SND_SOC_GONI_AQUILA_WM8994 -> ASOC_GONI_AQUILA_WM8994
Signed-off-by: Jassi Brar <jassi.brar@samsung.com>
---
sound/soc/s3c24xx/Kconfig | 96 ++++++++++++++++++++++----------------------
sound/soc/s3c24xx/Makefile | 40 +++++++++---------
2 files changed, 68 insertions(+), 68 deletions(-)
diff --git a/sound/soc/s3c24xx/Kconfig b/sound/soc/s3c24xx/Kconfig
index 4fabd62..140095e 100644
--- a/sound/soc/s3c24xx/Kconfig
+++ b/sound/soc/s3c24xx/Kconfig
@@ -1,13 +1,13 @@
-config SND_S3C24XX_SOC
- tristate "SoC Audio for the Samsung S3CXXXX chips"
+config ASOC_SAMSUNG
+ tristate "ASoC support for Samsung"
depends on ARCH_S3C2410 || ARCH_S3C64XX || ARCH_S5PC100 || ARCH_S5PV210
select S3C64XX_DMA if ARCH_S3C64XX
help
Say Y or M if you want to add support for codecs attached to
- the S3C24XX AC97 or I2S interfaces. You will also need to
+ the Samsung SoCs' Audio interfaces. You will also need to
select the audio interfaces to support below.
-config SND_S3C24XX_SOC_I2S
+config SND_S3C24XX_I2S
tristate
select S3C2410_DMA
@@ -19,136 +19,136 @@ config SND_S3C2412_SOC_I2S
select SND_S3C_I2SV2_SOC
select S3C2410_DMA
-config SND_S3C_SOC_PCM
+config SND_SAMSUNG_PCM
tristate
-config SND_S3C_SOC_AC97
+config SND_SAMSUNG_AC97
tristate
select SND_SOC_AC97_BUS
-config SND_S5P_SOC_SPDIF
+config SND_SAMSUNG_SPDIF
tristate
select SND_SOC_SPDIF
config SND_SAMSUNG_I2S
tristate
-config SND_S3C24XX_SOC_NEO1973_WM8753
+config ASOC_SAMSUNG_NEO1973_WM8753
tristate "SoC I2S Audio support for NEO1973 - WM8753"
- depends on SND_S3C24XX_SOC && MACH_NEO1973_GTA01
- select SND_S3C24XX_SOC_I2S
+ depends on ASOC_SAMSUNG && MACH_NEO1973_GTA01
+ select SND_S3C24XX_I2S
select SND_SOC_WM8753
help
Say Y if you want to add support for SoC audio on smdk2440
with the WM8753.
-config SND_S3C24XX_SOC_NEO1973_GTA02_WM8753
+config ASOC_SAMSUNG_NEO1973_GTA02_WM8753
tristate "Audio support for the Openmoko Neo FreeRunner (GTA02)"
- depends on SND_S3C24XX_SOC && MACH_NEO1973_GTA02
- select SND_S3C24XX_SOC_I2S
+ depends on ASOC_SAMSUNG && MACH_NEO1973_GTA02
+ select SND_S3C24XX_I2S
select SND_SOC_WM8753
help
This driver provides audio support for the Openmoko Neo FreeRunner
smartphone.
-config SND_S3C24XX_SOC_JIVE_WM8750
+config ASOC_SAMSUNG_JIVE_WM8750
tristate "SoC I2S Audio support for Jive"
- depends on SND_S3C24XX_SOC && MACH_JIVE
+ depends on ASOC_SAMSUNG && MACH_JIVE
select SND_SOC_WM8750
select SND_S3C2412_SOC_I2S
help
Sat Y if you want to add support for SoC audio on the Jive.
-config SND_SOC_SMDK_WM8580
+config ASOC_SAMSUNG_SMDK_WM8580
tristate "SoC I2S Audio support for WM8580 on SMDK"
- depends on SND_S3C24XX_SOC && (MACH_SMDK6410 || MACH_SMDKC100)
+ depends on ASOC_SAMSUNG && (MACH_SMDK6410 || MACH_SMDKC100)
select SND_SOC_WM8580
select SND_SAMSUNG_I2S
help
Say Y if you want to add support for SoC audio on the SMDKs.
-config SND_S3C24XX_SOC_SMDK2443_WM9710
+config ASOC_SAMSUNG_SMDK2443_WM9710
tristate "SoC AC97 Audio support for SMDK2443 - WM9710"
- depends on SND_S3C24XX_SOC && MACH_SMDK2443
+ depends on ASOC_SAMSUNG && MACH_SMDK2443
select S3C2410_DMA
select AC97_BUS
select SND_SOC_AC97_CODEC
- select SND_S3C_SOC_AC97
+ select SND_SAMSUNG_AC97
help
Say Y if you want to add support for SoC audio on smdk2443
with the WM9710.
-config SND_S3C24XX_SOC_LN2440SBC_ALC650
+config ASOC_SAMSUNG_LN2440SBC_ALC650
tristate "SoC AC97 Audio support for LN2440SBC - ALC650"
- depends on SND_S3C24XX_SOC && ARCH_S3C2410
+ depends on ASOC_SAMSUNG && ARCH_S3C2410
select S3C2410_DMA
select AC97_BUS
select SND_SOC_AC97_CODEC
- select SND_S3C_SOC_AC97
+ select SND_SAMSUNG_AC97
help
Say Y if you want to add support for SoC audio on ln2440sbc
with the ALC650.
-config SND_S3C24XX_SOC_S3C24XX_UDA134X
+config ASOC_SAMSUNG_S3C24XX_UDA134X
tristate "SoC I2S Audio support UDA134X wired to a S3C24XX"
- depends on SND_S3C24XX_SOC && ARCH_S3C2410
- select SND_S3C24XX_SOC_I2S
+ depends on ASOC_SAMSUNG && ARCH_S3C2410
+ select SND_S3C24XX_I2S
select SND_SOC_L3
- select SND_SOC_UDA134X
+ select SND_SOC_UDA134X
-config SND_S3C24XX_SOC_SIMTEC
+config ASOC_SAMSUNG_SIMTEC
tristate
help
Internal node for common S3C24XX/Simtec suppor
-config SND_S3C24XX_SOC_SIMTEC_TLV320AIC23
+config ASOC_SAMSUNG_SIMTEC_TLV320AIC23
tristate "SoC I2S Audio support for TLV320AIC23 on Simtec boards"
- depends on SND_S3C24XX_SOC && ARCH_S3C2410
- select SND_S3C24XX_SOC_I2S
+ depends on ASOC_SAMSUNG && ARCH_S3C2410
+ select SND_S3C24XX_I2S
select SND_SOC_TLV320AIC23
- select SND_S3C24XX_SOC_SIMTEC
+ select ASOC_SAMSUNG_SIMTEC
-config SND_S3C24XX_SOC_SIMTEC_HERMES
+config ASOC_SAMSUNG_SIMTEC_HERMES
tristate "SoC I2S Audio support for Simtec Hermes board"
- depends on SND_S3C24XX_SOC && ARCH_S3C2410
- select SND_S3C24XX_SOC_I2S
+ depends on ASOC_SAMSUNG && ARCH_S3C2410
+ select SND_S3C24XX_I2S
select SND_SOC_TLV320AIC3X
- select SND_S3C24XX_SOC_SIMTEC
+ select ASOC_SAMSUNG_SIMTEC
-config SND_S3C24XX_SOC_RX1950_UDA1380
+config ASOC_SAMSUNG_RX1950_UDA1380
tristate "Audio support for the HP iPAQ RX1950"
- depends on SND_S3C24XX_SOC && MACH_RX1950
- select SND_S3C24XX_SOC_I2S
+ depends on ASOC_SAMSUNG && MACH_RX1950
+ select SND_S3C24XX_I2S
select SND_SOC_UDA1380
help
This driver provides audio support for HP iPAQ RX1950 PDA.
-config SND_SOC_SMDK_WM9713
+config ASOC_SAMSUNG_SMDK_WM9713
tristate "SoC AC97 Audio support for SMDK with WM9713"
- depends on SND_S3C24XX_SOC && (MACH_SMDK6410 || MACH_SMDKC100 || MACH_SMDKV210 || MACH_SMDKC110)
+ depends on ASOC_SAMSUNG && (MACH_SMDK6410 || MACH_SMDKC100 || MACH_SMDKV210 || MACH_SMDKC110)
select SND_SOC_WM9713
- select SND_S3C_SOC_AC97
+ select SND_SAMSUNG_AC97
help
Sat Y if you want to add support for SoC audio on the SMDK.
-config SND_S3C64XX_SOC_SMARTQ
+config ASOC_SMARTQ
tristate "SoC I2S Audio support for SmartQ board"
- depends on SND_S3C24XX_SOC && MACH_SMARTQ
+ depends on ASOC_SAMSUNG && MACH_SMARTQ
select SND_SAMSUNG_I2S
select SND_SOC_WM8750
-config SND_SOC_GONI_AQUILA_WM8994
+config ASOC_GONI_AQUILA_WM8994
tristate "SoC I2S Audio support for AQUILA/GONI - WM8994"
- depends on SND_S3C24XX_SOC && (MACH_GONI || MACH_AQUILA)
+ depends on ASOC_SAMSUNG && (MACH_GONI || MACH_AQUILA)
select SND_SAMSUNG_I2S
select SND_SOC_WM8994
help
Say Y if you want to add support for SoC audio on goni or aquila
with the WM8994.
-config SND_SOC_SMDK_SPDIF
+config ASOC_SAMSUNG_SMDK_SPDIF
tristate "SoC S/PDIF Audio support for SMDK"
depends on SND_S3C24XX_SOC && (MACH_SMDKC100 || MACH_SMDKC110 || MACH_SMDKV210)
- select SND_S5P_SOC_SPDIF
+ select SND_SAMSUNG_SPDIF
help
Say Y if you want to add support for SoC S/PDIF audio on the SMDK.
diff --git a/sound/soc/s3c24xx/Makefile b/sound/soc/s3c24xx/Makefile
index 7eee57f..0d24f95 100644
--- a/sound/soc/s3c24xx/Makefile
+++ b/sound/soc/s3c24xx/Makefile
@@ -8,13 +8,13 @@ snd-soc-samsung-spdif-objs := spdif.o
snd-soc-pcm-objs := pcm.o
snd-soc-i2s-objs := i2s.o
-obj-$(CONFIG_SND_S3C24XX_SOC) += snd-soc-s3c24xx.o
-obj-$(CONFIG_SND_S3C24XX_SOC_I2S) += snd-soc-s3c24xx-i2s.o
-obj-$(CONFIG_SND_S3C_SOC_AC97) += snd-soc-ac97.o
+obj-$(CONFIG_ASOC_SAMSUNG) += snd-soc-s3c24xx.o
+obj-$(CONFIG_SND_S3C24XX_I2S) += snd-soc-s3c24xx-i2s.o
+obj-$(CONFIG_SND_SAMSUNG_AC97) += snd-soc-ac97.o
obj-$(CONFIG_SND_S3C2412_SOC_I2S) += snd-soc-s3c2412-i2s.o
obj-$(CONFIG_SND_S3C_I2SV2_SOC) += snd-soc-s3c-i2s-v2.o
-obj-$(CONFIG_SND_S5P_SOC_SPDIF) += snd-soc-samsung-spdif.o
-obj-$(CONFIG_SND_S3C_SOC_PCM) += snd-soc-pcm.o
+obj-$(CONFIG_SND_SAMSUNG_SPDIF) += snd-soc-samsung-spdif.o
+obj-$(CONFIG_SND_SAMSUNG_PCM) += snd-soc-pcm.o
obj-$(CONFIG_SND_SAMSUNG_I2S) += snd-soc-i2s.o
# S3C24XX Machine Support
@@ -34,18 +34,18 @@ snd-soc-s3c64xx-smartq-wm8987-objs := smartq_wm8987.o
snd-soc-goni-wm8994-objs := goni_wm8994.o
snd-soc-smdk-spdif-objs := smdk_spdif.o
-obj-$(CONFIG_SND_S3C24XX_SOC_JIVE_WM8750) += snd-soc-jive-wm8750.o
-obj-$(CONFIG_SND_S3C24XX_SOC_NEO1973_WM8753) += snd-soc-neo1973-wm8753.o
-obj-$(CONFIG_SND_S3C24XX_SOC_NEO1973_GTA02_WM8753) += snd-soc-neo1973-gta02-wm8753.o
-obj-$(CONFIG_SND_S3C24XX_SOC_SMDK2443_WM9710) += snd-soc-smdk2443-wm9710.o
-obj-$(CONFIG_SND_S3C24XX_SOC_LN2440SBC_ALC650) += snd-soc-ln2440sbc-alc650.o
-obj-$(CONFIG_SND_S3C24XX_SOC_S3C24XX_UDA134X) += snd-soc-s3c24xx-uda134x.o
-obj-$(CONFIG_SND_S3C24XX_SOC_SIMTEC) += snd-soc-s3c24xx-simtec.o
-obj-$(CONFIG_SND_S3C24XX_SOC_SIMTEC_HERMES) += snd-soc-s3c24xx-simtec-hermes.o
-obj-$(CONFIG_SND_S3C24XX_SOC_SIMTEC_TLV320AIC23) += snd-soc-s3c24xx-simtec-tlv320aic23.o
-obj-$(CONFIG_SND_S3C24XX_SOC_RX1950_UDA1380) += snd-soc-rx1950-uda1380.o
-obj-$(CONFIG_SND_SOC_SMDK_WM8580) += snd-soc-smdk-wm8580.o
-obj-$(CONFIG_SND_SOC_SMDK_WM9713) += snd-soc-smdk-wm9713.o
-obj-$(CONFIG_SND_S3C64XX_SOC_SMARTQ) += snd-soc-s3c64xx-smartq-wm8987.o
-obj-$(CONFIG_SND_SOC_SMDK_SPDIF) += snd-soc-smdk-spdif.o
-obj-$(CONFIG_SND_SOC_GONI_AQUILA_WM8994) += snd-soc-goni-wm8994.o
+obj-$(CONFIG_ASOC_SAMSUNG_JIVE_WM8750) += snd-soc-jive-wm8750.o
+obj-$(CONFIG_ASOC_SAMSUNG_NEO1973_WM8753) += snd-soc-neo1973-wm8753.o
+obj-$(CONFIG_ASOC_SAMSUNG_NEO1973_GTA02_WM8753) += snd-soc-neo1973-gta02-wm8753.o
+obj-$(CONFIG_ASOC_SAMSUNG_SMDK2443_WM9710) += snd-soc-smdk2443-wm9710.o
+obj-$(CONFIG_ASOC_SAMSUNG_LN2440SBC_ALC650) += snd-soc-ln2440sbc-alc650.o
+obj-$(CONFIG_ASOC_SAMSUNG_S3C24XX_UDA134X) += snd-soc-s3c24xx-uda134x.o
+obj-$(CONFIG_ASOC_SAMSUNG_SIMTEC) += snd-soc-s3c24xx-simtec.o
+obj-$(CONFIG_ASOC_SAMSUNG_SIMTEC_HERMES) += snd-soc-s3c24xx-simtec-hermes.o
+obj-$(CONFIG_ASOC_SAMSUNG_SIMTEC_TLV320AIC23) += snd-soc-s3c24xx-simtec-tlv320aic23.o
+obj-$(CONFIG_ASOC_SAMSUNG_RX1950_UDA1380) += snd-soc-rx1950-uda1380.o
+obj-$(CONFIG_ASOC_SAMSUNG_SMDK_WM8580) += snd-soc-smdk-wm8580.o
+obj-$(CONFIG_ASOC_SAMSUNG_SMDK_WM9713) += snd-soc-smdk-wm9713.o
+obj-$(CONFIG_ASOC_SMARTQ) += snd-soc-s3c64xx-smartq-wm8987.o
+obj-$(CONFIG_ASOC_SAMSUNG_SMDK_SPDIF) += snd-soc-smdk-spdif.o
+obj-$(CONFIG_ASOC_GONI_AQUILA_WM8994) += snd-soc-goni-wm8994.o
--
1.6.2.5
^ permalink raw reply related [flat|nested] 31+ messages in thread* Re: [PATCH 23/24] ASoC: Samsung: Generalize Kconfig symbols
2010-10-22 8:40 ` [PATCH 23/24] ASoC: Samsung: Generalize Kconfig symbols Jassi Brar
@ 2010-10-23 1:43 ` Kyungmin Park
0 siblings, 0 replies; 31+ messages in thread
From: Kyungmin Park @ 2010-10-23 1:43 UTC (permalink / raw)
To: Jassi Brar
Cc: alsa-devel, kgene.kim, Jassi Brar, broonie, ben-linux, june.bae,
sw.youn, lrg
How about change the depends as PLAT_SAMSUNG also?
On Oct 22, 2010 5:49 PM, "Jassi Brar" <jassisinghbrar@gmail.com> wrote:
> From: Jassi Brar <jassi.brar@samsung.com>
>
> Move prefixes to repesent the nature of Samsung ASoC suitably.
> SND_S3C24XX_SOC -> ASOC_SAMSUNG
> SND_S3C_SOC_PCM -> SND_SAMSUNG_PCM
> SND_S3C_SOC_AC97 -> SND_SAMSUNG_AC97
> SND_S5P_SOC_SPDIF -> SND_SAMSUNG_SPDIF
> SND_S3C24XX_SOC_I2S -> SND_S3C24XX_I2S
> SND_S3C64XX_SOC_SMARTQ -> ASOC_SMARTQ
> SND_SOC_SMDK_SPDIF -> ASOC_SAMSUNG_SMDK_SPDIF
> SND_SOC_SMDK_WM8580 -> ASOC_SAMSUNG_SMDK_WM8580
> SND_SOC_SMDK_WM9713 -> ASOC_SAMSUNG_SMDK_WM9713
> SND_SOC_GONI_AQUILA_WM8994 -> ASOC_GONI_AQUILA_WM8994
>
> Signed-off-by: Jassi Brar <jassi.brar@samsung.com>
> ---
> sound/soc/s3c24xx/Kconfig | 96
++++++++++++++++++++++----------------------
> sound/soc/s3c24xx/Makefile | 40 +++++++++---------
> 2 files changed, 68 insertions(+), 68 deletions(-)
>
> diff --git a/sound/soc/s3c24xx/Kconfig b/sound/soc/s3c24xx/Kconfig
> index 4fabd62..140095e 100644
> --- a/sound/soc/s3c24xx/Kconfig
> +++ b/sound/soc/s3c24xx/Kconfig
> @@ -1,13 +1,13 @@
> -config SND_S3C24XX_SOC
> - tristate "SoC Audio for the Samsung S3CXXXX chips"
> +config ASOC_SAMSUNG
> + tristate "ASoC support for Samsung"
> depends on ARCH_S3C2410 || ARCH_S3C64XX || ARCH_S5PC100 || ARCH_S5PV210
> select S3C64XX_DMA if ARCH_S3C64XX
> help
> Say Y or M if you want to add support for codecs attached to
> - the S3C24XX AC97 or I2S interfaces. You will also need to
> + the Samsung SoCs' Audio interfaces. You will also need to
> select the audio interfaces to support below.
>
> -config SND_S3C24XX_SOC_I2S
> +config SND_S3C24XX_I2S
> tristate
> select S3C2410_DMA
>
> @@ -19,136 +19,136 @@ config SND_S3C2412_SOC_I2S
> select SND_S3C_I2SV2_SOC
> select S3C2410_DMA
>
> -config SND_S3C_SOC_PCM
> +config SND_SAMSUNG_PCM
> tristate
>
> -config SND_S3C_SOC_AC97
> +config SND_SAMSUNG_AC97
> tristate
> select SND_SOC_AC97_BUS
>
> -config SND_S5P_SOC_SPDIF
> +config SND_SAMSUNG_SPDIF
> tristate
> select SND_SOC_SPDIF
>
> config SND_SAMSUNG_I2S
> tristate
>
> -config SND_S3C24XX_SOC_NEO1973_WM8753
> +config ASOC_SAMSUNG_NEO1973_WM8753
> tristate "SoC I2S Audio support for NEO1973 - WM8753"
> - depends on SND_S3C24XX_SOC && MACH_NEO1973_GTA01
> - select SND_S3C24XX_SOC_I2S
> + depends on ASOC_SAMSUNG && MACH_NEO1973_GTA01
> + select SND_S3C24XX_I2S
> select SND_SOC_WM8753
> help
> Say Y if you want to add support for SoC audio on smdk2440
> with the WM8753.
>
> -config SND_S3C24XX_SOC_NEO1973_GTA02_WM8753
> +config ASOC_SAMSUNG_NEO1973_GTA02_WM8753
> tristate "Audio support for the Openmoko Neo FreeRunner (GTA02)"
> - depends on SND_S3C24XX_SOC && MACH_NEO1973_GTA02
> - select SND_S3C24XX_SOC_I2S
> + depends on ASOC_SAMSUNG && MACH_NEO1973_GTA02
> + select SND_S3C24XX_I2S
> select SND_SOC_WM8753
> help
> This driver provides audio support for the Openmoko Neo FreeRunner
> smartphone.
>
> -config SND_S3C24XX_SOC_JIVE_WM8750
> +config ASOC_SAMSUNG_JIVE_WM8750
> tristate "SoC I2S Audio support for Jive"
> - depends on SND_S3C24XX_SOC && MACH_JIVE
> + depends on ASOC_SAMSUNG && MACH_JIVE
> select SND_SOC_WM8750
> select SND_S3C2412_SOC_I2S
> help
> Sat Y if you want to add support for SoC audio on the Jive.
>
> -config SND_SOC_SMDK_WM8580
> +config ASOC_SAMSUNG_SMDK_WM8580
> tristate "SoC I2S Audio support for WM8580 on SMDK"
> - depends on SND_S3C24XX_SOC && (MACH_SMDK6410 || MACH_SMDKC100)
> + depends on ASOC_SAMSUNG && (MACH_SMDK6410 || MACH_SMDKC100)
> select SND_SOC_WM8580
> select SND_SAMSUNG_I2S
> help
> Say Y if you want to add support for SoC audio on the SMDKs.
>
> -config SND_S3C24XX_SOC_SMDK2443_WM9710
> +config ASOC_SAMSUNG_SMDK2443_WM9710
> tristate "SoC AC97 Audio support for SMDK2443 - WM9710"
> - depends on SND_S3C24XX_SOC && MACH_SMDK2443
> + depends on ASOC_SAMSUNG && MACH_SMDK2443
> select S3C2410_DMA
> select AC97_BUS
> select SND_SOC_AC97_CODEC
> - select SND_S3C_SOC_AC97
> + select SND_SAMSUNG_AC97
> help
> Say Y if you want to add support for SoC audio on smdk2443
> with the WM9710.
>
> -config SND_S3C24XX_SOC_LN2440SBC_ALC650
> +config ASOC_SAMSUNG_LN2440SBC_ALC650
> tristate "SoC AC97 Audio support for LN2440SBC - ALC650"
> - depends on SND_S3C24XX_SOC && ARCH_S3C2410
> + depends on ASOC_SAMSUNG && ARCH_S3C2410
> select S3C2410_DMA
> select AC97_BUS
> select SND_SOC_AC97_CODEC
> - select SND_S3C_SOC_AC97
> + select SND_SAMSUNG_AC97
> help
> Say Y if you want to add support for SoC audio on ln2440sbc
> with the ALC650.
>
> -config SND_S3C24XX_SOC_S3C24XX_UDA134X
> +config ASOC_SAMSUNG_S3C24XX_UDA134X
> tristate "SoC I2S Audio support UDA134X wired to a S3C24XX"
> - depends on SND_S3C24XX_SOC && ARCH_S3C2410
> - select SND_S3C24XX_SOC_I2S
> + depends on ASOC_SAMSUNG && ARCH_S3C2410
> + select SND_S3C24XX_I2S
> select SND_SOC_L3
> - select SND_SOC_UDA134X
> + select SND_SOC_UDA134X
>
> -config SND_S3C24XX_SOC_SIMTEC
> +config ASOC_SAMSUNG_SIMTEC
> tristate
> help
> Internal node for common S3C24XX/Simtec suppor
>
> -config SND_S3C24XX_SOC_SIMTEC_TLV320AIC23
> +config ASOC_SAMSUNG_SIMTEC_TLV320AIC23
> tristate "SoC I2S Audio support for TLV320AIC23 on Simtec boards"
> - depends on SND_S3C24XX_SOC && ARCH_S3C2410
> - select SND_S3C24XX_SOC_I2S
> + depends on ASOC_SAMSUNG && ARCH_S3C2410
> + select SND_S3C24XX_I2S
> select SND_SOC_TLV320AIC23
> - select SND_S3C24XX_SOC_SIMTEC
> + select ASOC_SAMSUNG_SIMTEC
>
> -config SND_S3C24XX_SOC_SIMTEC_HERMES
> +config ASOC_SAMSUNG_SIMTEC_HERMES
> tristate "SoC I2S Audio support for Simtec Hermes board"
> - depends on SND_S3C24XX_SOC && ARCH_S3C2410
> - select SND_S3C24XX_SOC_I2S
> + depends on ASOC_SAMSUNG && ARCH_S3C2410
> + select SND_S3C24XX_I2S
> select SND_SOC_TLV320AIC3X
> - select SND_S3C24XX_SOC_SIMTEC
> + select ASOC_SAMSUNG_SIMTEC
>
> -config SND_S3C24XX_SOC_RX1950_UDA1380
> +config ASOC_SAMSUNG_RX1950_UDA1380
> tristate "Audio support for the HP iPAQ RX1950"
> - depends on SND_S3C24XX_SOC && MACH_RX1950
> - select SND_S3C24XX_SOC_I2S
> + depends on ASOC_SAMSUNG && MACH_RX1950
> + select SND_S3C24XX_I2S
> select SND_SOC_UDA1380
> help
> This driver provides audio support for HP iPAQ RX1950 PDA.
>
> -config SND_SOC_SMDK_WM9713
> +config ASOC_SAMSUNG_SMDK_WM9713
> tristate "SoC AC97 Audio support for SMDK with WM9713"
> - depends on SND_S3C24XX_SOC && (MACH_SMDK6410 || MACH_SMDKC100 ||
MACH_SMDKV210 || MACH_SMDKC110)
> + depends on ASOC_SAMSUNG && (MACH_SMDK6410 || MACH_SMDKC100 ||
MACH_SMDKV210 || MACH_SMDKC110)
> select SND_SOC_WM9713
> - select SND_S3C_SOC_AC97
> + select SND_SAMSUNG_AC97
> help
> Sat Y if you want to add support for SoC audio on the SMDK.
>
> -config SND_S3C64XX_SOC_SMARTQ
> +config ASOC_SMARTQ
> tristate "SoC I2S Audio support for SmartQ board"
> - depends on SND_S3C24XX_SOC && MACH_SMARTQ
> + depends on ASOC_SAMSUNG && MACH_SMARTQ
> select SND_SAMSUNG_I2S
> select SND_SOC_WM8750
>
> -config SND_SOC_GONI_AQUILA_WM8994
> +config ASOC_GONI_AQUILA_WM8994
> tristate "SoC I2S Audio support for AQUILA/GONI - WM8994"
> - depends on SND_S3C24XX_SOC && (MACH_GONI || MACH_AQUILA)
> + depends on ASOC_SAMSUNG && (MACH_GONI || MACH_AQUILA)
> select SND_SAMSUNG_I2S
> select SND_SOC_WM8994
> help
> Say Y if you want to add support for SoC audio on goni or aquila
> with the WM8994.
>
> -config SND_SOC_SMDK_SPDIF
> +config ASOC_SAMSUNG_SMDK_SPDIF
> tristate "SoC S/PDIF Audio support for SMDK"
> depends on SND_S3C24XX_SOC && (MACH_SMDKC100 || MACH_SMDKC110 ||
MACH_SMDKV210)
> - select SND_S5P_SOC_SPDIF
> + select SND_SAMSUNG_SPDIF
> help
> Say Y if you want to add support for SoC S/PDIF audio on the SMDK.
> diff --git a/sound/soc/s3c24xx/Makefile b/sound/soc/s3c24xx/Makefile
> index 7eee57f..0d24f95 100644
> --- a/sound/soc/s3c24xx/Makefile
> +++ b/sound/soc/s3c24xx/Makefile
> @@ -8,13 +8,13 @@ snd-soc-samsung-spdif-objs := spdif.o
> snd-soc-pcm-objs := pcm.o
> snd-soc-i2s-objs := i2s.o
>
> -obj-$(CONFIG_SND_S3C24XX_SOC) += snd-soc-s3c24xx.o
> -obj-$(CONFIG_SND_S3C24XX_SOC_I2S) += snd-soc-s3c24xx-i2s.o
> -obj-$(CONFIG_SND_S3C_SOC_AC97) += snd-soc-ac97.o
> +obj-$(CONFIG_ASOC_SAMSUNG) += snd-soc-s3c24xx.o
> +obj-$(CONFIG_SND_S3C24XX_I2S) += snd-soc-s3c24xx-i2s.o
> +obj-$(CONFIG_SND_SAMSUNG_AC97) += snd-soc-ac97.o
> obj-$(CONFIG_SND_S3C2412_SOC_I2S) += snd-soc-s3c2412-i2s.o
> obj-$(CONFIG_SND_S3C_I2SV2_SOC) += snd-soc-s3c-i2s-v2.o
> -obj-$(CONFIG_SND_S5P_SOC_SPDIF) += snd-soc-samsung-spdif.o
> -obj-$(CONFIG_SND_S3C_SOC_PCM) += snd-soc-pcm.o
> +obj-$(CONFIG_SND_SAMSUNG_SPDIF) += snd-soc-samsung-spdif.o
> +obj-$(CONFIG_SND_SAMSUNG_PCM) += snd-soc-pcm.o
> obj-$(CONFIG_SND_SAMSUNG_I2S) += snd-soc-i2s.o
>
> # S3C24XX Machine Support
> @@ -34,18 +34,18 @@ snd-soc-s3c64xx-smartq-wm8987-objs := smartq_wm8987.o
> snd-soc-goni-wm8994-objs := goni_wm8994.o
> snd-soc-smdk-spdif-objs := smdk_spdif.o
>
> -obj-$(CONFIG_SND_S3C24XX_SOC_JIVE_WM8750) += snd-soc-jive-wm8750.o
> -obj-$(CONFIG_SND_S3C24XX_SOC_NEO1973_WM8753) += snd-soc-neo1973-wm8753.o
> -obj-$(CONFIG_SND_S3C24XX_SOC_NEO1973_GTA02_WM8753) +=
snd-soc-neo1973-gta02-wm8753.o
> -obj-$(CONFIG_SND_S3C24XX_SOC_SMDK2443_WM9710) +=
snd-soc-smdk2443-wm9710.o
> -obj-$(CONFIG_SND_S3C24XX_SOC_LN2440SBC_ALC650) +=
snd-soc-ln2440sbc-alc650.o
> -obj-$(CONFIG_SND_S3C24XX_SOC_S3C24XX_UDA134X) +=
snd-soc-s3c24xx-uda134x.o
> -obj-$(CONFIG_SND_S3C24XX_SOC_SIMTEC) += snd-soc-s3c24xx-simtec.o
> -obj-$(CONFIG_SND_S3C24XX_SOC_SIMTEC_HERMES) +=
snd-soc-s3c24xx-simtec-hermes.o
> -obj-$(CONFIG_SND_S3C24XX_SOC_SIMTEC_TLV320AIC23) +=
snd-soc-s3c24xx-simtec-tlv320aic23.o
> -obj-$(CONFIG_SND_S3C24XX_SOC_RX1950_UDA1380) += snd-soc-rx1950-uda1380.o
> -obj-$(CONFIG_SND_SOC_SMDK_WM8580) += snd-soc-smdk-wm8580.o
> -obj-$(CONFIG_SND_SOC_SMDK_WM9713) += snd-soc-smdk-wm9713.o
> -obj-$(CONFIG_SND_S3C64XX_SOC_SMARTQ) += snd-soc-s3c64xx-smartq-wm8987.o
> -obj-$(CONFIG_SND_SOC_SMDK_SPDIF) += snd-soc-smdk-spdif.o
> -obj-$(CONFIG_SND_SOC_GONI_AQUILA_WM8994) += snd-soc-goni-wm8994.o
> +obj-$(CONFIG_ASOC_SAMSUNG_JIVE_WM8750) += snd-soc-jive-wm8750.o
> +obj-$(CONFIG_ASOC_SAMSUNG_NEO1973_WM8753) += snd-soc-neo1973-wm8753.o
> +obj-$(CONFIG_ASOC_SAMSUNG_NEO1973_GTA02_WM8753) +=
snd-soc-neo1973-gta02-wm8753.o
> +obj-$(CONFIG_ASOC_SAMSUNG_SMDK2443_WM9710) += snd-soc-smdk2443-wm9710.o
> +obj-$(CONFIG_ASOC_SAMSUNG_LN2440SBC_ALC650) += snd-soc-ln2440sbc-alc650.o
> +obj-$(CONFIG_ASOC_SAMSUNG_S3C24XX_UDA134X) += snd-soc-s3c24xx-uda134x.o
> +obj-$(CONFIG_ASOC_SAMSUNG_SIMTEC) += snd-soc-s3c24xx-simtec.o
> +obj-$(CONFIG_ASOC_SAMSUNG_SIMTEC_HERMES) +=
snd-soc-s3c24xx-simtec-hermes.o
> +obj-$(CONFIG_ASOC_SAMSUNG_SIMTEC_TLV320AIC23) +=
snd-soc-s3c24xx-simtec-tlv320aic23.o
> +obj-$(CONFIG_ASOC_SAMSUNG_RX1950_UDA1380) += snd-soc-rx1950-uda1380.o
> +obj-$(CONFIG_ASOC_SAMSUNG_SMDK_WM8580) += snd-soc-smdk-wm8580.o
> +obj-$(CONFIG_ASOC_SAMSUNG_SMDK_WM9713) += snd-soc-smdk-wm9713.o
> +obj-$(CONFIG_ASOC_SMARTQ) += snd-soc-s3c64xx-smartq-wm8987.o
> +obj-$(CONFIG_ASOC_SAMSUNG_SMDK_SPDIF) += snd-soc-smdk-spdif.o
> +obj-$(CONFIG_ASOC_GONI_AQUILA_WM8994) += snd-soc-goni-wm8994.o
> --
> 1.6.2.5
>
> _______________________________________________
> Alsa-devel mailing list
> Alsa-devel@alsa-project.org
> http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
^ permalink raw reply [flat|nested] 31+ messages in thread
* [PATCH 24/24] ASoC: Samsung: Rename from s3c24xx to samsung
2010-10-22 8:30 [PATCHv2] ASoC: Overhaul Samsung drivers Jassi Brar
` (22 preceding siblings ...)
2010-10-22 8:40 ` [PATCH 23/24] ASoC: Samsung: Generalize Kconfig symbols Jassi Brar
@ 2010-10-22 8:40 ` Jassi Brar
2010-10-23 1:39 ` Kyungmin Park
2010-10-22 14:08 ` [PATCHv2] ASoC: Overhaul Samsung drivers Kukjin Kim
24 siblings, 1 reply; 31+ messages in thread
From: Jassi Brar @ 2010-10-22 8:40 UTC (permalink / raw)
To: alsa-devel
Cc: kgene.kim, Jassi Brar, broonie, ben-linux, june.bae, lrg, sw.youn
From: Jassi Brar <jassi.brar@samsung.com>
Finally, move the 's3c24xx' directory to 'samsung'
Signed-off-by: Jassi Brar <jassi.brar@samsung.com>
---
sound/soc/Kconfig | 2 +-
sound/soc/Makefile | 2 +-
sound/soc/{s3c24xx => samsung}/Kconfig | 0
sound/soc/{s3c24xx => samsung}/Makefile | 0
sound/soc/{s3c24xx => samsung}/ac97.c | 2 +-
sound/soc/{s3c24xx => samsung}/ac97.h | 2 +-
sound/soc/{s3c24xx => samsung}/dma.c | 0
sound/soc/{s3c24xx => samsung}/dma.h | 0
sound/soc/{s3c24xx => samsung}/goni_wm8994.c | 0
sound/soc/{s3c24xx => samsung}/i2s.c | 2 +-
sound/soc/{s3c24xx => samsung}/i2s.h | 2 +-
sound/soc/{s3c24xx => samsung}/jive_wm8750.c | 2 +-
sound/soc/{s3c24xx => samsung}/lm4857.h | 0
sound/soc/{s3c24xx => samsung}/ln2440sbc_alc650.c | 0
.../{s3c24xx => samsung}/neo1973_gta02_wm8753.c | 0
sound/soc/{s3c24xx => samsung}/neo1973_wm8753.c | 0
sound/soc/{s3c24xx => samsung}/pcm.c | 2 +-
sound/soc/{s3c24xx => samsung}/pcm.h | 2 +-
sound/soc/{s3c24xx => samsung}/regs-i2s-v2.h | 0
sound/soc/{s3c24xx => samsung}/rx1950_uda1380.c | 0
sound/soc/{s3c24xx => samsung}/s3c-i2s-v2.c | 2 +-
sound/soc/{s3c24xx => samsung}/s3c-i2s-v2.h | 2 +-
sound/soc/{s3c24xx => samsung}/s3c2412-i2s.c | 2 +-
sound/soc/{s3c24xx => samsung}/s3c2412-i2s.h | 2 +-
sound/soc/{s3c24xx => samsung}/s3c24xx-i2s.c | 0
sound/soc/{s3c24xx => samsung}/s3c24xx-i2s.h | 0
sound/soc/{s3c24xx => samsung}/s3c24xx_simtec.c | 2 +-
sound/soc/{s3c24xx => samsung}/s3c24xx_simtec.h | 2 +-
.../{s3c24xx => samsung}/s3c24xx_simtec_hermes.c | 2 +-
.../s3c24xx_simtec_tlv320aic23.c | 2 +-
sound/soc/{s3c24xx => samsung}/s3c24xx_uda134x.c | 0
sound/soc/{s3c24xx => samsung}/smartq_wm8987.c | 2 +-
sound/soc/{s3c24xx => samsung}/smdk2443_wm9710.c | 0
sound/soc/{s3c24xx => samsung}/smdk_spdif.c | 0
sound/soc/{s3c24xx => samsung}/smdk_wm8580.c | 0
sound/soc/{s3c24xx => samsung}/smdk_wm9713.c | 0
sound/soc/{s3c24xx => samsung}/spdif.c | 2 +-
sound/soc/{s3c24xx => samsung}/spdif.h | 2 +-
38 files changed, 20 insertions(+), 20 deletions(-)
rename sound/soc/{s3c24xx => samsung}/Kconfig (100%)
rename sound/soc/{s3c24xx => samsung}/Makefile (100%)
rename sound/soc/{s3c24xx => samsung}/ac97.c (99%)
rename sound/soc/{s3c24xx => samsung}/ac97.h (95%)
rename sound/soc/{s3c24xx => samsung}/dma.c (100%)
rename sound/soc/{s3c24xx => samsung}/dma.h (100%)
rename sound/soc/{s3c24xx => samsung}/goni_wm8994.c (100%)
rename sound/soc/{s3c24xx => samsung}/i2s.c (99%)
rename sound/soc/{s3c24xx => samsung}/i2s.h (96%)
rename sound/soc/{s3c24xx => samsung}/jive_wm8750.c (99%)
rename sound/soc/{s3c24xx => samsung}/lm4857.h (100%)
rename sound/soc/{s3c24xx => samsung}/ln2440sbc_alc650.c (100%)
rename sound/soc/{s3c24xx => samsung}/neo1973_gta02_wm8753.c (100%)
rename sound/soc/{s3c24xx => samsung}/neo1973_wm8753.c (100%)
rename sound/soc/{s3c24xx => samsung}/pcm.c (99%)
rename sound/soc/{s3c24xx => samsung}/pcm.h (99%)
rename sound/soc/{s3c24xx => samsung}/regs-i2s-v2.h (100%)
rename sound/soc/{s3c24xx => samsung}/rx1950_uda1380.c (100%)
rename sound/soc/{s3c24xx => samsung}/s3c-i2s-v2.c (99%)
rename sound/soc/{s3c24xx => samsung}/s3c-i2s-v2.h (98%)
rename sound/soc/{s3c24xx => samsung}/s3c2412-i2s.c (99%)
rename sound/soc/{s3c24xx => samsung}/s3c2412-i2s.h (95%)
rename sound/soc/{s3c24xx => samsung}/s3c24xx-i2s.c (100%)
rename sound/soc/{s3c24xx => samsung}/s3c24xx-i2s.h (100%)
rename sound/soc/{s3c24xx => samsung}/s3c24xx_simtec.c (99%)
rename sound/soc/{s3c24xx => samsung}/s3c24xx_simtec.h (94%)
rename sound/soc/{s3c24xx => samsung}/s3c24xx_simtec_hermes.c (98%)
rename sound/soc/{s3c24xx => samsung}/s3c24xx_simtec_tlv320aic23.c (98%)
rename sound/soc/{s3c24xx => samsung}/s3c24xx_uda134x.c (100%)
rename sound/soc/{s3c24xx => samsung}/smartq_wm8987.c (99%)
rename sound/soc/{s3c24xx => samsung}/smdk2443_wm9710.c (100%)
rename sound/soc/{s3c24xx => samsung}/smdk_spdif.c (100%)
rename sound/soc/{s3c24xx => samsung}/smdk_wm8580.c (100%)
rename sound/soc/{s3c24xx => samsung}/smdk_wm9713.c (100%)
rename sound/soc/{s3c24xx => samsung}/spdif.c (99%)
rename sound/soc/{s3c24xx => samsung}/spdif.h (94%)
diff --git a/sound/soc/Kconfig b/sound/soc/Kconfig
index 3e598e7..2722b19 100644
--- a/sound/soc/Kconfig
+++ b/sound/soc/Kconfig
@@ -36,7 +36,7 @@ source "sound/soc/nuc900/Kconfig"
source "sound/soc/omap/Kconfig"
source "sound/soc/kirkwood/Kconfig"
source "sound/soc/pxa/Kconfig"
-source "sound/soc/s3c24xx/Kconfig"
+source "sound/soc/samsung/Kconfig"
source "sound/soc/s6000/Kconfig"
source "sound/soc/sh/Kconfig"
source "sound/soc/txx9/Kconfig"
diff --git a/sound/soc/Makefile b/sound/soc/Makefile
index eb18344..ce913bf 100644
--- a/sound/soc/Makefile
+++ b/sound/soc/Makefile
@@ -14,7 +14,7 @@ obj-$(CONFIG_SND_SOC) += nuc900/
obj-$(CONFIG_SND_SOC) += omap/
obj-$(CONFIG_SND_SOC) += kirkwood/
obj-$(CONFIG_SND_SOC) += pxa/
-obj-$(CONFIG_SND_SOC) += s3c24xx/
+obj-$(CONFIG_SND_SOC) += samsung/
obj-$(CONFIG_SND_SOC) += s6000/
obj-$(CONFIG_SND_SOC) += sh/
obj-$(CONFIG_SND_SOC) += txx9/
diff --git a/sound/soc/s3c24xx/Kconfig b/sound/soc/samsung/Kconfig
similarity index 100%
rename from sound/soc/s3c24xx/Kconfig
rename to sound/soc/samsung/Kconfig
diff --git a/sound/soc/s3c24xx/Makefile b/sound/soc/samsung/Makefile
similarity index 100%
rename from sound/soc/s3c24xx/Makefile
rename to sound/soc/samsung/Makefile
diff --git a/sound/soc/s3c24xx/ac97.c b/sound/soc/samsung/ac97.c
similarity index 99%
rename from sound/soc/s3c24xx/ac97.c
rename to sound/soc/samsung/ac97.c
index 4f999d1..4770a95 100644
--- a/sound/soc/s3c24xx/ac97.c
+++ b/sound/soc/samsung/ac97.c
@@ -1,4 +1,4 @@
-/* sound/soc/s3c24xx/ac97.c
+/* sound/soc/samsung/ac97.c
*
* ALSA SoC Audio Layer - S3C AC97 Controller driver
* Evolved from s3c2443-ac97.c
diff --git a/sound/soc/s3c24xx/ac97.h b/sound/soc/samsung/ac97.h
similarity index 95%
rename from sound/soc/s3c24xx/ac97.h
rename to sound/soc/samsung/ac97.h
index a8f01b7..0d0e1b5 100644
--- a/sound/soc/s3c24xx/ac97.h
+++ b/sound/soc/samsung/ac97.h
@@ -1,4 +1,4 @@
-/* sound/soc/s3c24xx/ac97.h
+/* sound/soc/samsung/ac97.h
*
* ALSA SoC Audio Layer - S3C AC97 Controller driver
* Evolved from s3c2443-ac97.h
diff --git a/sound/soc/s3c24xx/dma.c b/sound/soc/samsung/dma.c
similarity index 100%
rename from sound/soc/s3c24xx/dma.c
rename to sound/soc/samsung/dma.c
diff --git a/sound/soc/s3c24xx/dma.h b/sound/soc/samsung/dma.h
similarity index 100%
rename from sound/soc/s3c24xx/dma.h
rename to sound/soc/samsung/dma.h
diff --git a/sound/soc/s3c24xx/goni_wm8994.c b/sound/soc/samsung/goni_wm8994.c
similarity index 100%
rename from sound/soc/s3c24xx/goni_wm8994.c
rename to sound/soc/samsung/goni_wm8994.c
diff --git a/sound/soc/s3c24xx/i2s.c b/sound/soc/samsung/i2s.c
similarity index 99%
rename from sound/soc/s3c24xx/i2s.c
rename to sound/soc/samsung/i2s.c
index 7e6ddfa..d6de3f0 100644
--- a/sound/soc/s3c24xx/i2s.c
+++ b/sound/soc/samsung/i2s.c
@@ -1,4 +1,4 @@
-/* sound/soc/s3c24xx/i2s.c
+/* sound/soc/samsung/i2s.c
*
* ALSA SoC Audio Layer - Samsung I2S Controller driver
*
diff --git a/sound/soc/s3c24xx/i2s.h b/sound/soc/samsung/i2s.h
similarity index 96%
rename from sound/soc/s3c24xx/i2s.h
rename to sound/soc/samsung/i2s.h
index d3180b3..8e15f6a 100644
--- a/sound/soc/s3c24xx/i2s.h
+++ b/sound/soc/samsung/i2s.h
@@ -1,4 +1,4 @@
-/* sound/soc/s3c24xx/i2s.h
+/* sound/soc/samsung/i2s.h
*
* ALSA SoC Audio Layer - Samsung I2S Controller driver
*
diff --git a/sound/soc/s3c24xx/jive_wm8750.c b/sound/soc/samsung/jive_wm8750.c
similarity index 99%
rename from sound/soc/s3c24xx/jive_wm8750.c
rename to sound/soc/samsung/jive_wm8750.c
index 4e1b8ac..fe1649e 100644
--- a/sound/soc/s3c24xx/jive_wm8750.c
+++ b/sound/soc/samsung/jive_wm8750.c
@@ -1,4 +1,4 @@
-/* sound/soc/s3c24xx/jive_wm8750.c
+/* sound/soc/samsung/jive_wm8750.c
*
* Copyright 2007,2008 Simtec Electronics
*
diff --git a/sound/soc/s3c24xx/lm4857.h b/sound/soc/samsung/lm4857.h
similarity index 100%
rename from sound/soc/s3c24xx/lm4857.h
rename to sound/soc/samsung/lm4857.h
diff --git a/sound/soc/s3c24xx/ln2440sbc_alc650.c b/sound/soc/samsung/ln2440sbc_alc650.c
similarity index 100%
rename from sound/soc/s3c24xx/ln2440sbc_alc650.c
rename to sound/soc/samsung/ln2440sbc_alc650.c
diff --git a/sound/soc/s3c24xx/neo1973_gta02_wm8753.c b/sound/soc/samsung/neo1973_gta02_wm8753.c
similarity index 100%
rename from sound/soc/s3c24xx/neo1973_gta02_wm8753.c
rename to sound/soc/samsung/neo1973_gta02_wm8753.c
diff --git a/sound/soc/s3c24xx/neo1973_wm8753.c b/sound/soc/samsung/neo1973_wm8753.c
similarity index 100%
rename from sound/soc/s3c24xx/neo1973_wm8753.c
rename to sound/soc/samsung/neo1973_wm8753.c
diff --git a/sound/soc/s3c24xx/pcm.c b/sound/soc/samsung/pcm.c
similarity index 99%
rename from sound/soc/s3c24xx/pcm.c
rename to sound/soc/samsung/pcm.c
index 4d0f6e4..48d0b75 100644
--- a/sound/soc/s3c24xx/pcm.c
+++ b/sound/soc/samsung/pcm.c
@@ -1,4 +1,4 @@
-/* sound/soc/s3c24xx/pcm.c
+/* sound/soc/samsung/pcm.c
*
* ALSA SoC Audio Layer - S3C PCM-Controller driver
*
diff --git a/sound/soc/s3c24xx/pcm.h b/sound/soc/samsung/pcm.h
similarity index 99%
rename from sound/soc/s3c24xx/pcm.h
rename to sound/soc/samsung/pcm.h
index 3775216..03393dc 100644
--- a/sound/soc/s3c24xx/pcm.h
+++ b/sound/soc/samsung/pcm.h
@@ -1,4 +1,4 @@
-/* sound/soc/s3c24xx/pcm.h
+/* sound/soc/samsung/pcm.h
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
diff --git a/sound/soc/s3c24xx/regs-i2s-v2.h b/sound/soc/samsung/regs-i2s-v2.h
similarity index 100%
rename from sound/soc/s3c24xx/regs-i2s-v2.h
rename to sound/soc/samsung/regs-i2s-v2.h
diff --git a/sound/soc/s3c24xx/rx1950_uda1380.c b/sound/soc/samsung/rx1950_uda1380.c
similarity index 100%
rename from sound/soc/s3c24xx/rx1950_uda1380.c
rename to sound/soc/samsung/rx1950_uda1380.c
diff --git a/sound/soc/s3c24xx/s3c-i2s-v2.c b/sound/soc/samsung/s3c-i2s-v2.c
similarity index 99%
rename from sound/soc/s3c24xx/s3c-i2s-v2.c
rename to sound/soc/samsung/s3c-i2s-v2.c
index c471431..094f36e 100644
--- a/sound/soc/s3c24xx/s3c-i2s-v2.c
+++ b/sound/soc/samsung/s3c-i2s-v2.c
@@ -1,4 +1,4 @@
-/* sound/soc/s3c24xx/s3c-i2c-v2.c
+/* sound/soc/samsung/s3c-i2c-v2.c
*
* ALSA Soc Audio Layer - I2S core for newer Samsung SoCs.
*
diff --git a/sound/soc/s3c24xx/s3c-i2s-v2.h b/sound/soc/samsung/s3c-i2s-v2.h
similarity index 98%
rename from sound/soc/s3c24xx/s3c-i2s-v2.h
rename to sound/soc/samsung/s3c-i2s-v2.h
index d458301..f8297d9 100644
--- a/sound/soc/s3c24xx/s3c-i2s-v2.h
+++ b/sound/soc/samsung/s3c-i2s-v2.h
@@ -1,4 +1,4 @@
-/* sound/soc/s3c24xx/s3c-i2s-v2.h
+/* sound/soc/samsung/s3c-i2s-v2.h
*
* ALSA Soc Audio Layer - S3C_I2SV2 I2S driver
*
diff --git a/sound/soc/s3c24xx/s3c2412-i2s.c b/sound/soc/samsung/s3c2412-i2s.c
similarity index 99%
rename from sound/soc/s3c24xx/s3c2412-i2s.c
rename to sound/soc/samsung/s3c2412-i2s.c
index d953ff4..7ea8378 100644
--- a/sound/soc/s3c24xx/s3c2412-i2s.c
+++ b/sound/soc/samsung/s3c2412-i2s.c
@@ -1,4 +1,4 @@
-/* sound/soc/s3c24xx/s3c2412-i2s.c
+/* sound/soc/samsung/s3c2412-i2s.c
*
* ALSA Soc Audio Layer - S3C2412 I2S driver
*
diff --git a/sound/soc/s3c24xx/s3c2412-i2s.h b/sound/soc/samsung/s3c2412-i2s.h
similarity index 95%
rename from sound/soc/s3c24xx/s3c2412-i2s.h
rename to sound/soc/samsung/s3c2412-i2s.h
index 01a0471..02ad579 100644
--- a/sound/soc/s3c24xx/s3c2412-i2s.h
+++ b/sound/soc/samsung/s3c2412-i2s.h
@@ -1,4 +1,4 @@
-/* sound/soc/s3c24xx/s3c2412-i2s.c
+/* sound/soc/samsung/s3c2412-i2s.c
*
* ALSA Soc Audio Layer - S3C2412 I2S driver
*
diff --git a/sound/soc/s3c24xx/s3c24xx-i2s.c b/sound/soc/samsung/s3c24xx-i2s.c
similarity index 100%
rename from sound/soc/s3c24xx/s3c24xx-i2s.c
rename to sound/soc/samsung/s3c24xx-i2s.c
diff --git a/sound/soc/s3c24xx/s3c24xx-i2s.h b/sound/soc/samsung/s3c24xx-i2s.h
similarity index 100%
rename from sound/soc/s3c24xx/s3c24xx-i2s.h
rename to sound/soc/samsung/s3c24xx-i2s.h
diff --git a/sound/soc/s3c24xx/s3c24xx_simtec.c b/sound/soc/samsung/s3c24xx_simtec.c
similarity index 99%
rename from sound/soc/s3c24xx/s3c24xx_simtec.c
rename to sound/soc/samsung/s3c24xx_simtec.c
index 3f052a5..4a1b002 100644
--- a/sound/soc/s3c24xx/s3c24xx_simtec.c
+++ b/sound/soc/samsung/s3c24xx_simtec.c
@@ -1,4 +1,4 @@
-/* sound/soc/s3c24xx/s3c24xx_simtec.c
+/* sound/soc/samsung/s3c24xx_simtec.c
*
* Copyright 2009 Simtec Electronics
*
diff --git a/sound/soc/s3c24xx/s3c24xx_simtec.h b/sound/soc/samsung/s3c24xx_simtec.h
similarity index 94%
rename from sound/soc/s3c24xx/s3c24xx_simtec.h
rename to sound/soc/samsung/s3c24xx_simtec.h
index e63d5ff..8270748 100644
--- a/sound/soc/s3c24xx/s3c24xx_simtec.h
+++ b/sound/soc/samsung/s3c24xx_simtec.h
@@ -1,4 +1,4 @@
-/* sound/soc/s3c24xx/s3c24xx_simtec.h
+/* sound/soc/samsung/s3c24xx_simtec.h
*
* Copyright 2009 Simtec Electronics
*
diff --git a/sound/soc/s3c24xx/s3c24xx_simtec_hermes.c b/sound/soc/samsung/s3c24xx_simtec_hermes.c
similarity index 98%
rename from sound/soc/s3c24xx/s3c24xx_simtec_hermes.c
rename to sound/soc/samsung/s3c24xx_simtec_hermes.c
index 8b246ab..fec4cac 100644
--- a/sound/soc/s3c24xx/s3c24xx_simtec_hermes.c
+++ b/sound/soc/samsung/s3c24xx_simtec_hermes.c
@@ -1,4 +1,4 @@
-/* sound/soc/s3c24xx/s3c24xx_simtec_hermes.c
+/* sound/soc/samsung/s3c24xx_simtec_hermes.c
*
* Copyright 2009 Simtec Electronics
*
diff --git a/sound/soc/s3c24xx/s3c24xx_simtec_tlv320aic23.c b/sound/soc/samsung/s3c24xx_simtec_tlv320aic23.c
similarity index 98%
rename from sound/soc/s3c24xx/s3c24xx_simtec_tlv320aic23.c
rename to sound/soc/samsung/s3c24xx_simtec_tlv320aic23.c
index a922e1e..7915e02 100644
--- a/sound/soc/s3c24xx/s3c24xx_simtec_tlv320aic23.c
+++ b/sound/soc/samsung/s3c24xx_simtec_tlv320aic23.c
@@ -1,4 +1,4 @@
-/* sound/soc/s3c24xx/s3c24xx_simtec_tlv320aic23.c
+/* sound/soc/samsung/s3c24xx_simtec_tlv320aic23.c
*
* Copyright 2009 Simtec Electronics
*
diff --git a/sound/soc/s3c24xx/s3c24xx_uda134x.c b/sound/soc/samsung/s3c24xx_uda134x.c
similarity index 100%
rename from sound/soc/s3c24xx/s3c24xx_uda134x.c
rename to sound/soc/samsung/s3c24xx_uda134x.c
diff --git a/sound/soc/s3c24xx/smartq_wm8987.c b/sound/soc/samsung/smartq_wm8987.c
similarity index 99%
rename from sound/soc/s3c24xx/smartq_wm8987.c
rename to sound/soc/samsung/smartq_wm8987.c
index 5fcc420..3564e00 100644
--- a/sound/soc/s3c24xx/smartq_wm8987.c
+++ b/sound/soc/samsung/smartq_wm8987.c
@@ -1,4 +1,4 @@
-/* sound/soc/s3c24xx/smartq_wm8987.c
+/* sound/soc/samsung/smartq_wm8987.c
*
* Copyright 2010 Maurus Cuelenaere <mcuelenaere@gmail.com>
*
diff --git a/sound/soc/s3c24xx/smdk2443_wm9710.c b/sound/soc/samsung/smdk2443_wm9710.c
similarity index 100%
rename from sound/soc/s3c24xx/smdk2443_wm9710.c
rename to sound/soc/samsung/smdk2443_wm9710.c
diff --git a/sound/soc/s3c24xx/smdk_spdif.c b/sound/soc/samsung/smdk_spdif.c
similarity index 100%
rename from sound/soc/s3c24xx/smdk_spdif.c
rename to sound/soc/samsung/smdk_spdif.c
diff --git a/sound/soc/s3c24xx/smdk_wm8580.c b/sound/soc/samsung/smdk_wm8580.c
similarity index 100%
rename from sound/soc/s3c24xx/smdk_wm8580.c
rename to sound/soc/samsung/smdk_wm8580.c
diff --git a/sound/soc/s3c24xx/smdk_wm9713.c b/sound/soc/samsung/smdk_wm9713.c
similarity index 100%
rename from sound/soc/s3c24xx/smdk_wm9713.c
rename to sound/soc/samsung/smdk_wm9713.c
diff --git a/sound/soc/s3c24xx/spdif.c b/sound/soc/samsung/spdif.c
similarity index 99%
rename from sound/soc/s3c24xx/spdif.c
rename to sound/soc/samsung/spdif.c
index dc85df3..f081640 100644
--- a/sound/soc/s3c24xx/spdif.c
+++ b/sound/soc/samsung/spdif.c
@@ -1,4 +1,4 @@
-/* sound/soc/s3c24xx/spdif.c
+/* sound/soc/samsung/spdif.c
*
* ALSA SoC Audio Layer - Samsung S/PDIF Controller driver
*
diff --git a/sound/soc/s3c24xx/spdif.h b/sound/soc/samsung/spdif.h
similarity index 94%
rename from sound/soc/s3c24xx/spdif.h
rename to sound/soc/samsung/spdif.h
index 3ed5559..4f72cb4 100644
--- a/sound/soc/s3c24xx/spdif.h
+++ b/sound/soc/samsung/spdif.h
@@ -1,4 +1,4 @@
-/* sound/soc/s3c24xx/spdif.h
+/* sound/soc/samsung/spdif.h
*
* ALSA SoC Audio Layer - Samsung S/PDIF Controller driver
*
--
1.6.2.5
^ permalink raw reply related [flat|nested] 31+ messages in thread* Re: [PATCH 24/24] ASoC: Samsung: Rename from s3c24xx to samsung
2010-10-22 8:40 ` [PATCH 24/24] ASoC: Samsung: Rename from s3c24xx to samsung Jassi Brar
@ 2010-10-23 1:39 ` Kyungmin Park
0 siblings, 0 replies; 31+ messages in thread
From: Kyungmin Park @ 2010-10-23 1:39 UTC (permalink / raw)
To: Jassi Brar
Cc: alsa-devel, kgene.kim, Jassi Brar, broonie, ben-linux, june.bae,
sw.youn, lrg
Acked-by: Kyungmin Park <kyungmin.park@samsung.com>
On Oct 22, 2010 5:49 PM, "Jassi Brar" <jassisinghbrar@gmail.com> wrote:
> From: Jassi Brar <jassi.brar@samsung.com>
>
> Finally, move the 's3c24xx' directory to 'samsung'
>
> Signed-off-by: Jassi Brar <jassi.brar@samsung.com>
> ---
> sound/soc/Kconfig | 2 +-
> sound/soc/Makefile | 2 +-
> sound/soc/{s3c24xx => samsung}/Kconfig | 0
> sound/soc/{s3c24xx => samsung}/Makefile | 0
> sound/soc/{s3c24xx => samsung}/ac97.c | 2 +-
> sound/soc/{s3c24xx => samsung}/ac97.h | 2 +-
> sound/soc/{s3c24xx => samsung}/dma.c | 0
> sound/soc/{s3c24xx => samsung}/dma.h | 0
> sound/soc/{s3c24xx => samsung}/goni_wm8994.c | 0
> sound/soc/{s3c24xx => samsung}/i2s.c | 2 +-
> sound/soc/{s3c24xx => samsung}/i2s.h | 2 +-
> sound/soc/{s3c24xx => samsung}/jive_wm8750.c | 2 +-
> sound/soc/{s3c24xx => samsung}/lm4857.h | 0
> sound/soc/{s3c24xx => samsung}/ln2440sbc_alc650.c | 0
> .../{s3c24xx => samsung}/neo1973_gta02_wm8753.c | 0
> sound/soc/{s3c24xx => samsung}/neo1973_wm8753.c | 0
> sound/soc/{s3c24xx => samsung}/pcm.c | 2 +-
> sound/soc/{s3c24xx => samsung}/pcm.h | 2 +-
> sound/soc/{s3c24xx => samsung}/regs-i2s-v2.h | 0
> sound/soc/{s3c24xx => samsung}/rx1950_uda1380.c | 0
> sound/soc/{s3c24xx => samsung}/s3c-i2s-v2.c | 2 +-
> sound/soc/{s3c24xx => samsung}/s3c-i2s-v2.h | 2 +-
> sound/soc/{s3c24xx => samsung}/s3c2412-i2s.c | 2 +-
> sound/soc/{s3c24xx => samsung}/s3c2412-i2s.h | 2 +-
> sound/soc/{s3c24xx => samsung}/s3c24xx-i2s.c | 0
> sound/soc/{s3c24xx => samsung}/s3c24xx-i2s.h | 0
> sound/soc/{s3c24xx => samsung}/s3c24xx_simtec.c | 2 +-
> sound/soc/{s3c24xx => samsung}/s3c24xx_simtec.h | 2 +-
> .../{s3c24xx => samsung}/s3c24xx_simtec_hermes.c | 2 +-
> .../s3c24xx_simtec_tlv320aic23.c | 2 +-
> sound/soc/{s3c24xx => samsung}/s3c24xx_uda134x.c | 0
> sound/soc/{s3c24xx => samsung}/smartq_wm8987.c | 2 +-
> sound/soc/{s3c24xx => samsung}/smdk2443_wm9710.c | 0
> sound/soc/{s3c24xx => samsung}/smdk_spdif.c | 0
> sound/soc/{s3c24xx => samsung}/smdk_wm8580.c | 0
> sound/soc/{s3c24xx => samsung}/smdk_wm9713.c | 0
> sound/soc/{s3c24xx => samsung}/spdif.c | 2 +-
> sound/soc/{s3c24xx => samsung}/spdif.h | 2 +-
> 38 files changed, 20 insertions(+), 20 deletions(-)
> rename sound/soc/{s3c24xx => samsung}/Kconfig (100%)
> rename sound/soc/{s3c24xx => samsung}/Makefile (100%)
> rename sound/soc/{s3c24xx => samsung}/ac97.c (99%)
> rename sound/soc/{s3c24xx => samsung}/ac97.h (95%)
> rename sound/soc/{s3c24xx => samsung}/dma.c (100%)
> rename sound/soc/{s3c24xx => samsung}/dma.h (100%)
> rename sound/soc/{s3c24xx => samsung}/goni_wm8994.c (100%)
> rename sound/soc/{s3c24xx => samsung}/i2s.c (99%)
> rename sound/soc/{s3c24xx => samsung}/i2s.h (96%)
> rename sound/soc/{s3c24xx => samsung}/jive_wm8750.c (99%)
> rename sound/soc/{s3c24xx => samsung}/lm4857.h (100%)
> rename sound/soc/{s3c24xx => samsung}/ln2440sbc_alc650.c (100%)
> rename sound/soc/{s3c24xx => samsung}/neo1973_gta02_wm8753.c (100%)
> rename sound/soc/{s3c24xx => samsung}/neo1973_wm8753.c (100%)
> rename sound/soc/{s3c24xx => samsung}/pcm.c (99%)
> rename sound/soc/{s3c24xx => samsung}/pcm.h (99%)
> rename sound/soc/{s3c24xx => samsung}/regs-i2s-v2.h (100%)
> rename sound/soc/{s3c24xx => samsung}/rx1950_uda1380.c (100%)
> rename sound/soc/{s3c24xx => samsung}/s3c-i2s-v2.c (99%)
> rename sound/soc/{s3c24xx => samsung}/s3c-i2s-v2.h (98%)
> rename sound/soc/{s3c24xx => samsung}/s3c2412-i2s.c (99%)
> rename sound/soc/{s3c24xx => samsung}/s3c2412-i2s.h (95%)
> rename sound/soc/{s3c24xx => samsung}/s3c24xx-i2s.c (100%)
> rename sound/soc/{s3c24xx => samsung}/s3c24xx-i2s.h (100%)
> rename sound/soc/{s3c24xx => samsung}/s3c24xx_simtec.c (99%)
> rename sound/soc/{s3c24xx => samsung}/s3c24xx_simtec.h (94%)
> rename sound/soc/{s3c24xx => samsung}/s3c24xx_simtec_hermes.c (98%)
> rename sound/soc/{s3c24xx => samsung}/s3c24xx_simtec_tlv320aic23.c (98%)
> rename sound/soc/{s3c24xx => samsung}/s3c24xx_uda134x.c (100%)
> rename sound/soc/{s3c24xx => samsung}/smartq_wm8987.c (99%)
> rename sound/soc/{s3c24xx => samsung}/smdk2443_wm9710.c (100%)
> rename sound/soc/{s3c24xx => samsung}/smdk_spdif.c (100%)
> rename sound/soc/{s3c24xx => samsung}/smdk_wm8580.c (100%)
> rename sound/soc/{s3c24xx => samsung}/smdk_wm9713.c (100%)
> rename sound/soc/{s3c24xx => samsung}/spdif.c (99%)
> rename sound/soc/{s3c24xx => samsung}/spdif.h (94%)
>
> diff --git a/sound/soc/Kconfig b/sound/soc/Kconfig
> index 3e598e7..2722b19 100644
> --- a/sound/soc/Kconfig
> +++ b/sound/soc/Kconfig
> @@ -36,7 +36,7 @@ source "sound/soc/nuc900/Kconfig"
> source "sound/soc/omap/Kconfig"
> source "sound/soc/kirkwood/Kconfig"
> source "sound/soc/pxa/Kconfig"
> -source "sound/soc/s3c24xx/Kconfig"
> +source "sound/soc/samsung/Kconfig"
> source "sound/soc/s6000/Kconfig"
> source "sound/soc/sh/Kconfig"
> source "sound/soc/txx9/Kconfig"
> diff --git a/sound/soc/Makefile b/sound/soc/Makefile
> index eb18344..ce913bf 100644
> --- a/sound/soc/Makefile
> +++ b/sound/soc/Makefile
> @@ -14,7 +14,7 @@ obj-$(CONFIG_SND_SOC) += nuc900/
> obj-$(CONFIG_SND_SOC) += omap/
> obj-$(CONFIG_SND_SOC) += kirkwood/
> obj-$(CONFIG_SND_SOC) += pxa/
> -obj-$(CONFIG_SND_SOC) += s3c24xx/
> +obj-$(CONFIG_SND_SOC) += samsung/
> obj-$(CONFIG_SND_SOC) += s6000/
> obj-$(CONFIG_SND_SOC) += sh/
> obj-$(CONFIG_SND_SOC) += txx9/
> diff --git a/sound/soc/s3c24xx/Kconfig b/sound/soc/samsung/Kconfig
> similarity index 100%
> rename from sound/soc/s3c24xx/Kconfig
> rename to sound/soc/samsung/Kconfig
> diff --git a/sound/soc/s3c24xx/Makefile b/sound/soc/samsung/Makefile
> similarity index 100%
> rename from sound/soc/s3c24xx/Makefile
> rename to sound/soc/samsung/Makefile
> diff --git a/sound/soc/s3c24xx/ac97.c b/sound/soc/samsung/ac97.c
> similarity index 99%
> rename from sound/soc/s3c24xx/ac97.c
> rename to sound/soc/samsung/ac97.c
> index 4f999d1..4770a95 100644
> --- a/sound/soc/s3c24xx/ac97.c
> +++ b/sound/soc/samsung/ac97.c
> @@ -1,4 +1,4 @@
> -/* sound/soc/s3c24xx/ac97.c
> +/* sound/soc/samsung/ac97.c
> *
> * ALSA SoC Audio Layer - S3C AC97 Controller driver
> * Evolved from s3c2443-ac97.c
> diff --git a/sound/soc/s3c24xx/ac97.h b/sound/soc/samsung/ac97.h
> similarity index 95%
> rename from sound/soc/s3c24xx/ac97.h
> rename to sound/soc/samsung/ac97.h
> index a8f01b7..0d0e1b5 100644
> --- a/sound/soc/s3c24xx/ac97.h
> +++ b/sound/soc/samsung/ac97.h
> @@ -1,4 +1,4 @@
> -/* sound/soc/s3c24xx/ac97.h
> +/* sound/soc/samsung/ac97.h
> *
> * ALSA SoC Audio Layer - S3C AC97 Controller driver
> * Evolved from s3c2443-ac97.h
> diff --git a/sound/soc/s3c24xx/dma.c b/sound/soc/samsung/dma.c
> similarity index 100%
> rename from sound/soc/s3c24xx/dma.c
> rename to sound/soc/samsung/dma.c
> diff --git a/sound/soc/s3c24xx/dma.h b/sound/soc/samsung/dma.h
> similarity index 100%
> rename from sound/soc/s3c24xx/dma.h
> rename to sound/soc/samsung/dma.h
> diff --git a/sound/soc/s3c24xx/goni_wm8994.c
b/sound/soc/samsung/goni_wm8994.c
> similarity index 100%
> rename from sound/soc/s3c24xx/goni_wm8994.c
> rename to sound/soc/samsung/goni_wm8994.c
> diff --git a/sound/soc/s3c24xx/i2s.c b/sound/soc/samsung/i2s.c
> similarity index 99%
> rename from sound/soc/s3c24xx/i2s.c
> rename to sound/soc/samsung/i2s.c
> index 7e6ddfa..d6de3f0 100644
> --- a/sound/soc/s3c24xx/i2s.c
> +++ b/sound/soc/samsung/i2s.c
> @@ -1,4 +1,4 @@
> -/* sound/soc/s3c24xx/i2s.c
> +/* sound/soc/samsung/i2s.c
> *
> * ALSA SoC Audio Layer - Samsung I2S Controller driver
> *
> diff --git a/sound/soc/s3c24xx/i2s.h b/sound/soc/samsung/i2s.h
> similarity index 96%
> rename from sound/soc/s3c24xx/i2s.h
> rename to sound/soc/samsung/i2s.h
> index d3180b3..8e15f6a 100644
> --- a/sound/soc/s3c24xx/i2s.h
> +++ b/sound/soc/samsung/i2s.h
> @@ -1,4 +1,4 @@
> -/* sound/soc/s3c24xx/i2s.h
> +/* sound/soc/samsung/i2s.h
> *
> * ALSA SoC Audio Layer - Samsung I2S Controller driver
> *
> diff --git a/sound/soc/s3c24xx/jive_wm8750.c
b/sound/soc/samsung/jive_wm8750.c
> similarity index 99%
> rename from sound/soc/s3c24xx/jive_wm8750.c
> rename to sound/soc/samsung/jive_wm8750.c
> index 4e1b8ac..fe1649e 100644
> --- a/sound/soc/s3c24xx/jive_wm8750.c
> +++ b/sound/soc/samsung/jive_wm8750.c
> @@ -1,4 +1,4 @@
> -/* sound/soc/s3c24xx/jive_wm8750.c
> +/* sound/soc/samsung/jive_wm8750.c
> *
> * Copyright 2007,2008 Simtec Electronics
> *
> diff --git a/sound/soc/s3c24xx/lm4857.h b/sound/soc/samsung/lm4857.h
> similarity index 100%
> rename from sound/soc/s3c24xx/lm4857.h
> rename to sound/soc/samsung/lm4857.h
> diff --git a/sound/soc/s3c24xx/ln2440sbc_alc650.c
b/sound/soc/samsung/ln2440sbc_alc650.c
> similarity index 100%
> rename from sound/soc/s3c24xx/ln2440sbc_alc650.c
> rename to sound/soc/samsung/ln2440sbc_alc650.c
> diff --git a/sound/soc/s3c24xx/neo1973_gta02_wm8753.c
b/sound/soc/samsung/neo1973_gta02_wm8753.c
> similarity index 100%
> rename from sound/soc/s3c24xx/neo1973_gta02_wm8753.c
> rename to sound/soc/samsung/neo1973_gta02_wm8753.c
> diff --git a/sound/soc/s3c24xx/neo1973_wm8753.c
b/sound/soc/samsung/neo1973_wm8753.c
> similarity index 100%
> rename from sound/soc/s3c24xx/neo1973_wm8753.c
> rename to sound/soc/samsung/neo1973_wm8753.c
> diff --git a/sound/soc/s3c24xx/pcm.c b/sound/soc/samsung/pcm.c
> similarity index 99%
> rename from sound/soc/s3c24xx/pcm.c
> rename to sound/soc/samsung/pcm.c
> index 4d0f6e4..48d0b75 100644
> --- a/sound/soc/s3c24xx/pcm.c
> +++ b/sound/soc/samsung/pcm.c
> @@ -1,4 +1,4 @@
> -/* sound/soc/s3c24xx/pcm.c
> +/* sound/soc/samsung/pcm.c
> *
> * ALSA SoC Audio Layer - S3C PCM-Controller driver
> *
> diff --git a/sound/soc/s3c24xx/pcm.h b/sound/soc/samsung/pcm.h
> similarity index 99%
> rename from sound/soc/s3c24xx/pcm.h
> rename to sound/soc/samsung/pcm.h
> index 3775216..03393dc 100644
> --- a/sound/soc/s3c24xx/pcm.h
> +++ b/sound/soc/samsung/pcm.h
> @@ -1,4 +1,4 @@
> -/* sound/soc/s3c24xx/pcm.h
> +/* sound/soc/samsung/pcm.h
> *
> * This program is free software; you can redistribute it and/or modify
> * it under the terms of the GNU General Public License version 2 as
> diff --git a/sound/soc/s3c24xx/regs-i2s-v2.h
b/sound/soc/samsung/regs-i2s-v2.h
> similarity index 100%
> rename from sound/soc/s3c24xx/regs-i2s-v2.h
> rename to sound/soc/samsung/regs-i2s-v2.h
> diff --git a/sound/soc/s3c24xx/rx1950_uda1380.c
b/sound/soc/samsung/rx1950_uda1380.c
> similarity index 100%
> rename from sound/soc/s3c24xx/rx1950_uda1380.c
> rename to sound/soc/samsung/rx1950_uda1380.c
> diff --git a/sound/soc/s3c24xx/s3c-i2s-v2.c
b/sound/soc/samsung/s3c-i2s-v2.c
> similarity index 99%
> rename from sound/soc/s3c24xx/s3c-i2s-v2.c
> rename to sound/soc/samsung/s3c-i2s-v2.c
> index c471431..094f36e 100644
> --- a/sound/soc/s3c24xx/s3c-i2s-v2.c
> +++ b/sound/soc/samsung/s3c-i2s-v2.c
> @@ -1,4 +1,4 @@
> -/* sound/soc/s3c24xx/s3c-i2c-v2.c
> +/* sound/soc/samsung/s3c-i2c-v2.c
> *
> * ALSA Soc Audio Layer - I2S core for newer Samsung SoCs.
> *
> diff --git a/sound/soc/s3c24xx/s3c-i2s-v2.h
b/sound/soc/samsung/s3c-i2s-v2.h
> similarity index 98%
> rename from sound/soc/s3c24xx/s3c-i2s-v2.h
> rename to sound/soc/samsung/s3c-i2s-v2.h
> index d458301..f8297d9 100644
> --- a/sound/soc/s3c24xx/s3c-i2s-v2.h
> +++ b/sound/soc/samsung/s3c-i2s-v2.h
> @@ -1,4 +1,4 @@
> -/* sound/soc/s3c24xx/s3c-i2s-v2.h
> +/* sound/soc/samsung/s3c-i2s-v2.h
> *
> * ALSA Soc Audio Layer - S3C_I2SV2 I2S driver
> *
> diff --git a/sound/soc/s3c24xx/s3c2412-i2s.c
b/sound/soc/samsung/s3c2412-i2s.c
> similarity index 99%
> rename from sound/soc/s3c24xx/s3c2412-i2s.c
> rename to sound/soc/samsung/s3c2412-i2s.c
> index d953ff4..7ea8378 100644
> --- a/sound/soc/s3c24xx/s3c2412-i2s.c
> +++ b/sound/soc/samsung/s3c2412-i2s.c
> @@ -1,4 +1,4 @@
> -/* sound/soc/s3c24xx/s3c2412-i2s.c
> +/* sound/soc/samsung/s3c2412-i2s.c
> *
> * ALSA Soc Audio Layer - S3C2412 I2S driver
> *
> diff --git a/sound/soc/s3c24xx/s3c2412-i2s.h
b/sound/soc/samsung/s3c2412-i2s.h
> similarity index 95%
> rename from sound/soc/s3c24xx/s3c2412-i2s.h
> rename to sound/soc/samsung/s3c2412-i2s.h
> index 01a0471..02ad579 100644
> --- a/sound/soc/s3c24xx/s3c2412-i2s.h
> +++ b/sound/soc/samsung/s3c2412-i2s.h
> @@ -1,4 +1,4 @@
> -/* sound/soc/s3c24xx/s3c2412-i2s.c
> +/* sound/soc/samsung/s3c2412-i2s.c
> *
> * ALSA Soc Audio Layer - S3C2412 I2S driver
> *
> diff --git a/sound/soc/s3c24xx/s3c24xx-i2s.c
b/sound/soc/samsung/s3c24xx-i2s.c
> similarity index 100%
> rename from sound/soc/s3c24xx/s3c24xx-i2s.c
> rename to sound/soc/samsung/s3c24xx-i2s.c
> diff --git a/sound/soc/s3c24xx/s3c24xx-i2s.h
b/sound/soc/samsung/s3c24xx-i2s.h
> similarity index 100%
> rename from sound/soc/s3c24xx/s3c24xx-i2s.h
> rename to sound/soc/samsung/s3c24xx-i2s.h
> diff --git a/sound/soc/s3c24xx/s3c24xx_simtec.c
b/sound/soc/samsung/s3c24xx_simtec.c
> similarity index 99%
> rename from sound/soc/s3c24xx/s3c24xx_simtec.c
> rename to sound/soc/samsung/s3c24xx_simtec.c
> index 3f052a5..4a1b002 100644
> --- a/sound/soc/s3c24xx/s3c24xx_simtec.c
> +++ b/sound/soc/samsung/s3c24xx_simtec.c
> @@ -1,4 +1,4 @@
> -/* sound/soc/s3c24xx/s3c24xx_simtec.c
> +/* sound/soc/samsung/s3c24xx_simtec.c
> *
> * Copyright 2009 Simtec Electronics
> *
> diff --git a/sound/soc/s3c24xx/s3c24xx_simtec.h
b/sound/soc/samsung/s3c24xx_simtec.h
> similarity index 94%
> rename from sound/soc/s3c24xx/s3c24xx_simtec.h
> rename to sound/soc/samsung/s3c24xx_simtec.h
> index e63d5ff..8270748 100644
> --- a/sound/soc/s3c24xx/s3c24xx_simtec.h
> +++ b/sound/soc/samsung/s3c24xx_simtec.h
> @@ -1,4 +1,4 @@
> -/* sound/soc/s3c24xx/s3c24xx_simtec.h
> +/* sound/soc/samsung/s3c24xx_simtec.h
> *
> * Copyright 2009 Simtec Electronics
> *
> diff --git a/sound/soc/s3c24xx/s3c24xx_simtec_hermes.c
b/sound/soc/samsung/s3c24xx_simtec_hermes.c
> similarity index 98%
> rename from sound/soc/s3c24xx/s3c24xx_simtec_hermes.c
> rename to sound/soc/samsung/s3c24xx_simtec_hermes.c
> index 8b246ab..fec4cac 100644
> --- a/sound/soc/s3c24xx/s3c24xx_simtec_hermes.c
> +++ b/sound/soc/samsung/s3c24xx_simtec_hermes.c
> @@ -1,4 +1,4 @@
> -/* sound/soc/s3c24xx/s3c24xx_simtec_hermes.c
> +/* sound/soc/samsung/s3c24xx_simtec_hermes.c
> *
> * Copyright 2009 Simtec Electronics
> *
> diff --git a/sound/soc/s3c24xx/s3c24xx_simtec_tlv320aic23.c
b/sound/soc/samsung/s3c24xx_simtec_tlv320aic23.c
> similarity index 98%
> rename from sound/soc/s3c24xx/s3c24xx_simtec_tlv320aic23.c
> rename to sound/soc/samsung/s3c24xx_simtec_tlv320aic23.c
> index a922e1e..7915e02 100644
> --- a/sound/soc/s3c24xx/s3c24xx_simtec_tlv320aic23.c
> +++ b/sound/soc/samsung/s3c24xx_simtec_tlv320aic23.c
> @@ -1,4 +1,4 @@
> -/* sound/soc/s3c24xx/s3c24xx_simtec_tlv320aic23.c
> +/* sound/soc/samsung/s3c24xx_simtec_tlv320aic23.c
> *
> * Copyright 2009 Simtec Electronics
> *
> diff --git a/sound/soc/s3c24xx/s3c24xx_uda134x.c
b/sound/soc/samsung/s3c24xx_uda134x.c
> similarity index 100%
> rename from sound/soc/s3c24xx/s3c24xx_uda134x.c
> rename to sound/soc/samsung/s3c24xx_uda134x.c
> diff --git a/sound/soc/s3c24xx/smartq_wm8987.c
b/sound/soc/samsung/smartq_wm8987.c
> similarity index 99%
> rename from sound/soc/s3c24xx/smartq_wm8987.c
> rename to sound/soc/samsung/smartq_wm8987.c
> index 5fcc420..3564e00 100644
> --- a/sound/soc/s3c24xx/smartq_wm8987.c
> +++ b/sound/soc/samsung/smartq_wm8987.c
> @@ -1,4 +1,4 @@
> -/* sound/soc/s3c24xx/smartq_wm8987.c
> +/* sound/soc/samsung/smartq_wm8987.c
> *
> * Copyright 2010 Maurus Cuelenaere <mcuelenaere@gmail.com>
> *
> diff --git a/sound/soc/s3c24xx/smdk2443_wm9710.c
b/sound/soc/samsung/smdk2443_wm9710.c
> similarity index 100%
> rename from sound/soc/s3c24xx/smdk2443_wm9710.c
> rename to sound/soc/samsung/smdk2443_wm9710.c
> diff --git a/sound/soc/s3c24xx/smdk_spdif.c
b/sound/soc/samsung/smdk_spdif.c
> similarity index 100%
> rename from sound/soc/s3c24xx/smdk_spdif.c
> rename to sound/soc/samsung/smdk_spdif.c
> diff --git a/sound/soc/s3c24xx/smdk_wm8580.c
b/sound/soc/samsung/smdk_wm8580.c
> similarity index 100%
> rename from sound/soc/s3c24xx/smdk_wm8580.c
> rename to sound/soc/samsung/smdk_wm8580.c
> diff --git a/sound/soc/s3c24xx/smdk_wm9713.c
b/sound/soc/samsung/smdk_wm9713.c
> similarity index 100%
> rename from sound/soc/s3c24xx/smdk_wm9713.c
> rename to sound/soc/samsung/smdk_wm9713.c
> diff --git a/sound/soc/s3c24xx/spdif.c b/sound/soc/samsung/spdif.c
> similarity index 99%
> rename from sound/soc/s3c24xx/spdif.c
> rename to sound/soc/samsung/spdif.c
> index dc85df3..f081640 100644
> --- a/sound/soc/s3c24xx/spdif.c
> +++ b/sound/soc/samsung/spdif.c
> @@ -1,4 +1,4 @@
> -/* sound/soc/s3c24xx/spdif.c
> +/* sound/soc/samsung/spdif.c
> *
> * ALSA SoC Audio Layer - Samsung S/PDIF Controller driver
> *
> diff --git a/sound/soc/s3c24xx/spdif.h b/sound/soc/samsung/spdif.h
> similarity index 94%
> rename from sound/soc/s3c24xx/spdif.h
> rename to sound/soc/samsung/spdif.h
> index 3ed5559..4f72cb4 100644
> --- a/sound/soc/s3c24xx/spdif.h
> +++ b/sound/soc/samsung/spdif.h
> @@ -1,4 +1,4 @@
> -/* sound/soc/s3c24xx/spdif.h
> +/* sound/soc/samsung/spdif.h
> *
> * ALSA SoC Audio Layer - Samsung S/PDIF Controller driver
> *
> --
> 1.6.2.5
>
> _______________________________________________
> Alsa-devel mailing list
> Alsa-devel@alsa-project.org
> http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [PATCHv2] ASoC: Overhaul Samsung drivers
2010-10-22 8:30 [PATCHv2] ASoC: Overhaul Samsung drivers Jassi Brar
` (23 preceding siblings ...)
2010-10-22 8:40 ` [PATCH 24/24] ASoC: Samsung: Rename from s3c24xx to samsung Jassi Brar
@ 2010-10-22 14:08 ` Kukjin Kim
2010-10-25 2:17 ` Jassi Brar
24 siblings, 1 reply; 31+ messages in thread
From: Kukjin Kim @ 2010-10-22 14:08 UTC (permalink / raw)
To: 'Jassi Brar', alsa-devel
Cc: 'Jassi Brar', broonie, mcuelenaere, cw00.choi, ben-linux,
june.bae, lrg, sw.youn
Jassi Brar wrote:
>
> From: Jassi Brar <jassi.brar@samsung.com>
>
> Hi,
>
Hi,
> Submitting revised patch series.
>
> Patches 11 through 16 apply to Kgene's tree, rest apply to
> Mark Brown's.
>
Hmm...
I faced with following build error after applying above 6 patches into my
tree.
It means can't make clean tree with only arch/arm patches?...
NO...just need to update arch/arm/plat-samsung/include/plat/audio.h of your
10/24 patch.
Please separate 10/24...there is no reason that to change plat/audio.h
belong to 10/24(Add common I2S driver)
arch/arm/mach-s3c64xx/dev-audio.c:77: error: unknown field 'type' specified
in initializer
arch/arm/mach-s3c64xx/dev-audio.c:77: error: extra brace group at end of
initializer
arch/arm/mach-s3c64xx/dev-audio.c:77: error: (near initialization for
'i2sv3_pdata')
arch/arm/mach-s3c64xx/dev-audio.c:78: error: extra brace group at end of
initializer
arch/arm/mach-s3c64xx/dev-audio.c:78: error: (near initialization for
'i2sv3_pdata')
arch/arm/mach-s3c64xx/dev-audio.c:81: warning: excess elements in struct
initializer
arch/arm/mach-s3c64xx/dev-audio.c:81: warning: (near initialization for
'i2sv3_pdata')
arch/arm/mach-s3c64xx/dev-audio.c:144: error: unknown field 'type' specified
in initializer
arch/arm/mach-s3c64xx/dev-audio.c:144: error: extra brace group at end of
initializer
arch/arm/mach-s3c64xx/dev-audio.c:144: error: (near initialization for
'i2sv4_pdata')
arch/arm/mach-s3c64xx/dev-audio.c:145: error: extra brace group at end of
initializer
arch/arm/mach-s3c64xx/dev-audio.c:145: error: (near initialization for
'i2sv4_pdata')
arch/arm/mach-s3c64xx/dev-audio.c:146: error: 'QUIRK_PRI_6CHAN' undeclared
here (not in a function)
arch/arm/mach-s3c64xx/dev-audio.c:149: warning: excess elements in struct
initializer
arch/arm/mach-s3c64xx/dev-audio.c:149: warning: (near initialization for
'i2sv4_pdata')
arch/arm/mach-s3c64xx/dev-audio.c:151: error: expected expression before
'struct'
arch/arm/mach-s3c64xx/dev-audio.c:151: warning: excess elements in struct
initializer
arch/arm/mach-s3c64xx/dev-audio.c:151: warning: (near initialization for
'i2sv4_pdata')
arch/arm/mach-s5p6442/dev-audio.c:52: error: unknown field 'type' specified
in initializer
arch/arm/mach-s5p6442/dev-audio.c:52: error: extra brace group at end of
initializer
arch/arm/mach-s5p6442/dev-audio.c:52: error: (near initialization for
'i2sv35_pdata')
arch/arm/mach-s5p6442/dev-audio.c:53: error: extra brace group at end of
initializer
arch/arm/mach-s5p6442/dev-audio.c:53: error: (near initialization for
'i2sv35_pdata')
arch/arm/mach-s5p6442/dev-audio.c:54: error: 'QUIRK_SEC_DAI' undeclared here
(not in a function)
arch/arm/mach-s5p6442/dev-audio.c:54: error: 'QUIRK_NEED_RSTCLR' undeclared
here (not in a function)
arch/arm/mach-s5p6442/dev-audio.c:57: warning: excess elements in struct
initializer
arch/arm/mach-s5p6442/dev-audio.c:57: warning: (near initialization for
'i2sv35_pdata')
arch/arm/mach-s5p6442/dev-audio.c:100: error: unknown field 'type' specified
in initializer
arch/arm/mach-s5p6442/dev-audio.c:100: error: extra brace group at end of
initializer
arch/arm/mach-s5p6442/dev-audio.c:100: error: (near initialization for
'i2sv3_pdata')
arch/arm/mach-s5p6442/dev-audio.c:101: error: extra brace group at end of
initializer
arch/arm/mach-s5p6442/dev-audio.c:101: error: (near initialization for
'i2sv3_pdata')
arch/arm/mach-s5p6442/dev-audio.c:104: warning: excess elements in struct
initializer
arch/arm/mach-s5p6442/dev-audio.c:104: warning: (near initialization for
'i2sv3_pdata')
arch/arm/mach-s5p64x0/dev-audio.c:45: error: unknown field 'type' specified
in initializer
arch/arm/mach-s5p64x0/dev-audio.c:45: error: extra brace group at end of
initializer
arch/arm/mach-s5p64x0/dev-audio.c:45: error: (near initialization for
's5p64x0_i2s_pdata')
arch/arm/mach-s5p64x0/dev-audio.c:46: error: extra brace group at end of
initializer
arch/arm/mach-s5p64x0/dev-audio.c:46: error: (near initialization for
's5p64x0_i2s_pdata')
arch/arm/mach-s5p64x0/dev-audio.c:47: error: 'QUIRK_PRI_6CHAN' undeclared
here (not in a function)
arch/arm/mach-s5p64x0/dev-audio.c:50: warning: excess elements in struct
initializer
arch/arm/mach-s5p64x0/dev-audio.c:50: warning: (near initialization for
's5p64x0_i2s_pdata')
arch/arm/mach-s5pc100/dev-audio.c:49: error: unknown field 'type' specified
in initializer
arch/arm/mach-s5pc100/dev-audio.c:49: error: extra brace group at end of
initializer
arch/arm/mach-s5pc100/dev-audio.c:49: error: (near initialization for
'i2sv5_pdata')
arch/arm/mach-s5pc100/dev-audio.c:50: error: extra brace group at end of
initializer
arch/arm/mach-s5pc100/dev-audio.c:50: error: (near initialization for
'i2sv5_pdata')
arch/arm/mach-s5pc100/dev-audio.c:51: error: 'QUIRK_PRI_6CHAN' undeclared
here (not in a function)
arch/arm/mach-s5pc100/dev-audio.c:51: error: 'QUIRK_SEC_DAI' undeclared here
(not in a function)
arch/arm/mach-s5pc100/dev-audio.c:52: error: 'QUIRK_NEED_RSTCLR' undeclared
here (not in a function)
arch/arm/mach-s5pc100/dev-audio.c:55: warning: excess elements in struct
initializer
arch/arm/mach-s5pc100/dev-audio.c:55: warning: (near initialization for
'i2sv5_pdata')
arch/arm/mach-s5pc100/dev-audio.c:98: error: unknown field 'type' specified
in initializer
arch/arm/mach-s5pc100/dev-audio.c:98: error: extra brace group at end of
initializer
arch/arm/mach-s5pc100/dev-audio.c:98: error: (near initialization for
'i2sv3_pdata')
arch/arm/mach-s5pc100/dev-audio.c:99: error: extra brace group at end of
initializer
arch/arm/mach-s5pc100/dev-audio.c:99: error: (near initialization for
'i2sv3_pdata')
arch/arm/mach-s5pc100/dev-audio.c:102: warning: excess elements in struct
initializer
arch/arm/mach-s5pc100/dev-audio.c:102: warning: (near initialization for
'i2sv3_pdata')
arch/arm/mach-s5pv210/dev-audio.c:50: error: unknown field 'type' specified
in initializer
arch/arm/mach-s5pv210/dev-audio.c:50: error: extra brace group at end of
initializer
arch/arm/mach-s5pv210/dev-audio.c:50: error: (near initialization for
'i2sv5_pdata')
arch/arm/mach-s5pv210/dev-audio.c:51: error: extra brace group at end of
initializer
arch/arm/mach-s5pv210/dev-audio.c:51: error: (near initialization for
'i2sv5_pdata')
arch/arm/mach-s5pv210/dev-audio.c:52: error: 'QUIRK_PRI_6CHAN' undeclared
here (not in a function)
arch/arm/mach-s5pv210/dev-audio.c:52: error: 'QUIRK_SEC_DAI' undeclared here
(not in a function)
arch/arm/mach-s5pv210/dev-audio.c:53: error: 'QUIRK_NEED_RSTCLR' undeclared
here (not in a function)
arch/arm/mach-s5pv210/dev-audio.c:56: warning: excess elements in struct
initializer
arch/arm/mach-s5pv210/dev-audio.c:56: warning: (near initialization for
'i2sv5_pdata')
arch/arm/mach-s5pv210/dev-audio.c:99: error: unknown field 'type' specified
in initializer
arch/arm/mach-s5pv210/dev-audio.c:99: error: extra brace group at end of
initializer
arch/arm/mach-s5pv210/dev-audio.c:99: error: (near initialization for
'i2sv3_pdata')
arch/arm/mach-s5pv210/dev-audio.c:100: error: extra brace group at end of
initializer
arch/arm/mach-s5pv210/dev-audio.c:100: error: (near initialization for
'i2sv3_pdata')
arch/arm/mach-s5pv210/dev-audio.c:103: warning: excess elements in struct
initializer
arch/arm/mach-s5pv210/dev-audio.c:103: warning: (near initialization for
'i2sv3_pdata')
Unfortunately, not yet cleaned after applying to change plat/audio.h...
arch/arm/mach-s3c64xx/dev-audio.c:151: error: expected expression before
'struct'
arch/arm/mach-s3c64xx/dev-audio.c:151: warning: excess elements in struct
initializer
arch/arm/mach-s3c64xx/dev-audio.c:151: warning: (near initialization for
'i2sv4_pdata')
-> missing brace :-(
arch/arm/mach-s5pv210/dev-audio.c:52: error: unknown field 'quriks'
specified in initializer
-> typo?...quirks...
Please add plat/audio.h patch and update them.
> Since v1:
> a) Use case 16 in set_bfs and default for error
> b) Better code comments.
> c) Use switch case in i2sv2_i2s_set_clkdiv
> d) Use SNDRV_PCM_RATE_8000_96000
> e) MAX_I2S -> SAMSUNG_I2S_SECOFF
> f) Local namespace cleanup with i2s driver.
Thanks.
Best regards,
Kgene.
--
Kukjin Kim <kgene.kim@samsung.com>, Senior Engineer,
SW Solution Development Team, Samsung Electronics Co., Ltd.
^ permalink raw reply [flat|nested] 31+ messages in thread* Re: [PATCHv2] ASoC: Overhaul Samsung drivers
2010-10-22 14:08 ` [PATCHv2] ASoC: Overhaul Samsung drivers Kukjin Kim
@ 2010-10-25 2:17 ` Jassi Brar
2010-10-25 2:31 ` Kukjin Kim
0 siblings, 1 reply; 31+ messages in thread
From: Jassi Brar @ 2010-10-25 2:17 UTC (permalink / raw)
To: Kukjin Kim
Cc: alsa-devel, Jassi Brar, broonie, mcuelenaere, cw00.choi,
ben-linux, june.bae, sw.youn, lrg
On Fri, Oct 22, 2010 at 11:08 PM, Kukjin Kim <kgene.kim@samsung.com> wrote:
>> Patches 11 through 16 apply to Kgene's tree, rest apply to
>> Mark Brown's.
>>
> Hmm...
>
> I faced with following build error after applying above 6 patches into my
> tree.
> It means can't make clean tree with only arch/arm patches?...
> NO...just need to update arch/arm/plat-samsung/include/plat/audio.h of your
> 10/24 patch.
> Please separate 10/24...there is no reason that to change plat/audio.h
> belong to 10/24(Add common I2S driver)
I had initially planned to send codes via relevant trees. So, the plat/audio.h
update(along with arch/ audio ) was legit to be part of I2S ASoC drivers update.
The change could be atomic if sent via ASoC tree.
I can segregate the changes, if you are going prepare a branch for
Mark to exchange
inter-dependent patches. Will do.
The incorrect symbol name and missing semicolon is totally my mistake.
I sent the
last but one version of patches by mistake. Will update soon.
Mark,
I am hesitant to resend 24 patches to ALSA ML with only 1 patch
divided into two,
but perhaps I have no other option ?
Thanks.
^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [PATCHv2] ASoC: Overhaul Samsung drivers
2010-10-25 2:17 ` Jassi Brar
@ 2010-10-25 2:31 ` Kukjin Kim
2010-10-25 7:20 ` Jassi Brar
0 siblings, 1 reply; 31+ messages in thread
From: Kukjin Kim @ 2010-10-25 2:31 UTC (permalink / raw)
To: 'Jassi Brar'
Cc: alsa-devel, 'Jassi Brar', broonie, mcuelenaere, cw00.choi,
ben-linux, june.bae, sw.youn, lrg
Jassi Brar wrote:
>
> On Fri, Oct 22, 2010 at 11:08 PM, Kukjin Kim <kgene.kim@samsung.com> wrote:
> >> Patches 11 through 16 apply to Kgene's tree, rest apply to
> >> Mark Brown's.
> >>
> > Hmm...
> >
> > I faced with following build error after applying above 6 patches into my
> > tree.
> > It means can't make clean tree with only arch/arm patches?...
> > NO...just need to update arch/arm/plat-samsung/include/plat/audio.h of your
> > 10/24 patch.
> > Please separate 10/24...there is no reason that to change plat/audio.h
> > belong to 10/24(Add common I2S driver)
>
> I had initially planned to send codes via relevant trees. So, the
> plat/audio.h
> update(along with arch/ audio ) was legit to be part of I2S ASoC drivers
> update.
> The change could be atomic if sent via ASoC tree.
>
> I can segregate the changes, if you are going prepare a branch for
> Mark to exchange
> inter-dependent patches. Will do.
>
Thanks.
I will make 'for-broonie' which includes ARCH_S5P64X0 and GPIO updates for your patches.
> The incorrect symbol name and missing semicolon is totally my mistake.
> I sent the
> last but one version of patches by mistake. Will update soon.
>
No prob. ;-)
> Mark,
> I am hesitant to resend 24 patches to ALSA ML with only 1 patch
> divided into two,
> but perhaps I have no other option ?
>
Mark,
As I said, will make 'for-broonie' and merge it into my tree for -next so that you can merge its merge commit.
Then...you will not meet any conflict in your tree due to Jassi's arch/arm stuff changes.
Maybe it will be done tomorrow morning(KST)...
If any concerns or opinions, please let me know.
Thanks.
Best regards,
Kgene.
--
Kukjin Kim <kgene.kim@samsung.com>, Senior Engineer,
SW Solution Development Team, Samsung Electronics Co., Ltd.
^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [PATCHv2] ASoC: Overhaul Samsung drivers
2010-10-25 2:31 ` Kukjin Kim
@ 2010-10-25 7:20 ` Jassi Brar
0 siblings, 0 replies; 31+ messages in thread
From: Jassi Brar @ 2010-10-25 7:20 UTC (permalink / raw)
To: Kukjin Kim
Cc: alsa-devel, Jassi Brar, broonie, mcuelenaere, cw00.choi,
ben-linux, june.bae, sw.youn, lrg
On Mon, Oct 25, 2010 at 11:31 AM, Kukjin Kim <kgene.kim@samsung.com> wrote:
>> I can segregate the changes, if you are going prepare a branch for
>> Mark to exchange
>> inter-dependent patches. Will do.
>>
> Thanks.
> I will make 'for-broonie' which includes ARCH_S5P64X0 and GPIO updates for your patches.
OK, I have prepared following patches for Kgene's tree. Upon which
patches for Mark's tree depend.
For Kgene:-
************
S5PV310: DMA: Add platform devices for PL330 DMACs
ARM: Samsung: Rename s3c64xx I2S platform device
ARM: Samsung: Prepare audio header for new I2S driver
ARM: S3C64XX: I2S: Upgrade platform device
ARM: S5P64X0: I2S: Upgrade platform device
ARM: S5P6442: I2S: Upgrade platform device
ARM: S5PC100: I2S: Upgrade platform device
ARM: S5PV210: I2S: Upgrade platform device
ARM: S5PV310: Add audio platform devices
For Mark :-
***********
ASoC: Samsung: Remove redundant AQUILA driver
ASoC: Samsung: Rename DMA device
ARM: Samsung: Define common audio-dma device
ASoC: Samsung: Rename ASoC DMA driver
ASoC: Samsung: Rename AC97 platform device
ASoC: Samsung: Rename AC97 driver
ASoC: Samsung: Rename PCM driver
ASoC: Samsung: Generalize DMA driver namespace
ASoC: Samsung: Rename s3c64xx I2S device
ASoC: Samsung: Add common I2S driver
ASoC: SMARTQ: Move to use new I2S driver
ASoC: GONI: Move to use new I2S driver
ASoC: SMDK64XX: Move to use new I2S driver
ASoC: S3C64XX: Remove obsoleted I2S drivers
ASoC: SMDK64XX: Rename for other platforms
ASoC: SMDK_WM8580: Enable for SMDKC100
ASoC: Samsung: Generalize Kconfig symbols
ASoC: Samsung: Rename from s3c24xx to samsung
If anyone disagrees with the approach, please let me know before I flood the
mailing lists with these patches.
^ permalink raw reply [flat|nested] 31+ messages in thread