Lines Matching defs:bd

47 static int bd28623_power_on(struct bd28623_priv *bd)
51 ret = regulator_bulk_enable(ARRAY_SIZE(bd->supplies), bd->supplies);
53 dev_err(bd->dev, "Failed to enable supplies: %d\n", ret);
57 gpiod_set_value_cansleep(bd->reset_gpio, 0);
63 static void bd28623_power_off(struct bd28623_priv *bd)
65 gpiod_set_value_cansleep(bd->reset_gpio, 1);
67 regulator_bulk_disable(ARRAY_SIZE(bd->supplies), bd->supplies);
75 struct bd28623_priv *bd = snd_soc_component_get_drvdata(component);
77 ucontrol->value.integer.value[0] = bd->switch_spk;
87 struct bd28623_priv *bd = snd_soc_component_get_drvdata(component);
89 if (bd->switch_spk == ucontrol->value.integer.value[0])
92 bd->switch_spk = ucontrol->value.integer.value[0];
94 gpiod_set_value_cansleep(bd->mute_gpio, bd->switch_spk ? 0 : 1);
106 struct bd28623_priv *bd = snd_soc_component_get_drvdata(component);
109 bd->switch_spk = 1;
111 ret = bd28623_power_on(bd);
115 gpiod_set_value_cansleep(bd->mute_gpio, bd->switch_spk ? 0 : 1);
122 struct bd28623_priv *bd = snd_soc_component_get_drvdata(component);
124 bd28623_power_off(bd);
129 struct bd28623_priv *bd = snd_soc_component_get_drvdata(component);
131 bd28623_power_off(bd);
138 struct bd28623_priv *bd = snd_soc_component_get_drvdata(component);
141 ret = bd28623_power_on(bd);
145 gpiod_set_value_cansleep(bd->mute_gpio, bd->switch_spk ? 0 : 1);
183 struct bd28623_priv *bd;
187 bd = devm_kzalloc(&pdev->dev, sizeof(struct bd28623_priv), GFP_KERNEL);
188 if (!bd)
191 for (i = 0; i < ARRAY_SIZE(bd->supplies); i++)
192 bd->supplies[i].supply = bd28623_supply_names[i];
194 ret = devm_regulator_bulk_get(dev, ARRAY_SIZE(bd->supplies),
195 bd->supplies);
201 bd->reset_gpio = devm_gpiod_get_optional(dev, "reset",
203 if (IS_ERR(bd->reset_gpio)) {
205 PTR_ERR(bd->reset_gpio));
206 return PTR_ERR(bd->reset_gpio);
209 bd->mute_gpio = devm_gpiod_get_optional(dev, "mute",
211 if (IS_ERR(bd->mute_gpio)) {
213 PTR_ERR(bd->mute_gpio));
214 return PTR_ERR(bd->mute_gpio);
217 platform_set_drvdata(pdev, bd);
218 bd->dev = dev;