Skip to content

Commit

Permalink
ALSA: hda - Make CONFIG_SND_HDA_RECONFIG for codec reconfiguration
Browse files Browse the repository at this point in the history
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: Takashi Iwai <tiwai@suse.de>
  • Loading branch information
Takashi Iwai committed Nov 21, 2008
1 parent f208dba commit e7ee058
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 1 deletion.
9 changes: 9 additions & 0 deletions sound/pci/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -518,6 +518,15 @@ config SND_HDA_HWDEP
This interface can be used for out-of-band communication
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
bool "Support digital beep via input layer"
depends on SND_HDA_INTEL
Expand Down
4 changes: 4 additions & 0 deletions sound/pci/hda/hda_hwdep.c
Original file line number Diff line number Diff line change
Expand Up @@ -145,6 +145,8 @@ int __devinit snd_hda_create_hwdep(struct hda_codec *codec)
return 0;
}

#ifdef CONFIG_SND_HDA_RECONFIG

/*
* sysfs interface
*/
Expand Down Expand Up @@ -347,3 +349,5 @@ int snd_hda_hwdep_add_sysfs(struct hda_codec *codec)
hwdep->device, &codec_attrs[i]);
return 0;
}

#endif /* CONFIG_SND_HDA_RECONFIG */
10 changes: 9 additions & 1 deletion sound/pci/hda/hda_local.h
Original file line number Diff line number Diff line change
Expand Up @@ -409,11 +409,19 @@ void snd_hda_ctls_clear(struct hda_codec *codec);
*/
#ifdef CONFIG_SND_HDA_HWDEP
int snd_hda_create_hwdep(struct hda_codec *codec);
int snd_hda_hwdep_add_sysfs(struct hda_codec *codec);
#else
static inline int snd_hda_create_hwdep(struct hda_codec *codec) { return 0; }
#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
*/
Expand Down

0 comments on commit e7ee058

Please sign in to comment.