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",
448 struct ssm4567 *ssm4567;
451 ssm4567 = devm_kzalloc(&i2c->dev, sizeof(*ssm4567), GFP_KERNEL);
452 if (ssm4567 == NULL)
455 i2c_set_clientdata(i2c, ssm4567);
457 ssm4567->regmap = devm_regmap_init_i2c(i2c, &ssm4567_regmap_config);
458 if (IS_ERR(ssm4567->regmap))
459 return PTR_ERR(ssm4567->regmap);
461 ret = regmap_write(ssm4567->regmap, SSM4567_REG_SOFT_RESET, 0x00);
465 ret = ssm4567_set_power(ssm4567, false);
474 { "ssm4567", 0 },
481 { .compatible = "adi,ssm4567", },
499 .name = "ssm4567",