Merge branch 'tegra' into for-2.6.40
This commit is contained in:
commit
c6d46678a1
|
@ -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,
|
||||||
|
|
|
@ -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;
|
||||||
};
|
};
|
|
@ -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);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue