From 4651d5566840e911b14a5052f18ed39558677937 Mon Sep 17 00:00:00 2001 From: Stephen Warren Date: Tue, 12 Apr 2011 11:28:59 -0600 Subject: [PATCH 1/3] ARM: Tegra: Rename harmony_audio.h -> tegra_wm8903_pdata.h The audio driver will soon support more than just the Tegra Harmony board. Rename the platform data header file and data type to reflect this. Signed-off-by: Stephen Warren Signed-off-by: Mark Brown --- arch/arm/mach-tegra/board-harmony.c | 4 ++-- .../mach/{harmony_audio.h => tegra_wm8903_pdata.h} | 4 ++-- sound/soc/tegra/harmony.c | 12 ++++++------ 3 files changed, 10 insertions(+), 10 deletions(-) rename arch/arm/mach-tegra/include/mach/{harmony_audio.h => tegra_wm8903_pdata.h} (86%) diff --git a/arch/arm/mach-tegra/board-harmony.c b/arch/arm/mach-tegra/board-harmony.c index 75c918a86a31..3c6bba25a1e4 100644 --- a/arch/arm/mach-tegra/board-harmony.c +++ b/arch/arm/mach-tegra/board-harmony.c @@ -34,7 +34,7 @@ #include #include -#include +#include #include #include #include @@ -67,7 +67,7 @@ static struct platform_device debug_uart = { }, }; -static struct harmony_audio_platform_data harmony_audio_pdata = { +static struct tegra_wm8903_platform_data harmony_audio_pdata = { .gpio_spkr_en = TEGRA_GPIO_SPKR_EN, .gpio_hp_det = TEGRA_GPIO_HP_DET, .gpio_int_mic_en = TEGRA_GPIO_INT_MIC_EN, diff --git a/arch/arm/mach-tegra/include/mach/harmony_audio.h b/arch/arm/mach-tegra/include/mach/tegra_wm8903_pdata.h similarity index 86% rename from arch/arm/mach-tegra/include/mach/harmony_audio.h rename to arch/arm/mach-tegra/include/mach/tegra_wm8903_pdata.h index af086500ab7d..c34bd5eb204e 100644 --- a/arch/arm/mach-tegra/include/mach/harmony_audio.h +++ b/arch/arm/mach-tegra/include/mach/tegra_wm8903_pdata.h @@ -1,5 +1,5 @@ /* - * arch/arm/mach-tegra/include/mach/harmony_audio.h + * arch/arm/mach-tegra/include/mach/tegra_wm8903_pdata.h * * Copyright 2011 NVIDIA, Inc. * @@ -14,7 +14,7 @@ * */ -struct harmony_audio_platform_data { +struct tegra_wm8903_platform_data { int gpio_spkr_en; int gpio_hp_det; int gpio_int_mic_en; diff --git a/sound/soc/tegra/harmony.c b/sound/soc/tegra/harmony.c index 8585957477eb..c3096c3b9e2b 100644 --- a/sound/soc/tegra/harmony.c +++ b/sound/soc/tegra/harmony.c @@ -35,7 +35,7 @@ #include #include -#include +#include #include #include @@ -58,7 +58,7 @@ struct tegra_harmony { struct tegra_asoc_utils_data util_data; - struct harmony_audio_platform_data *pdata; + struct tegra_wm8903_platform_data *pdata; int gpio_requested; }; @@ -163,7 +163,7 @@ static int harmony_event_int_spk(struct snd_soc_dapm_widget *w, struct snd_soc_codec *codec = w->codec; struct snd_soc_card *card = codec->card; struct tegra_harmony *harmony = snd_soc_card_get_drvdata(card); - struct harmony_audio_platform_data *pdata = harmony->pdata; + struct tegra_wm8903_platform_data *pdata = harmony->pdata; gpio_set_value_cansleep(pdata->gpio_spkr_en, SND_SOC_DAPM_EVENT_ON(event)); @@ -198,7 +198,7 @@ static int harmony_asoc_init(struct snd_soc_pcm_runtime *rtd) struct snd_soc_dapm_context *dapm = &codec->dapm; struct snd_soc_card *card = codec->card; struct tegra_harmony *harmony = snd_soc_card_get_drvdata(card); - struct harmony_audio_platform_data *pdata = harmony->pdata; + struct tegra_wm8903_platform_data *pdata = harmony->pdata; int ret; ret = gpio_request(pdata->gpio_spkr_en, "spkr_en"); @@ -291,7 +291,7 @@ static __devinit int tegra_snd_harmony_probe(struct platform_device *pdev) { struct snd_soc_card *card = &snd_soc_harmony; struct tegra_harmony *harmony; - struct harmony_audio_platform_data *pdata; + struct tegra_wm8903_platform_data *pdata; int ret; if (!machine_is_harmony()) { @@ -344,7 +344,7 @@ static int __devexit tegra_snd_harmony_remove(struct platform_device *pdev) { struct snd_soc_card *card = platform_get_drvdata(pdev); struct tegra_harmony *harmony = snd_soc_card_get_drvdata(card); - struct harmony_audio_platform_data *pdata = harmony->pdata; + struct tegra_wm8903_platform_data *pdata = harmony->pdata; snd_soc_unregister_card(card); From 7b33af252fbbf3beb694448da3ba6687022fd602 Mon Sep 17 00:00:00 2001 From: Stephen Warren Date: Tue, 12 Apr 2011 11:29:00 -0600 Subject: [PATCH 2/3] ASoC: Tegra: Rename pdev tegra-snd-harmony to tegra-snd-wm8903 Soon, this machine driver will be updated to handle a number of Tegra boards using the WM8903 codec. Rename the platform device in advance to reflect this. Signed-off-by: Stephen Warren Acked-by: Liam Girdwood Signed-off-by: Mark Brown --- arch/arm/mach-tegra/board-harmony.c | 2 +- sound/soc/tegra/harmony.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/arm/mach-tegra/board-harmony.c b/arch/arm/mach-tegra/board-harmony.c index 3c6bba25a1e4..987c5e46d581 100644 --- a/arch/arm/mach-tegra/board-harmony.c +++ b/arch/arm/mach-tegra/board-harmony.c @@ -75,7 +75,7 @@ static struct tegra_wm8903_platform_data harmony_audio_pdata = { }; static struct platform_device harmony_audio_device = { - .name = "tegra-snd-harmony", + .name = "tegra-snd-wm8903", .id = 0, .dev = { .platform_data = &harmony_audio_pdata, diff --git a/sound/soc/tegra/harmony.c b/sound/soc/tegra/harmony.c index c3096c3b9e2b..ae168f2446a6 100644 --- a/sound/soc/tegra/harmony.c +++ b/sound/soc/tegra/harmony.c @@ -50,7 +50,7 @@ #include "tegra_pcm.h" #include "tegra_asoc_utils.h" -#define DRV_NAME "tegra-snd-harmony" +#define DRV_NAME "tegra-snd-wm8903" #define GPIO_SPKR_EN BIT(0) #define GPIO_INT_MIC_EN BIT(1) From 61a6d0764be43e014d265128c2af1b41e0fc96b0 Mon Sep 17 00:00:00 2001 From: Stephen Warren Date: Tue, 12 Apr 2011 11:29:01 -0600 Subject: [PATCH 3/3] ARM: Tegra: Add to tegra_wm8903_platform_data Seaboard derivate Kaen has a GPIO to mute the headphone output. Add a field to tegra_wm8903_platform_data so the board files can pass the GPIO number for that to the ASoC machine driver. Also, initialize this new field to a "not present" value for Harmony. Signed-off-by: Stephen Warren Signed-off-by: Mark Brown --- arch/arm/mach-tegra/board-harmony.c | 1 + arch/arm/mach-tegra/include/mach/tegra_wm8903_pdata.h | 1 + 2 files changed, 2 insertions(+) diff --git a/arch/arm/mach-tegra/board-harmony.c b/arch/arm/mach-tegra/board-harmony.c index 987c5e46d581..30e18bc60647 100644 --- a/arch/arm/mach-tegra/board-harmony.c +++ b/arch/arm/mach-tegra/board-harmony.c @@ -70,6 +70,7 @@ static struct platform_device debug_uart = { static struct tegra_wm8903_platform_data harmony_audio_pdata = { .gpio_spkr_en = TEGRA_GPIO_SPKR_EN, .gpio_hp_det = TEGRA_GPIO_HP_DET, + .gpio_hp_mute = -1, .gpio_int_mic_en = TEGRA_GPIO_INT_MIC_EN, .gpio_ext_mic_en = TEGRA_GPIO_EXT_MIC_EN, }; diff --git a/arch/arm/mach-tegra/include/mach/tegra_wm8903_pdata.h b/arch/arm/mach-tegra/include/mach/tegra_wm8903_pdata.h index c34bd5eb204e..9d293344a7ff 100644 --- a/arch/arm/mach-tegra/include/mach/tegra_wm8903_pdata.h +++ b/arch/arm/mach-tegra/include/mach/tegra_wm8903_pdata.h @@ -17,6 +17,7 @@ struct tegra_wm8903_platform_data { int gpio_spkr_en; int gpio_hp_det; + int gpio_hp_mute; int gpio_int_mic_en; int gpio_ext_mic_en; };