Lines Matching refs:tas5720
3 * tas5720.c - ALSA SoC Texas Instruments TAS5720 Mono Audio Amplifier
26 #include "tas5720.h"
147 struct tas5720_data *tas5720 = snd_soc_component_get_drvdata(component);
182 switch (tas5720->devtype) {
219 struct tas5720_data *tas5720 = container_of(work, struct tas5720_data,
221 struct device *dev = tas5720->component->dev;
225 ret = regmap_read(tas5720->regmap, TAS5720_FAULT_REG, &curr_fault);
240 if ((curr_fault & TAS5720_OCE) && !(tas5720->last_fault & TAS5720_OCE))
243 if ((curr_fault & TAS5720_DCE) && !(tas5720->last_fault & TAS5720_DCE))
246 if ((curr_fault & TAS5720_OTE) && !(tas5720->last_fault & TAS5720_OTE))
250 tas5720->last_fault = curr_fault;
261 ret = regmap_write_bits(tas5720->regmap, TAS5720_POWER_CTRL_REG,
266 ret = regmap_write_bits(tas5720->regmap, TAS5720_POWER_CTRL_REG,
273 schedule_delayed_work(&tas5720->fault_check_work,
279 struct tas5720_data *tas5720 = snd_soc_component_get_drvdata(component);
283 tas5720->component = component;
285 ret = regulator_bulk_enable(ARRAY_SIZE(tas5720->supplies),
286 tas5720->supplies);
297 ret = regmap_read(tas5720->regmap, TAS5720_DEVICE_ID_REG, &device_id);
304 switch (tas5720->devtype) {
337 INIT_DELAYED_WORK(&tas5720->fault_check_work, tas5720_fault_check_work);
345 regulator_bulk_disable(ARRAY_SIZE(tas5720->supplies),
346 tas5720->supplies);
352 struct tas5720_data *tas5720 = snd_soc_component_get_drvdata(component);
355 cancel_delayed_work_sync(&tas5720->fault_check_work);
357 ret = regulator_bulk_disable(ARRAY_SIZE(tas5720->supplies),
358 tas5720->supplies);
367 struct tas5720_data *tas5720 = snd_soc_component_get_drvdata(component);
390 tas5720->last_fault = 0;
391 schedule_delayed_work(&tas5720->fault_check_work,
395 cancel_delayed_work_sync(&tas5720->fault_check_work);
413 struct tas5720_data *tas5720 = snd_soc_component_get_drvdata(component);
416 regcache_cache_only(tas5720->regmap, true);
417 regcache_mark_dirty(tas5720->regmap);
419 ret = regulator_bulk_disable(ARRAY_SIZE(tas5720->supplies),
420 tas5720->supplies);
429 struct tas5720_data *tas5720 = snd_soc_component_get_drvdata(component);
432 ret = regulator_bulk_enable(ARRAY_SIZE(tas5720->supplies),
433 tas5720->supplies);
439 regcache_cache_only(tas5720->regmap, false);
441 ret = regcache_sync(tas5720->regmap);
624 .name = "tas5720-amplifier",
708 { "tas5720", TAS5720 },
716 { .compatible = "ti,tas5720", },
725 .name = "tas5720",