Merge remote-tracking branches 'asoc/fix/rt5663', 'asoc/fix/tlv320aic31xx' and 'asoc/fix/twl4030' into asoc-linus
This commit is contained in:
commit
8dc7e208c7
4 changed files with 12 additions and 2 deletions
|
@ -1560,6 +1560,10 @@ static int rt5663_jack_detect(struct snd_soc_codec *codec, int jack_insert)
|
||||||
RT5663_IRQ_POW_SAV_MASK, RT5663_IRQ_POW_SAV_EN);
|
RT5663_IRQ_POW_SAV_MASK, RT5663_IRQ_POW_SAV_EN);
|
||||||
snd_soc_update_bits(codec, RT5663_IRQ_1,
|
snd_soc_update_bits(codec, RT5663_IRQ_1,
|
||||||
RT5663_EN_IRQ_JD1_MASK, RT5663_EN_IRQ_JD1_EN);
|
RT5663_EN_IRQ_JD1_MASK, RT5663_EN_IRQ_JD1_EN);
|
||||||
|
snd_soc_update_bits(codec, RT5663_EM_JACK_TYPE_1,
|
||||||
|
RT5663_EM_JD_MASK, RT5663_EM_JD_RST);
|
||||||
|
snd_soc_update_bits(codec, RT5663_EM_JACK_TYPE_1,
|
||||||
|
RT5663_EM_JD_MASK, RT5663_EM_JD_NOR);
|
||||||
|
|
||||||
while (true) {
|
while (true) {
|
||||||
regmap_read(rt5663->regmap, RT5663_INT_ST_2, &val);
|
regmap_read(rt5663->regmap, RT5663_INT_ST_2, &val);
|
||||||
|
|
|
@ -1029,6 +1029,10 @@
|
||||||
#define RT5663_POL_EXT_JD_SHIFT 10
|
#define RT5663_POL_EXT_JD_SHIFT 10
|
||||||
#define RT5663_POL_EXT_JD_EN (0x1 << 10)
|
#define RT5663_POL_EXT_JD_EN (0x1 << 10)
|
||||||
#define RT5663_POL_EXT_JD_DIS (0x0 << 10)
|
#define RT5663_POL_EXT_JD_DIS (0x0 << 10)
|
||||||
|
#define RT5663_EM_JD_MASK (0x1 << 7)
|
||||||
|
#define RT5663_EM_JD_SHIFT 7
|
||||||
|
#define RT5663_EM_JD_NOR (0x1 << 7)
|
||||||
|
#define RT5663_EM_JD_RST (0x0 << 7)
|
||||||
|
|
||||||
/* DACREF LDO Control (0x0112)*/
|
/* DACREF LDO Control (0x0112)*/
|
||||||
#define RT5663_PWR_LDO_DACREFL_MASK (0x1 << 9)
|
#define RT5663_PWR_LDO_DACREFL_MASK (0x1 << 9)
|
||||||
|
|
|
@ -116,7 +116,7 @@ struct aic31xx_pdata {
|
||||||
/* INT2 interrupt control */
|
/* INT2 interrupt control */
|
||||||
#define AIC31XX_INT2CTRL AIC31XX_REG(0, 49)
|
#define AIC31XX_INT2CTRL AIC31XX_REG(0, 49)
|
||||||
/* GPIO1 control */
|
/* GPIO1 control */
|
||||||
#define AIC31XX_GPIO1 AIC31XX_REG(0, 50)
|
#define AIC31XX_GPIO1 AIC31XX_REG(0, 51)
|
||||||
|
|
||||||
#define AIC31XX_DACPRB AIC31XX_REG(0, 60)
|
#define AIC31XX_DACPRB AIC31XX_REG(0, 60)
|
||||||
/* ADC Instruction Set Register */
|
/* ADC Instruction Set Register */
|
||||||
|
|
|
@ -232,7 +232,7 @@ static struct twl4030_codec_data *twl4030_get_pdata(struct snd_soc_codec *codec)
|
||||||
struct twl4030_codec_data *pdata = dev_get_platdata(codec->dev);
|
struct twl4030_codec_data *pdata = dev_get_platdata(codec->dev);
|
||||||
struct device_node *twl4030_codec_node = NULL;
|
struct device_node *twl4030_codec_node = NULL;
|
||||||
|
|
||||||
twl4030_codec_node = of_find_node_by_name(codec->dev->parent->of_node,
|
twl4030_codec_node = of_get_child_by_name(codec->dev->parent->of_node,
|
||||||
"codec");
|
"codec");
|
||||||
|
|
||||||
if (!pdata && twl4030_codec_node) {
|
if (!pdata && twl4030_codec_node) {
|
||||||
|
@ -241,9 +241,11 @@ static struct twl4030_codec_data *twl4030_get_pdata(struct snd_soc_codec *codec)
|
||||||
GFP_KERNEL);
|
GFP_KERNEL);
|
||||||
if (!pdata) {
|
if (!pdata) {
|
||||||
dev_err(codec->dev, "Can not allocate memory\n");
|
dev_err(codec->dev, "Can not allocate memory\n");
|
||||||
|
of_node_put(twl4030_codec_node);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
twl4030_setup_pdata_of(pdata, twl4030_codec_node);
|
twl4030_setup_pdata_of(pdata, twl4030_codec_node);
|
||||||
|
of_node_put(twl4030_codec_node);
|
||||||
}
|
}
|
||||||
|
|
||||||
return pdata;
|
return pdata;
|
||||||
|
|
Loading…
Reference in a new issue