| From f7b687159124babe80f7450f7352614b8ecb5ef8 Mon Sep 17 00:00:00 2001 |
| From: Jaska Uimonen <jaska.uimonen@intel.com> |
| Date: Fri, 27 Sep 2019 15:14:07 -0500 |
| Subject: [PATCH] ASoC: rt5682: add NULL handler to set_jack function |
| |
| commit a315e76fc544f09daf619530a7b2f85865e6b25e upstream. |
| |
| Implement NULL handler in set_jack function to disable |
| irq's. |
| |
| Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com> |
| Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> |
| Link: https://lore.kernel.org/r/20190927201408.925-4-pierre-louis.bossart@linux.intel.com |
| Signed-off-by: Mark Brown <broonie@kernel.org> |
| Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> |
| |
| diff --git a/sound/soc/codecs/rt5682.c b/sound/soc/codecs/rt5682.c |
| index 78409dd11488..1199e91b569e 100644 |
| --- a/sound/soc/codecs/rt5682.c |
| +++ b/sound/soc/codecs/rt5682.c |
| @@ -995,6 +995,16 @@ static int rt5682_set_jack_detect(struct snd_soc_component *component, |
| { |
| struct rt5682_priv *rt5682 = snd_soc_component_get_drvdata(component); |
| |
| + rt5682->hs_jack = hs_jack; |
| + |
| + if (!hs_jack) { |
| + regmap_update_bits(rt5682->regmap, RT5682_IRQ_CTRL_2, |
| + RT5682_JD1_EN_MASK, RT5682_JD1_DIS); |
| + regmap_update_bits(rt5682->regmap, RT5682_RC_CLK_CTRL, |
| + RT5682_POW_JDH | RT5682_POW_JDL, 0); |
| + return 0; |
| + } |
| + |
| switch (rt5682->pdata.jd_src) { |
| case RT5682_JD1: |
| snd_soc_component_update_bits(component, RT5682_CBJ_CTRL_2, |
| @@ -1032,8 +1042,6 @@ static int rt5682_set_jack_detect(struct snd_soc_component *component, |
| break; |
| } |
| |
| - rt5682->hs_jack = hs_jack; |
| - |
| return 0; |
| } |
| |
| -- |
| 2.7.4 |
| |