Lines Matching refs:tas5720
212 struct tas5720_data *tas5720 = container_of(work, struct tas5720_data, in tas5720_fault_check_work() local
214 struct device *dev = tas5720->component->dev; in tas5720_fault_check_work()
218 ret = regmap_read(tas5720->regmap, TAS5720_FAULT_REG, &curr_fault); in tas5720_fault_check_work()
233 if ((curr_fault & TAS5720_OCE) && !(tas5720->last_fault & TAS5720_OCE)) in tas5720_fault_check_work()
236 if ((curr_fault & TAS5720_DCE) && !(tas5720->last_fault & TAS5720_DCE)) in tas5720_fault_check_work()
239 if ((curr_fault & TAS5720_OTE) && !(tas5720->last_fault & TAS5720_OTE)) in tas5720_fault_check_work()
243 tas5720->last_fault = curr_fault; in tas5720_fault_check_work()
254 ret = regmap_write_bits(tas5720->regmap, TAS5720_POWER_CTRL_REG, in tas5720_fault_check_work()
259 ret = regmap_write_bits(tas5720->regmap, TAS5720_POWER_CTRL_REG, in tas5720_fault_check_work()
266 schedule_delayed_work(&tas5720->fault_check_work, in tas5720_fault_check_work()
272 struct tas5720_data *tas5720 = snd_soc_component_get_drvdata(component); in tas5720_codec_probe() local
276 tas5720->component = component; in tas5720_codec_probe()
278 ret = regulator_bulk_enable(ARRAY_SIZE(tas5720->supplies), in tas5720_codec_probe()
279 tas5720->supplies); in tas5720_codec_probe()
290 ret = regmap_read(tas5720->regmap, TAS5720_DEVICE_ID_REG, &device_id); in tas5720_codec_probe()
297 switch (tas5720->devtype) { in tas5720_codec_probe()
330 INIT_DELAYED_WORK(&tas5720->fault_check_work, tas5720_fault_check_work); in tas5720_codec_probe()
338 regulator_bulk_disable(ARRAY_SIZE(tas5720->supplies), in tas5720_codec_probe()
339 tas5720->supplies); in tas5720_codec_probe()
345 struct tas5720_data *tas5720 = snd_soc_component_get_drvdata(component); in tas5720_codec_remove() local
348 cancel_delayed_work_sync(&tas5720->fault_check_work); in tas5720_codec_remove()
350 ret = regulator_bulk_disable(ARRAY_SIZE(tas5720->supplies), in tas5720_codec_remove()
351 tas5720->supplies); in tas5720_codec_remove()
360 struct tas5720_data *tas5720 = snd_soc_component_get_drvdata(component); in tas5720_dac_event() local
383 tas5720->last_fault = 0; in tas5720_dac_event()
384 schedule_delayed_work(&tas5720->fault_check_work, in tas5720_dac_event()
388 cancel_delayed_work_sync(&tas5720->fault_check_work); in tas5720_dac_event()
406 struct tas5720_data *tas5720 = snd_soc_component_get_drvdata(component); in tas5720_suspend() local
409 regcache_cache_only(tas5720->regmap, true); in tas5720_suspend()
410 regcache_mark_dirty(tas5720->regmap); in tas5720_suspend()
412 ret = regulator_bulk_disable(ARRAY_SIZE(tas5720->supplies), in tas5720_suspend()
413 tas5720->supplies); in tas5720_suspend()
422 struct tas5720_data *tas5720 = snd_soc_component_get_drvdata(component); in tas5720_resume() local
425 ret = regulator_bulk_enable(ARRAY_SIZE(tas5720->supplies), in tas5720_resume()
426 tas5720->supplies); in tas5720_resume()
432 regcache_cache_only(tas5720->regmap, false); in tas5720_resume()
434 ret = regcache_sync(tas5720->regmap); in tas5720_resume()