aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2012-02-13 05:41:42 -0500
committerTakashi Iwai <tiwai@suse.de>2012-02-13 06:06:03 -0500
commita9c74173f4be2a536ef8d8c88642e41527f2d8b4 (patch)
tree584001114cbde583e4628b0d1259f0b9f57288d3
parent374a69e76effdb84ef068d63759d8f990710432f (diff)
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>
-rw-r--r--sound/pci/hda/hda_jack.c14
-rw-r--r--sound/pci/hda/hda_jack.h13
2 files changed, 15 insertions, 12 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 @@
19#include "hda_local.h" 19#include "hda_local.h"
20#include "hda_jack.h" 20#include "hda_jack.h"
21 21
22bool is_jack_detectable(struct hda_codec *codec, hda_nid_t nid)
23{
24 if (!(snd_hda_query_pin_caps(codec, nid) & AC_PINCAP_PRES_DETECT))
25 return false;
26 if (!codec->ignore_misc_bit &&
27 (get_defcfg_misc(snd_hda_codec_get_pincfg(codec, nid)) &
28 AC_DEFCFG_MISC_NO_PRESENCE))
29 return false;
30 if (!(get_wcaps(codec, nid) & AC_WCAP_UNSOL_CAP))
31 return false;
32 return true;
33}
34EXPORT_SYMBOL_HDA(is_jack_detectable);
35
22/* execute pin sense measurement */ 36/* execute pin sense measurement */
23static u32 read_pin_sense(struct hda_codec *codec, hda_nid_t nid) 37static u32 read_pin_sense(struct hda_codec *codec, hda_nid_t nid)
24{ 38{
diff --git a/sound/pci/hda/hda_jack.h b/sound/pci/hda/hda_jack.h
index f8f97c71c9c1..c66655cf413a 100644
--- a/sound/pci/hda/hda_jack.h
+++ b/sound/pci/hda/hda_jack.h
@@ -62,18 +62,7 @@ int snd_hda_jack_detect_enable(struct hda_codec *codec, hda_nid_t nid,
62u32 snd_hda_pin_sense(struct hda_codec *codec, hda_nid_t nid); 62u32 snd_hda_pin_sense(struct hda_codec *codec, hda_nid_t nid);
63int snd_hda_jack_detect(struct hda_codec *codec, hda_nid_t nid); 63int snd_hda_jack_detect(struct hda_codec *codec, hda_nid_t nid);
64 64
65static inline bool is_jack_detectable(struct hda_codec *codec, hda_nid_t nid) 65bool is_jack_detectable(struct hda_codec *codec, hda_nid_t nid);
66{
67 if (!(snd_hda_query_pin_caps(codec, nid) & AC_PINCAP_PRES_DETECT))
68 return false;
69 if (!codec->ignore_misc_bit &&
70 (get_defcfg_misc(snd_hda_codec_get_pincfg(codec, nid)) &
71 AC_DEFCFG_MISC_NO_PRESENCE))
72 return false;
73 if (!(get_wcaps(codec, nid) & AC_WCAP_UNSOL_CAP))
74 return false;
75 return true;
76}
77 66
78int snd_hda_jack_add_kctl(struct hda_codec *codec, hda_nid_t nid, 67int snd_hda_jack_add_kctl(struct hda_codec *codec, hda_nid_t nid,
79 const char *name, int idx); 68 const char *name, int idx);