aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pci/hda/hda_jack.c
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2012-02-13 11:41:42 +0100
committerTakashi Iwai <tiwai@suse.de>2012-02-13 12:06:03 +0100
commita9c74173f4be2a536ef8d8c88642e41527f2d8b4 (patch)
tree584001114cbde583e4628b0d1259f0b9f57288d3 /sound/pci/hda/hda_jack.c
parentMerge branch 'fix/hda' into topic/hda (diff)
downloadlinux-dev-a9c74173f4be2a536ef8d8c88642e41527f2d8b4.tar.xz
linux-dev-a9c74173f4be2a536ef8d8c88642e41527f2d8b4.zip
ALSA: hda - Make is_jack_detectable() as non-inlined
It's a bit too big and used too often as an inline function. Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/pci/hda/hda_jack.c')
-rw-r--r--sound/pci/hda/hda_jack.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/sound/pci/hda/hda_jack.c b/sound/pci/hda/hda_jack.c
index 9d819c4b4923..ac7e57c40398 100644
--- a/sound/pci/hda/hda_jack.c
+++ b/sound/pci/hda/hda_jack.c
@@ -19,6 +19,20 @@
#include "hda_local.h"
#include "hda_jack.h"
+bool is_jack_detectable(struct hda_codec *codec, hda_nid_t nid)
+{
+ if (!(snd_hda_query_pin_caps(codec, nid) & AC_PINCAP_PRES_DETECT))
+ return false;
+ if (!codec->ignore_misc_bit &&
+ (get_defcfg_misc(snd_hda_codec_get_pincfg(codec, nid)) &
+ AC_DEFCFG_MISC_NO_PRESENCE))
+ return false;
+ if (!(get_wcaps(codec, nid) & AC_WCAP_UNSOL_CAP))
+ return false;
+ return true;
+}
+EXPORT_SYMBOL_HDA(is_jack_detectable);
+
/* execute pin sense measurement */
static u32 read_pin_sense(struct hda_codec *codec, hda_nid_t nid)
{