Skip to content

Commit

Permalink
ASoC: Intel: move the jack creation to Braswell machine driver
Browse files Browse the repository at this point in the history
The jack creation code was in rt5670 codec driver before due to the
jack resources (gpio/irq) were defined under the node of codec device
in ACPI on Braswell. We used the snd_soc_jack_new() to create a jack
instance.

But now snd_soc_jack_new() is removed from upstream and we can't
use snd_soc_card_jack_new() in codec driver, so we move the jack
creation code to machine driver and pass the jack instance to codec
driver for further processing.

Signed-off-by: Bard Liao <bardliao@realtek.com>
Signed-off-by: Jin Yao <yao.jin@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
  • Loading branch information
Jin Yao authored and Mark Brown committed Mar 17, 2015
1 parent 066d7b8 commit 6b3b58d
Showing 1 changed file with 24 additions and 0 deletions.
24 changes: 24 additions & 0 deletions sound/soc/intel/cht_bsw_rt5672.c
Original file line number Diff line number Diff line change
Expand Up @@ -22,13 +22,28 @@
#include <sound/pcm.h>
#include <sound/pcm_params.h>
#include <sound/soc.h>
#include <sound/jack.h>
#include "../codecs/rt5670.h"
#include "sst-atom-controls.h"

/* The platform clock #3 outputs 19.2Mhz clock to codec as I2S MCLK */
#define CHT_PLAT_CLK_3_HZ 19200000
#define CHT_CODEC_DAI "rt5670-aif1"

static struct snd_soc_jack cht_bsw_headset;

/* Headset jack detection DAPM pins */
static struct snd_soc_jack_pin cht_bsw_headset_pins[] = {
{
.pin = "Headset Mic",
.mask = SND_JACK_MICROPHONE,
},
{
.pin = "Headphone",
.mask = SND_JACK_HEADPHONE,
},
};

static inline struct snd_soc_dai *cht_get_codec_dai(struct snd_soc_card *card)
{
int i;
Expand Down Expand Up @@ -178,6 +193,15 @@ static int cht_codec_init(struct snd_soc_pcm_runtime *runtime)
| RT5670_AD_MONO_L_FILTER
| RT5670_AD_MONO_R_FILTER,
RT5670_CLK_SEL_I2S1_ASRC);

ret = snd_soc_card_jack_new(runtime->card, "Headset",
SND_JACK_HEADSET | SND_JACK_BTN_0 |
SND_JACK_BTN_1 | SND_JACK_BTN_2, &cht_bsw_headset,
cht_bsw_headset_pins, ARRAY_SIZE(cht_bsw_headset_pins));
if (ret)
return ret;

rt5670_set_jack_detect(codec, &cht_bsw_headset);
return 0;
}

Expand Down

0 comments on commit 6b3b58d

Please sign in to comment.