regmap: Clean up hwspinlock on regmap exit
[sfrench/cifs-2.6.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 */