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