Lines Matching +full:simple +full:- +full:audio +full:- +full:mux
1 // SPDX-License-Identifier: GPL-2.0-only
14 unsigned int mux; member
30 ucontrol->value.enumerated.item[0] = priv->mux; in simple_mux_control_get()
39 struct soc_enum *e = (struct soc_enum *)kcontrol->private_value; in simple_mux_control_put()
43 if (ucontrol->value.enumerated.item[0] > e->items) in simple_mux_control_put()
44 return -EINVAL; in simple_mux_control_put()
46 if (priv->mux == ucontrol->value.enumerated.item[0]) in simple_mux_control_put()
49 priv->mux = ucontrol->value.enumerated.item[0]; in simple_mux_control_put()
51 gpiod_set_value_cansleep(priv->gpiod_mux, priv->mux); in simple_mux_control_put()
54 ucontrol->value.enumerated.item[0], in simple_mux_control_put()
63 return priv->mux; in simple_mux_read()
72 SND_SOC_DAPM_MUX("MUX", SND_SOC_NOPM, 0, 0, &simple_mux_mux),
77 { "OUT", NULL, "MUX" },
78 { "MUX", "Input 1", "IN1" },
79 { "MUX", "Input 2", "IN2" },
92 struct device *dev = &pdev->dev; in simple_mux_probe()
97 return -ENOMEM; in simple_mux_probe()
101 priv->gpiod_mux = devm_gpiod_get(dev, "mux", GPIOD_OUT_LOW); in simple_mux_probe()
102 if (IS_ERR(priv->gpiod_mux)) in simple_mux_probe()
103 return dev_err_probe(dev, PTR_ERR(priv->gpiod_mux), in simple_mux_probe()
104 "Failed to get 'mux' gpio"); in simple_mux_probe()
111 { .compatible = "simple-audio-mux", },
119 .name = "simple-mux",
127 MODULE_DESCRIPTION("ASoC Simple Audio Mux driver");