Most of the boards have their headphone jack directly connected to the
matching pins of the SoCs. Since most of the time we will have the same
routing path, it makes no sense to put that in the DTS, since it will only
be some useless duplication there.
It also fixes the following warning messages that were seen so far, on
boards where we were using the bindings in the documentation example.
sun4i-codec
1c22c00.codec: ASoC: no sink widget found for Headphone Jack
sun4i-codec
1c22c00.codec: ASoC: Failed to add route HP Left -> direct -> Headphone Jack
sun4i-codec
1c22c00.codec: ASoC: no sink widget found for Headphone Jack
sun4i-codec
1c22c00.codec: ASoC: Failed to add route HP Right -> direct -> Headphone Jack
Reported-by: Priit Laes <plaes@plaes.org>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
- clock-names: should contain followings:
- "apb": the parent APB clock for this controller
- "codec": the parent module clock
-- routing : A list of the connections between audio components. Each
- entry is a pair of strings, the first being the connection's sink,
- the second being the connection's source.
-
Example:
codec: codec@01c22c00 {
clock-names = "apb", "codec";
dmas = <&dma 0 19>, <&dma 0 19>;
dma-names = "rx", "tx";
- routing = "Headphone Jack", "HP Right",
- "Headphone Jack", "HP Left";
};
static struct snd_soc_card *sun4i_codec_create_card(struct device *dev)
{
struct snd_soc_card *card;
- int ret;
card = devm_kzalloc(dev, sizeof(*card), GFP_KERNEL);
if (!card)
card->dev = dev;
card->name = "sun4i-codec";
- ret = snd_soc_of_parse_audio_routing(card, "routing");
- if (ret) {
- dev_err(dev, "Failed to create our audio routing\n");
- return NULL;
- }
-
return card;
};