| From foo@baz Sun May 27 17:33:37 CEST 2018 |
| From: Takashi Iwai <tiwai@suse.de> |
| Date: Mon, 15 Jan 2018 10:44:35 +0100 |
| Subject: ALSA: hda - Use IS_REACHABLE() for dependency on input |
| |
| From: Takashi Iwai <tiwai@suse.de> |
| |
| [ Upstream commit c469652bb5e8fb715db7d152f46d33b3740c9b87 ] |
| |
| The commit ffcd28d88e4f ("ALSA: hda - Select INPUT for Realtek |
| HD-audio codec") introduced the reverse-selection of CONFIG_INPUT for |
| Realtek codec in order to avoid the mess with dependency between |
| built-in and modules. Later on, we obtained IS_REACHABLE() macro |
| exactly for this kind of problems, and now we can remove th INPUT |
| selection in Kconfig and put IS_REACHABLE(INPUT) to the appropriate |
| places in the code, so that the driver doesn't need to select other |
| subsystem forcibly. |
| |
| Fixes: ffcd28d88e4f ("ALSA: hda - Select INPUT for Realtek HD-audio codec") |
| Reported-by: Randy Dunlap <rdunlap@infradead.org> |
| Acked-by: Randy Dunlap <rdunlap@infradead.org> # and build-tested |
| Signed-off-by: Takashi Iwai <tiwai@suse.de> |
| Signed-off-by: Sasha Levin <alexander.levin@microsoft.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| sound/pci/hda/Kconfig | 1 - |
| sound/pci/hda/patch_realtek.c | 5 +++++ |
| 2 files changed, 5 insertions(+), 1 deletion(-) |
| |
| --- a/sound/pci/hda/Kconfig |
| +++ b/sound/pci/hda/Kconfig |
| @@ -88,7 +88,6 @@ 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. |
| --- a/sound/pci/hda/patch_realtek.c |
| +++ b/sound/pci/hda/patch_realtek.c |
| @@ -3495,6 +3495,7 @@ static void alc280_fixup_hp_gpio4(struct |
| } |
| } |
| |
| +#if IS_REACHABLE(INPUT) |
| static void gpio2_mic_hotkey_event(struct hda_codec *codec, |
| struct hda_jack_callback *event) |
| { |
| @@ -3627,6 +3628,10 @@ static void alc233_fixup_lenovo_line2_mi |
| spec->kb_dev = NULL; |
| } |
| } |
| +#else /* INPUT */ |
| +#define alc280_fixup_hp_gpio2_mic_hotkey NULL |
| +#define alc233_fixup_lenovo_line2_mic_hotkey NULL |
| +#endif /* INPUT */ |
| |
| static void alc269_fixup_hp_line1_mic1_led(struct hda_codec *codec, |
| const struct hda_fixup *fix, int action) |