Lines Matching defs:ak5558
24 #include "ak5558.h"
43 /* ak5558 register cache & default register settings */
137 struct ak5558_priv *ak5558 = snd_soc_component_get_drvdata(component);
139 int pcm_width = max(params_physical_width(params), ak5558->slot_width);
199 struct ak5558_priv *ak5558 = snd_soc_component_get_drvdata(component);
202 ak5558->slots = slots;
203 ak5558->slot_width = slot_width;
259 .name = "ak5558-aif",
270 static void ak5558_power_off(struct ak5558_priv *ak5558)
272 if (!ak5558->reset_gpiod)
275 gpiod_set_value_cansleep(ak5558->reset_gpiod, 1);
279 static void ak5558_power_on(struct ak5558_priv *ak5558)
281 if (!ak5558->reset_gpiod)
284 gpiod_set_value_cansleep(ak5558->reset_gpiod, 0);
290 struct ak5558_priv *ak5558 = snd_soc_component_get_drvdata(component);
292 ak5558_power_on(ak5558);
298 struct ak5558_priv *ak5558 = snd_soc_component_get_drvdata(component);
300 ak5558_power_off(ak5558);
305 struct ak5558_priv *ak5558 = dev_get_drvdata(dev);
307 regcache_cache_only(ak5558->regmap, true);
308 ak5558_power_off(ak5558);
310 regulator_bulk_disable(ARRAY_SIZE(ak5558->supplies),
311 ak5558->supplies);
317 struct ak5558_priv *ak5558 = dev_get_drvdata(dev);
320 ret = regulator_bulk_enable(ARRAY_SIZE(ak5558->supplies),
321 ak5558->supplies);
327 ak5558_power_off(ak5558);
328 ak5558_power_on(ak5558);
330 regcache_cache_only(ak5558->regmap, false);
331 regcache_mark_dirty(ak5558->regmap);
333 return regcache_sync(ak5558->regmap);
369 struct ak5558_priv *ak5558;
373 ak5558 = devm_kzalloc(&i2c->dev, sizeof(*ak5558), GFP_KERNEL);
374 if (!ak5558)
377 ak5558->regmap = devm_regmap_init_i2c(i2c, &ak5558_regmap);
378 if (IS_ERR(ak5558->regmap))
379 return PTR_ERR(ak5558->regmap);
381 i2c_set_clientdata(i2c, ak5558);
382 ak5558->i2c = i2c;
384 ak5558->reset_gpiod = devm_gpiod_get_optional(&i2c->dev, "reset",
386 if (IS_ERR(ak5558->reset_gpiod))
387 return PTR_ERR(ak5558->reset_gpiod);
389 for (i = 0; i < ARRAY_SIZE(ak5558->supplies); i++)
390 ak5558->supplies[i].supply = ak5558_supply_names[i];
392 ret = devm_regulator_bulk_get(&i2c->dev, ARRAY_SIZE(ak5558->supplies),
393 ak5558->supplies);
406 regcache_cache_only(ak5558->regmap, true);
419 { .compatible = "asahi-kasei,ak5558"},
426 .name = "ak5558",