xref: /linux/sound/hda/core/local.h (revision 177bf8620cf4ed290ee170a6c5966adc0924b336)
1*b2660d1eSTakashi Iwai /* SPDX-License-Identifier: GPL-2.0 */
2*b2660d1eSTakashi Iwai /*
3*b2660d1eSTakashi Iwai  * Local helper macros and functions for HD-audio core drivers
4*b2660d1eSTakashi Iwai  */
5*b2660d1eSTakashi Iwai 
6*b2660d1eSTakashi Iwai #ifndef __HDAC_LOCAL_H
7*b2660d1eSTakashi Iwai #define __HDAC_LOCAL_H
8*b2660d1eSTakashi Iwai 
9*b2660d1eSTakashi Iwai extern const struct attribute_group *hdac_dev_attr_groups[];
10*b2660d1eSTakashi Iwai int hda_widget_sysfs_init(struct hdac_device *codec);
11*b2660d1eSTakashi Iwai int hda_widget_sysfs_reinit(struct hdac_device *codec, hda_nid_t start_nid,
12*b2660d1eSTakashi Iwai 			    int num_nodes);
13*b2660d1eSTakashi Iwai void hda_widget_sysfs_exit(struct hdac_device *codec);
14*b2660d1eSTakashi Iwai 
15*b2660d1eSTakashi Iwai int snd_hdac_bus_add_device(struct hdac_bus *bus, struct hdac_device *codec);
16*b2660d1eSTakashi Iwai void snd_hdac_bus_remove_device(struct hdac_bus *bus,
17*b2660d1eSTakashi Iwai 				struct hdac_device *codec);
18*b2660d1eSTakashi Iwai void snd_hdac_bus_queue_event(struct hdac_bus *bus, u32 res, u32 res_ex);
19*b2660d1eSTakashi Iwai int snd_hdac_bus_exec_verb(struct hdac_bus *bus, unsigned int addr,
20*b2660d1eSTakashi Iwai 			   unsigned int cmd, unsigned int *res);
21*b2660d1eSTakashi Iwai 
22*b2660d1eSTakashi Iwai int snd_hdac_exec_verb(struct hdac_device *codec, unsigned int cmd,
23*b2660d1eSTakashi Iwai 		       unsigned int flags, unsigned int *res);
24*b2660d1eSTakashi Iwai 
25*b2660d1eSTakashi Iwai #endif /* __HDAC_LOCAL_H */
26