]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/blob - sound/hda/local.h
Merge branches 'pm-domains', 'pm-docs' and 'pm-devfreq'
[mirror_ubuntu-artful-kernel.git] / sound / hda / local.h
1 /*
2 * Local helper macros and functions for HD-audio core drivers
3 */
4
5 #ifndef __HDAC_LOCAL_H
6 #define __HDAC_LOCAL_H
7
8 #define get_wcaps(codec, nid) \
9 snd_hdac_read_parm(codec, nid, AC_PAR_AUDIO_WIDGET_CAP)
10
11 /* get the widget type from widget capability bits */
12 static inline int get_wcaps_type(unsigned int wcaps)
13 {
14 if (!wcaps)
15 return -1; /* invalid type */
16 return (wcaps & AC_WCAP_TYPE) >> AC_WCAP_TYPE_SHIFT;
17 }
18
19 static inline unsigned int get_wcaps_channels(u32 wcaps)
20 {
21 unsigned int chans;
22
23 chans = (wcaps & AC_WCAP_CHAN_CNT_EXT) >> 13;
24 chans = (chans + 1) * 2;
25
26 return chans;
27 }
28
29 extern const struct attribute_group *hdac_dev_attr_groups[];
30 int hda_widget_sysfs_init(struct hdac_device *codec);
31 void hda_widget_sysfs_exit(struct hdac_device *codec);
32
33 #endif /* __HDAC_LOCAL_H */