Lines Matching defs:ssm4567
88 struct ssm4567 {
202 struct ssm4567 *ssm4567 = snd_soc_component_get_drvdata(component);
219 return regmap_update_bits(ssm4567->regmap, SSM4567_REG_DAC_CTRL,
225 struct ssm4567 *ssm4567 = snd_soc_component_get_drvdata(dai->component);
229 return regmap_update_bits(ssm4567->regmap, SSM4567_REG_DAC_CTRL,
236 struct ssm4567 *ssm4567 = snd_soc_dai_get_drvdata(dai);
265 ret = regmap_update_bits(ssm4567->regmap, SSM4567_REG_SAI_CTRL_2,
271 return regmap_update_bits(ssm4567->regmap, SSM4567_REG_SAI_CTRL_1,
277 struct ssm4567 *ssm4567 = snd_soc_dai_get_drvdata(dai);
331 return regmap_update_bits(ssm4567->regmap, SSM4567_REG_SAI_CTRL_1,
340 static int ssm4567_set_power(struct ssm4567 *ssm4567, bool enable)
345 ret = regmap_update_bits(ssm4567->regmap,
348 regcache_mark_dirty(ssm4567->regmap);
351 regcache_cache_only(ssm4567->regmap, !enable);
354 ret = regmap_write(ssm4567->regmap, SSM4567_REG_SOFT_RESET,
359 ret = regmap_update_bits(ssm4567->regmap,
362 regcache_sync(ssm4567->regmap);
371 struct ssm4567 *ssm4567 = snd_soc_component_get_drvdata(component);
381 ret = ssm4567_set_power(ssm4567, true);
384 ret = ssm4567_set_power(ssm4567, false);
400 .name = "ssm4567-hifi",
450 struct ssm4567 *ssm4567;
453 ssm4567 = devm_kzalloc(&i2c->dev, sizeof(*ssm4567), GFP_KERNEL);
454 if (ssm4567 == NULL)
457 i2c_set_clientdata(i2c, ssm4567);
459 ssm4567->regmap = devm_regmap_init_i2c(i2c, &ssm4567_regmap_config);
460 if (IS_ERR(ssm4567->regmap))
461 return PTR_ERR(ssm4567->regmap);
463 ret = regmap_write(ssm4567->regmap, SSM4567_REG_SOFT_RESET, 0x00);
467 ret = ssm4567_set_power(ssm4567, false);
476 { "ssm4567", 0 },
483 { .compatible = "adi,ssm4567", },
501 .name = "ssm4567",