Lines Matching defs:wm8523
3 * wm8523.c -- WM8523 ALSA SoC Audio driver
27 #include "wm8523.h"
125 struct wm8523_priv *wm8523 = snd_soc_component_get_drvdata(component);
130 if (!wm8523->sysclk) {
138 &wm8523->rate_constraint);
148 struct wm8523_priv *wm8523 = snd_soc_component_get_drvdata(component);
155 if (wm8523->sysclk / params_rate(params) ==
163 wm8523->sysclk / params_rate(params));
212 struct wm8523_priv *wm8523 = snd_soc_component_get_drvdata(component);
216 wm8523->sysclk = freq;
218 wm8523->rate_constraint.count = 0;
240 wm8523->rate_constraint_list[i] = val;
241 wm8523->rate_constraint.count++;
250 if (wm8523->rate_constraint.count == 0)
319 struct wm8523_priv *wm8523 = snd_soc_component_get_drvdata(component);
334 ret = regulator_bulk_enable(ARRAY_SIZE(wm8523->supplies),
335 wm8523->supplies);
344 regcache_sync(wm8523->regmap);
365 regulator_bulk_disable(ARRAY_SIZE(wm8523->supplies),
366 wm8523->supplies);
385 .name = "wm8523-hifi",
398 struct wm8523_priv *wm8523 = snd_soc_component_get_drvdata(component);
400 wm8523->rate_constraint.list = &wm8523->rate_constraint_list[0];
401 wm8523->rate_constraint.count =
402 ARRAY_SIZE(wm8523->rate_constraint_list);
429 { .compatible = "wlf,wm8523" },
449 struct wm8523_priv *wm8523;
453 wm8523 = devm_kzalloc(&i2c->dev, sizeof(struct wm8523_priv),
455 if (wm8523 == NULL)
458 wm8523->regmap = devm_regmap_init_i2c(i2c, &wm8523_regmap);
459 if (IS_ERR(wm8523->regmap)) {
460 ret = PTR_ERR(wm8523->regmap);
465 for (i = 0; i < ARRAY_SIZE(wm8523->supplies); i++)
466 wm8523->supplies[i].supply = wm8523_supply_names[i];
468 ret = devm_regulator_bulk_get(&i2c->dev, ARRAY_SIZE(wm8523->supplies),
469 wm8523->supplies);
475 ret = regulator_bulk_enable(ARRAY_SIZE(wm8523->supplies),
476 wm8523->supplies);
482 ret = regmap_read(wm8523->regmap, WM8523_DEVICE_ID, &val);
493 ret = regmap_read(wm8523->regmap, WM8523_REVISION, &val);
501 ret = regmap_write(wm8523->regmap, WM8523_DEVICE_ID, 0x8523);
507 regulator_bulk_disable(ARRAY_SIZE(wm8523->supplies), wm8523->supplies);
509 i2c_set_clientdata(i2c, wm8523);
517 regulator_bulk_disable(ARRAY_SIZE(wm8523->supplies), wm8523->supplies);
522 { "wm8523", 0 },
529 .name = "wm8523",