ASoC: Intel: Headset button support in broxton machine driver
authorYong Zhi <yong.zhi@intel.com>
Wed, 13 Feb 2019 23:08:51 +0000 (17:08 -0600)
committerMark Brown <broonie@kernel.org>
Tue, 19 Feb 2019 15:42:08 +0000 (15:42 +0000)
Map the 4 headset buttons to KEY_PAUSE, KEY_VOLUMEUP, KEY_VOLUMEDOWN and
KEY_VOICECOMMAND.

Acked-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Naveen Manohar <naveen.m@intel.com>
Signed-off-by: Yong Zhi <yong.zhi@intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/intel/boards/bxt_da7219_max98357a.c

index c00925f9da734086697033f3d6cb77ef951aafc3..30311b81a5436d4303b643f170633dc0e732ea0e 100644 (file)
@@ -16,6 +16,7 @@
  * GNU General Public License for more details.
  */
 
+#include <linux/input.h>
 #include <linux/module.h>
 #include <linux/platform_device.h>
 #include <sound/core.h>
@@ -193,6 +194,12 @@ static int broxton_da7219_codec_init(struct snd_soc_pcm_runtime *rtd)
                return ret;
        }
 
+       snd_jack_set_key(broxton_headset.jack, SND_JACK_BTN_0, KEY_PLAYPAUSE);
+       snd_jack_set_key(broxton_headset.jack, SND_JACK_BTN_1, KEY_VOLUMEUP);
+       snd_jack_set_key(broxton_headset.jack, SND_JACK_BTN_2, KEY_VOLUMEDOWN);
+       snd_jack_set_key(broxton_headset.jack, SND_JACK_BTN_3,
+                        KEY_VOICECOMMAND);
+
        da7219_aad_jack_det(component, &broxton_headset);
 
        snd_soc_dapm_ignore_suspend(&rtd->card->dapm, "SoC DMIC");