Commit e7ee058c authored by Takashi Iwai's avatar Takashi Iwai

ALSA: hda - Make CONFIG_SND_HDA_RECONFIG for codec reconfiguration

Make the codec re-configuration feature selectable via Kconfig,
CONFIG_SND_HDA_RECONFIG.
Also mark it as experimental (as it really is).
Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent f208dba9
...@@ -518,6 +518,15 @@ config SND_HDA_HWDEP ...@@ -518,6 +518,15 @@ config SND_HDA_HWDEP
This interface can be used for out-of-band communication This interface can be used for out-of-band communication
with codecs for debugging purposes. with codecs for debugging purposes.
config SND_HDA_RECONFIG
bool "Allow dynamic codec reconfiguration (EXPERIMENTAL)"
depends on SND_HDA_HWDEP && EXPERIMENTAL
help
Say Y here to enable the HD-audio codec re-configuration feature.
This adds the sysfs interfaces to allow user to clear the whole
codec configuration, change the codec setup, add extra verbs,
and re-configure the codec dynamically.
config SND_HDA_INPUT_BEEP config SND_HDA_INPUT_BEEP
bool "Support digital beep via input layer" bool "Support digital beep via input layer"
depends on SND_HDA_INTEL depends on SND_HDA_INTEL
......
...@@ -145,6 +145,8 @@ int __devinit snd_hda_create_hwdep(struct hda_codec *codec) ...@@ -145,6 +145,8 @@ int __devinit snd_hda_create_hwdep(struct hda_codec *codec)
return 0; return 0;
} }
#ifdef CONFIG_SND_HDA_RECONFIG
/* /*
* sysfs interface * sysfs interface
*/ */
...@@ -347,3 +349,5 @@ int snd_hda_hwdep_add_sysfs(struct hda_codec *codec) ...@@ -347,3 +349,5 @@ int snd_hda_hwdep_add_sysfs(struct hda_codec *codec)
hwdep->device, &codec_attrs[i]); hwdep->device, &codec_attrs[i]);
return 0; return 0;
} }
#endif /* CONFIG_SND_HDA_RECONFIG */
...@@ -409,11 +409,19 @@ void snd_hda_ctls_clear(struct hda_codec *codec); ...@@ -409,11 +409,19 @@ void snd_hda_ctls_clear(struct hda_codec *codec);
*/ */
#ifdef CONFIG_SND_HDA_HWDEP #ifdef CONFIG_SND_HDA_HWDEP
int snd_hda_create_hwdep(struct hda_codec *codec); int snd_hda_create_hwdep(struct hda_codec *codec);
int snd_hda_hwdep_add_sysfs(struct hda_codec *codec);
#else #else
static inline int snd_hda_create_hwdep(struct hda_codec *codec) { return 0; } static inline int snd_hda_create_hwdep(struct hda_codec *codec) { return 0; }
#endif #endif
#ifdef CONFIG_SND_HDA_RECONFIG
int snd_hda_hwdep_add_sysfs(struct hda_codec *codec);
#else
static inline int snd_hda_hwdep_add_sysfs(struct hda_codec *codec)
{
return 0;
}
#endif
/* /*
* power-management * power-management
*/ */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment