diff options
author | Takashi Iwai <tiwai@suse.de> | 2011-08-15 12:49:07 +0200 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2011-08-15 12:49:07 +0200 |
commit | f57c25650b9f011290539a888d9df0e5dd3ce9f7 (patch) | |
tree | 591f662a98802ade20922fe1d519afaf2f8b0db4 /sound/pci/hda/hda_codec.c | |
parent | 2d9f8a6e73ef2ec8ecaa24ca98e7010d6edd089f (diff) | |
download | linux-f57c25650b9f011290539a888d9df0e5dd3ce9f7.tar.gz linux-f57c25650b9f011290539a888d9df0e5dd3ce9f7.tar.bz2 linux-f57c25650b9f011290539a888d9df0e5dd3ce9f7.zip |
ALSA: hda - Add snd_hda_override_pin_caps() helper function
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/pci/hda/hda_codec.c')
-rw-r--r-- | sound/pci/hda/hda_codec.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/sound/pci/hda/hda_codec.c b/sound/pci/hda/hda_codec.c index 2a8d447c8ed6..83d3eb5e5552 100644 --- a/sound/pci/hda/hda_codec.c +++ b/sound/pci/hda/hda_codec.c @@ -1693,6 +1693,29 @@ u32 snd_hda_query_pin_caps(struct hda_codec *codec, hda_nid_t nid) EXPORT_SYMBOL_HDA(snd_hda_query_pin_caps); /** + * snd_hda_override_pin_caps - Override the pin capabilities + * @codec: the CODEC + * @nid: the NID to override + * @caps: the capability bits to set + * + * Override the cached PIN capabilitiy bits value by the given one. + * + * Returns zero if successful or a negative error code. + */ +int snd_hda_override_pin_caps(struct hda_codec *codec, hda_nid_t nid, + unsigned int caps) +{ + struct hda_amp_info *info; + info = get_alloc_amp_hash(codec, HDA_HASH_PINCAP_KEY(nid)); + if (!info) + return -ENOMEM; + info->amp_caps = caps; + info->head.val |= INFO_AMP_CAPS; + return 0; +} +EXPORT_SYMBOL_HDA(snd_hda_override_pin_caps); + +/** * snd_hda_pin_sense - execute pin sense measurement * @codec: the CODEC to sense * @nid: the pin NID to sense |