summaryrefslogtreecommitdiffstats
path: root/sound/pci
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2015-01-15 10:11:52 +0100
committerTakashi Iwai <tiwai@suse.de>2015-01-15 10:21:50 +0100
commitffcd28d88e4f3bdb2c300e4a13e973cd2070968e (patch)
treefb80d8f071303f2b74b3ded23bd1cfea6bd49f92 /sound/pci
parentfd4e8dde42bb142448e3fd7dc6094cb2707d3b64 (diff)
downloadlinux-ffcd28d88e4f3bdb2c300e4a13e973cd2070968e.tar.bz2
ALSA: hda - Select INPUT for Realtek HD-audio codec
The commit commit [33f4acd3b214: ALSA: hda - Enable mic mute hotkey and LEDs for an HP machine] introduced a quirk for a HP machine involving with the input event handling. Although the relevant code is protected via IS_ENABLED(CONFIG_INPUT), this doesn't suffice when the audio driver is built in while the input is module. As an easy workaround, this patch forcibly selects CONFIG_INPUT in Kconfig. This shouldn't be a practical problem since CONFIG_INPUT is almost mandatory for all systems. Also, this allows to remove the ugly ifdefs in the code. Fixes: 33f4acd3b214 ('ALSA: hda - Enable mic mute hotkey and LEDs for an HP machine') Acked-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/pci')
-rw-r--r--sound/pci/hda/Kconfig1
-rw-r--r--sound/pci/hda/patch_realtek.c6
2 files changed, 1 insertions, 6 deletions
diff --git a/sound/pci/hda/Kconfig b/sound/pci/hda/Kconfig
index ebf4c2fb99df..7f0f2c5a4e97 100644
--- a/sound/pci/hda/Kconfig
+++ b/sound/pci/hda/Kconfig
@@ -107,6 +107,7 @@ config SND_HDA_PATCH_LOADER
config SND_HDA_CODEC_REALTEK
tristate "Build Realtek HD-audio codec support"
select SND_HDA_GENERIC
+ select INPUT
help
Say Y or M here to include Realtek HD-audio codec support in
snd-hda-intel driver, such as ALC880.
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index a50e15e166c6..1720f8a457d1 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -121,9 +121,7 @@ struct alc_spec {
hda_nid_t pll_nid;
unsigned int pll_coef_idx, pll_coef_bit;
unsigned int coef0;
-#if IS_ENABLED(CONFIG_INPUT)
struct input_dev *kb_dev;
-#endif
};
/*
@@ -3476,7 +3474,6 @@ static void alc280_fixup_hp_gpio4(struct hda_codec *codec,
}
}
-#if IS_ENABLED(CONFIG_INPUT)
static void gpio2_mic_hotkey_event(struct hda_codec *codec,
struct hda_jack_callback *event)
{
@@ -3489,12 +3486,10 @@ static void gpio2_mic_hotkey_event(struct hda_codec *codec,
input_report_key(spec->kb_dev, KEY_MICMUTE, 0);
input_sync(spec->kb_dev);
}
-#endif
static void alc280_fixup_hp_gpio2_mic_hotkey(struct hda_codec *codec,
const struct hda_fixup *fix, int action)
{
-#if IS_ENABLED(CONFIG_INPUT)
/* GPIO1 = set according to SKU external amp
GPIO2 = mic mute hotkey
GPIO3 = mute LED
@@ -3550,7 +3545,6 @@ static void alc280_fixup_hp_gpio2_mic_hotkey(struct hda_codec *codec,
input_unregister_device(spec->kb_dev);
spec->kb_dev = NULL;
}
-#endif
}
static void alc269_fixup_hp_line1_mic1_led(struct hda_codec *codec,