aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sound/pci/Kconfig9
-rw-r--r--sound/pci/hda/hda_hwdep.c4
-rw-r--r--sound/pci/hda/hda_local.h10
3 files changed, 22 insertions, 1 deletions
diff --git a/sound/pci/Kconfig b/sound/pci/Kconfig
index 157a0a6b10ae..cc6cf89c32e6 100644
--- a/sound/pci/Kconfig
+++ b/sound/pci/Kconfig
@@ -518,6 +518,15 @@ config SND_HDA_HWDEP
518 This interface can be used for out-of-band communication 518 This interface can be used for out-of-band communication
519 with codecs for debugging purposes. 519 with codecs for debugging purposes.
520 520
521config SND_HDA_RECONFIG
522 bool "Allow dynamic codec reconfiguration (EXPERIMENTAL)"
523 depends on SND_HDA_HWDEP && EXPERIMENTAL
524 help
525 Say Y here to enable the HD-audio codec re-configuration feature.
526 This adds the sysfs interfaces to allow user to clear the whole
527 codec configuration, change the codec setup, add extra verbs,
528 and re-configure the codec dynamically.
529
521config SND_HDA_INPUT_BEEP 530config SND_HDA_INPUT_BEEP
522 bool "Support digital beep via input layer" 531 bool "Support digital beep via input layer"
523 depends on SND_HDA_INTEL 532 depends on SND_HDA_INTEL
diff --git a/sound/pci/hda/hda_hwdep.c b/sound/pci/hda/hda_hwdep.c
index 653da1d3e4df..5868bbc131cd 100644
--- a/sound/pci/hda/hda_hwdep.c
+++ b/sound/pci/hda/hda_hwdep.c
@@ -145,6 +145,8 @@ int __devinit snd_hda_create_hwdep(struct hda_codec *codec)
145 return 0; 145 return 0;
146} 146}
147 147
148#ifdef CONFIG_SND_HDA_RECONFIG
149
148/* 150/*
149 * sysfs interface 151 * sysfs interface
150 */ 152 */
@@ -347,3 +349,5 @@ int snd_hda_hwdep_add_sysfs(struct hda_codec *codec)
347 hwdep->device, &codec_attrs[i]); 349 hwdep->device, &codec_attrs[i]);
348 return 0; 350 return 0;
349} 351}
352
353#endif /* CONFIG_SND_HDA_RECONFIG */
diff --git a/sound/pci/hda/hda_local.h b/sound/pci/hda/hda_local.h
index bf7ba8b62973..6f2fe0f9fdd8 100644
--- a/sound/pci/hda/hda_local.h
+++ b/sound/pci/hda/hda_local.h
@@ -409,11 +409,19 @@ void snd_hda_ctls_clear(struct hda_codec *codec);
409 */ 409 */
410#ifdef CONFIG_SND_HDA_HWDEP 410#ifdef CONFIG_SND_HDA_HWDEP
411int snd_hda_create_hwdep(struct hda_codec *codec); 411int snd_hda_create_hwdep(struct hda_codec *codec);
412int snd_hda_hwdep_add_sysfs(struct hda_codec *codec);
413#else 412#else
414static inline int snd_hda_create_hwdep(struct hda_codec *codec) { return 0; } 413static inline int snd_hda_create_hwdep(struct hda_codec *codec) { return 0; }
415#endif 414#endif
416 415
416#ifdef CONFIG_SND_HDA_RECONFIG
417int snd_hda_hwdep_add_sysfs(struct hda_codec *codec);
418#else
419static inline int snd_hda_hwdep_add_sysfs(struct hda_codec *codec)
420{
421 return 0;
422}
423#endif
424
417/* 425/*
418 * power-management 426 * power-management
419 */ 427 */