Lines Matching defs:component
133 static void wait_for_dc_servo(struct snd_soc_component *component)
138 dev_dbg(component->dev, "Waiting for DC servo...\n");
142 reg = snd_soc_component_read(component, WM9090_DC_SERVO_READBACK_0);
143 dev_dbg(component->dev, "DC servo status: %x\n", reg);
149 dev_err(component->dev, "Timed out waiting for DC Servo\n");
241 struct snd_soc_component *component = snd_soc_dapm_to_component(w->dapm);
242 unsigned int reg = snd_soc_component_read(component, WM9090_ANALOGUE_HP_0);
246 snd_soc_component_update_bits(component, WM9090_CHARGE_PUMP_1,
251 snd_soc_component_update_bits(component, WM9090_POWER_MANAGEMENT_1,
256 snd_soc_component_write(component, WM9090_ANALOGUE_HP_0, reg);
264 snd_soc_component_write(component, WM9090_DC_SERVO_0,
269 wait_for_dc_servo(component);
273 snd_soc_component_write(component, WM9090_ANALOGUE_HP_0, reg);
284 snd_soc_component_write(component, WM9090_ANALOGUE_HP_0, reg);
286 snd_soc_component_write(component, WM9090_DC_SERVO_0, 0);
288 snd_soc_component_update_bits(component, WM9090_POWER_MANAGEMENT_1,
292 snd_soc_component_update_bits(component, WM9090_CHARGE_PUMP_1,
409 static int wm9090_add_controls(struct snd_soc_component *component)
411 struct wm9090_priv *wm9090 = snd_soc_component_get_drvdata(component);
412 struct snd_soc_dapm_context *dapm = snd_soc_component_get_dapm(component);
420 snd_soc_add_component_controls(component, wm9090_controls,
429 snd_soc_add_component_controls(component, wm9090_in1_se_controls,
439 snd_soc_add_component_controls(component, wm9090_in2_se_controls,
445 snd_soc_component_write(component, WM9090_AGC_CONTROL_0 + i,
447 snd_soc_component_update_bits(component, WM9090_POWER_MANAGEMENT_3,
450 snd_soc_component_update_bits(component, WM9090_POWER_MANAGEMENT_3,
462 static int wm9090_set_bias_level(struct snd_soc_component *component,
465 struct wm9090_priv *wm9090 = snd_soc_component_get_drvdata(component);
472 snd_soc_component_update_bits(component, WM9090_ANTIPOP2, WM9090_VMID_ENA,
474 snd_soc_component_update_bits(component, WM9090_POWER_MANAGEMENT_1,
483 if (snd_soc_component_get_bias_level(component) == SND_SOC_BIAS_OFF) {
492 snd_soc_component_update_bits(component, WM9090_POWER_MANAGEMENT_1,
494 snd_soc_component_update_bits(component, WM9090_ANTIPOP2,
505 static int wm9090_probe(struct snd_soc_component *component)
510 snd_soc_component_update_bits(component, WM9090_IN1_LINE_INPUT_A_VOLUME,
513 snd_soc_component_update_bits(component, WM9090_IN1_LINE_INPUT_B_VOLUME,
516 snd_soc_component_update_bits(component, WM9090_IN2_LINE_INPUT_A_VOLUME,
519 snd_soc_component_update_bits(component, WM9090_IN2_LINE_INPUT_B_VOLUME,
522 snd_soc_component_update_bits(component, WM9090_SPEAKER_VOLUME_LEFT,
525 snd_soc_component_update_bits(component, WM9090_LEFT_OUTPUT_VOLUME,
528 snd_soc_component_update_bits(component, WM9090_RIGHT_OUTPUT_VOLUME,
532 snd_soc_component_update_bits(component, WM9090_CLOCKING_1,
535 wm9090_add_controls(component);