cs47l15
struct cs47l15 *cs47l15 = snd_soc_component_get_drvdata(component);
ucontrol->value.integer.value[0] = !!cs47l15->in1_lp_mode;
struct cs47l15 *cs47l15 = snd_soc_component_get_drvdata(component);
return madera_set_fll_refclk(&cs47l15->fll[0], source, fref,
return madera_set_fll_ao_refclk(&cs47l15->fll[1], source, fref,
return madera_set_fll_syncclk(&cs47l15->fll[0], source, fref,
struct cs47l15 *cs47l15 = snd_soc_component_get_drvdata(component);
if (!!ucontrol->value.integer.value[0] == cs47l15->in1_lp_mode)
struct cs47l15 *cs47l15 = snd_soc_component_get_drvdata(component);
struct madera_priv *priv = &cs47l15->core;
struct cs47l15 *cs47l15 = data;
struct madera_priv *priv = &cs47l15->core;
struct cs47l15 *cs47l15 = snd_soc_component_get_drvdata(component);
struct madera *madera = cs47l15->core.madera;
wm_adsp2_component_probe(&cs47l15->core.adsp[0], component);
struct cs47l15 *cs47l15 = snd_soc_component_get_drvdata(component);
struct madera *madera = cs47l15->core.madera;
wm_adsp2_component_remove(&cs47l15->core.adsp[0], component);
struct cs47l15 *cs47l15;
cs47l15->in1_lp_mode = false;
cs47l15 = devm_kzalloc(&pdev->dev, sizeof(struct cs47l15),
if (!cs47l15)
platform_set_drvdata(pdev, cs47l15);
cs47l15->core.madera = madera;
cs47l15->core.dev = &pdev->dev;
cs47l15->core.num_inputs = 4;
ret = madera_core_init(&cs47l15->core);
ret = madera_init_overheat(&cs47l15->core);
cs47l15);
cs47l15->core.adsp[0].part = "cs47l15";
cs47l15->core.adsp[0].cs_dsp.num = 1;
cs47l15->core.adsp[0].cs_dsp.type = WMFW_ADSP2;
cs47l15->core.adsp[0].cs_dsp.rev = 2;
cs47l15->core.adsp[0].cs_dsp.dev = madera->dev;
cs47l15->core.adsp[0].cs_dsp.regmap = madera->regmap_32bit;
cs47l15->core.adsp[0].cs_dsp.base = MADERA_DSP1_CONFIG_1;
cs47l15->core.adsp[0].cs_dsp.mem = cs47l15_dsp1_regions;
cs47l15->core.adsp[0].cs_dsp.num_mems = ARRAY_SIZE(cs47l15_dsp1_regions);
cs47l15->core.adsp[0].cs_dsp.lock_regions =
ret = wm_adsp2_init(&cs47l15->core.adsp[0]);
ret = madera_init_bus_error_irq(&cs47l15->core, 0, wm_adsp2_bus_error);
&cs47l15->fll[0]);
&cs47l15->fll[1]);
madera_init_dai(&cs47l15->core, i);
madera_free_bus_error_irq(&cs47l15->core, 0);
wm_adsp2_remove(&cs47l15->core.adsp[0]);
madera_free_irq(madera, MADERA_IRQ_DSP_IRQ1, cs47l15);
madera_free_overheat(&cs47l15->core);
madera_core_free(&cs47l15->core);
struct cs47l15 *cs47l15 = platform_get_drvdata(pdev);
madera_free_bus_error_irq(&cs47l15->core, 0);
wm_adsp2_remove(&cs47l15->core.adsp[0]);
madera_set_irq_wake(cs47l15->core.madera, MADERA_IRQ_DSP_IRQ1, 0);
madera_free_irq(cs47l15->core.madera, MADERA_IRQ_DSP_IRQ1, cs47l15);
madera_free_overheat(&cs47l15->core);
madera_core_free(&cs47l15->core);
cs47l15->in1_lp_mode = true;
struct cs47l15 *cs47l15 = snd_soc_component_get_drvdata(component);
struct madera_priv *priv = &cs47l15->core;
ret = madera_set_adsp_clk(&cs47l15->core, w->shift, freq);