hda_codec
hda_codec* codec;
hda_codec* hda_codec_new(hda_controller* controller, uint32 cad);
void hda_codec_delete(hda_codec* codec);
status_t hda_send_verbs(hda_codec* codec, corb_t* verbs, uint32* responses,
status_t hda_verb_write(hda_codec* codec, uint32 nid, uint32 vid, uint16 payload);
status_t hda_verb_read(hda_codec* codec, uint32 nid, uint32 vid, uint32 *response);
struct hda_codec;
hda_codec* codecs[HDA_MAX_CODECS + 1];
hda_codec* active_codec;
hda_codec_switch_handler(hda_codec* codec)
hda_codec_new_audio_group(hda_codec* codec, uint32 audioGroupNodeID)
hda_codec_delete(hda_codec* codec)
hda_codec*
hda_codec* codec = (hda_codec*)calloc(1, sizeof(hda_codec));
hda_codec_get_quirks(hda_codec* codec)
hda_get_pm_support(hda_codec* codec, uint32 nodeID, uint32* pm)
hda_get_stream_support(hda_codec* codec, uint32 nodeID, uint32* formats,
hda_codec* codec = audioGroup->codec;
hda_send_verbs(hda_codec* codec, corb_t* verbs, uint32* responses, uint32 count)
hda_verb_write(hda_codec* codec, uint32 nid, uint32 vid, uint16 payload)
hda_verb_read(hda_codec* codec, uint32 nid, uint32 vid, uint32* response)
hda_codec* codec = controller->codecs[cad];
hda_codec* codec = audioGroup->codec;
hda_codec* codec = (hda_codec*)cookie;