Merge branch 'tegra' into for-2.6.40

This commit is contained in:
Mark Brown 2011-04-18 18:08:22 +01:00
commit c6d46678a1
3 changed files with 14 additions and 12 deletions

View File

@ -34,7 +34,7 @@
#include <asm/mach/time.h> #include <asm/mach/time.h>
#include <asm/setup.h> #include <asm/setup.h>
#include <mach/harmony_audio.h> #include <mach/tegra_wm8903_pdata.h>
#include <mach/iomap.h> #include <mach/iomap.h>
#include <mach/irqs.h> #include <mach/irqs.h>
#include <mach/sdhci.h> #include <mach/sdhci.h>
@ -67,15 +67,16 @@ 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_spkr_en = TEGRA_GPIO_SPKR_EN,
.gpio_hp_det = TEGRA_GPIO_HP_DET, .gpio_hp_det = TEGRA_GPIO_HP_DET,
.gpio_hp_mute = -1,
.gpio_int_mic_en = TEGRA_GPIO_INT_MIC_EN, .gpio_int_mic_en = TEGRA_GPIO_INT_MIC_EN,
.gpio_ext_mic_en = TEGRA_GPIO_EXT_MIC_EN, .gpio_ext_mic_en = TEGRA_GPIO_EXT_MIC_EN,
}; };
static struct platform_device harmony_audio_device = { static struct platform_device harmony_audio_device = {
.name = "tegra-snd-harmony", .name = "tegra-snd-wm8903",
.id = 0, .id = 0,
.dev = { .dev = {
.platform_data = &harmony_audio_pdata, .platform_data = &harmony_audio_pdata,

View File

@ -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. * Copyright 2011 NVIDIA, Inc.
* *
@ -14,9 +14,10 @@
* *
*/ */
struct harmony_audio_platform_data { struct tegra_wm8903_platform_data {
int gpio_spkr_en; int gpio_spkr_en;
int gpio_hp_det; int gpio_hp_det;
int gpio_hp_mute;
int gpio_int_mic_en; int gpio_int_mic_en;
int gpio_ext_mic_en; int gpio_ext_mic_en;
}; };

View File

@ -35,7 +35,7 @@
#include <linux/slab.h> #include <linux/slab.h>
#include <linux/gpio.h> #include <linux/gpio.h>
#include <mach/harmony_audio.h> #include <mach/tegra_wm8903_pdata.h>
#include <sound/core.h> #include <sound/core.h>
#include <sound/jack.h> #include <sound/jack.h>
@ -50,7 +50,7 @@
#include "tegra_pcm.h" #include "tegra_pcm.h"
#include "tegra_asoc_utils.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_SPKR_EN BIT(0)
#define GPIO_INT_MIC_EN BIT(1) #define GPIO_INT_MIC_EN BIT(1)
@ -58,7 +58,7 @@
struct tegra_harmony { struct tegra_harmony {
struct tegra_asoc_utils_data util_data; struct tegra_asoc_utils_data util_data;
struct harmony_audio_platform_data *pdata; struct tegra_wm8903_platform_data *pdata;
int gpio_requested; 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_codec *codec = w->codec;
struct snd_soc_card *card = codec->card; struct snd_soc_card *card = codec->card;
struct tegra_harmony *harmony = snd_soc_card_get_drvdata(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, gpio_set_value_cansleep(pdata->gpio_spkr_en,
SND_SOC_DAPM_EVENT_ON(event)); 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_dapm_context *dapm = &codec->dapm;
struct snd_soc_card *card = codec->card; struct snd_soc_card *card = codec->card;
struct tegra_harmony *harmony = snd_soc_card_get_drvdata(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; int ret;
ret = gpio_request(pdata->gpio_spkr_en, "spkr_en"); 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 snd_soc_card *card = &snd_soc_harmony;
struct tegra_harmony *harmony; struct tegra_harmony *harmony;
struct harmony_audio_platform_data *pdata; struct tegra_wm8903_platform_data *pdata;
int ret; int ret;
if (!machine_is_harmony()) { 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 snd_soc_card *card = platform_get_drvdata(pdev);
struct tegra_harmony *harmony = snd_soc_card_get_drvdata(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;
snd_soc_unregister_card(card); snd_soc_unregister_card(card);