Lines Matching refs:codec
154 struct hdac_device *codec; in process_unsol_events() local
166 codec = bus->caddr_tbl[caddr & 0x0f]; in process_unsol_events()
167 if (!codec || !codec->dev.driver) in process_unsol_events()
169 drv = drv_to_hdac_driver(codec->dev.driver); in process_unsol_events()
171 drv->unsol_event(codec, res); in process_unsol_events()
184 int snd_hdac_bus_add_device(struct hdac_bus *bus, struct hdac_device *codec) in snd_hdac_bus_add_device() argument
186 if (bus->caddr_tbl[codec->addr]) { in snd_hdac_bus_add_device()
188 codec->addr); in snd_hdac_bus_add_device()
192 list_add_tail(&codec->list, &bus->codec_list); in snd_hdac_bus_add_device()
193 bus->caddr_tbl[codec->addr] = codec; in snd_hdac_bus_add_device()
194 set_bit(codec->addr, &bus->codec_powered); in snd_hdac_bus_add_device()
206 struct hdac_device *codec) in snd_hdac_bus_remove_device() argument
208 WARN_ON(bus != codec->bus); in snd_hdac_bus_remove_device()
209 if (list_empty(&codec->list)) in snd_hdac_bus_remove_device()
211 list_del_init(&codec->list); in snd_hdac_bus_remove_device()
212 bus->caddr_tbl[codec->addr] = NULL; in snd_hdac_bus_remove_device()
213 clear_bit(codec->addr, &bus->codec_powered); in snd_hdac_bus_remove_device()