Lines Matching refs:codec
138 struct hdac_device *codec; in process_unsol_events() local
150 codec = bus->caddr_tbl[caddr & 0x0f]; in process_unsol_events()
151 if (!codec || !codec->dev.driver) in process_unsol_events()
153 drv = drv_to_hdac_driver(codec->dev.driver); in process_unsol_events()
155 drv->unsol_event(codec, res); in process_unsol_events()
159 int snd_hdac_bus_add_device(struct hdac_bus *bus, struct hdac_device *codec) in snd_hdac_bus_add_device() argument
161 if (bus->caddr_tbl[codec->addr]) { in snd_hdac_bus_add_device()
163 codec->addr); in snd_hdac_bus_add_device()
167 list_add_tail(&codec->list, &bus->codec_list); in snd_hdac_bus_add_device()
168 bus->caddr_tbl[codec->addr] = codec; in snd_hdac_bus_add_device()
169 set_bit(codec->addr, &bus->codec_powered); in snd_hdac_bus_add_device()
176 struct hdac_device *codec) in snd_hdac_bus_remove_device() argument
178 WARN_ON(bus != codec->bus); in snd_hdac_bus_remove_device()
179 if (list_empty(&codec->list)) in snd_hdac_bus_remove_device()
181 list_del_init(&codec->list); in snd_hdac_bus_remove_device()
182 bus->caddr_tbl[codec->addr] = NULL; in snd_hdac_bus_remove_device()
183 clear_bit(codec->addr, &bus->codec_powered); in snd_hdac_bus_remove_device()