Lines Matching +full:platform +full:- +full:name

1 // SPDX-License-Identifier: GPL-2.0
7 #include <linux/input-event-codes.h>
20 struct device_node *platform = NULL; in qcom_snd_parse_of() local
22 struct device *dev = card->dev; in qcom_snd_parse_of()
29 if (ret == 0 && !card->name) in qcom_snd_parse_of()
33 dev_err(dev, "Error parsing card name: %d\n", ret); in qcom_snd_parse_of()
37 if (of_property_read_bool(dev->of_node, "widgets")) { in qcom_snd_parse_of()
44 if (of_property_read_bool(dev->of_node, "audio-routing")) { in qcom_snd_parse_of()
45 ret = snd_soc_of_parse_audio_routing(card, "audio-routing"); in qcom_snd_parse_of()
50 if (of_property_read_bool(dev->of_node, "qcom,audio-routing")) { in qcom_snd_parse_of()
51 ret = snd_soc_of_parse_audio_routing(card, "qcom,audio-routing"); in qcom_snd_parse_of()
56 ret = snd_soc_of_parse_pin_switches(card, "pin-switches"); in qcom_snd_parse_of()
60 ret = snd_soc_of_parse_aux_devs(card, "aux-devs"); in qcom_snd_parse_of()
65 num_links = of_get_available_child_count(dev->of_node); in qcom_snd_parse_of()
68 card->dai_link = devm_kcalloc(dev, num_links, sizeof(*link), GFP_KERNEL); in qcom_snd_parse_of()
69 if (!card->dai_link) in qcom_snd_parse_of()
70 return -ENOMEM; in qcom_snd_parse_of()
72 card->num_links = num_links; in qcom_snd_parse_of()
73 link = card->dai_link; in qcom_snd_parse_of()
75 for_each_available_child_of_node(dev->of_node, np) { in qcom_snd_parse_of()
78 ret = -ENOMEM; in qcom_snd_parse_of()
82 link->cpus = &dlc[0]; in qcom_snd_parse_of()
83 link->platforms = &dlc[1]; in qcom_snd_parse_of()
85 link->num_cpus = 1; in qcom_snd_parse_of()
86 link->num_platforms = 1; in qcom_snd_parse_of()
88 ret = of_property_read_string(np, "link-name", &link->name); in qcom_snd_parse_of()
90 dev_err(card->dev, "error getting codec dai_link name\n"); in qcom_snd_parse_of()
95 platform = of_get_child_by_name(np, "platform"); in qcom_snd_parse_of()
99 dev_err(dev, "%s: Can't find cpu DT node\n", link->name); in qcom_snd_parse_of()
100 ret = -EINVAL; in qcom_snd_parse_of()
104 ret = snd_soc_of_get_dlc(cpu, &args, link->cpus, 0); in qcom_snd_parse_of()
106 dev_err_probe(card->dev, ret, in qcom_snd_parse_of()
107 "%s: error getting cpu dai name\n", link->name); in qcom_snd_parse_of()
111 link->id = args.args[0]; in qcom_snd_parse_of()
113 if (platform) { in qcom_snd_parse_of()
114 link->platforms->of_node = of_parse_phandle(platform, in qcom_snd_parse_of()
115 "sound-dai", in qcom_snd_parse_of()
117 if (!link->platforms->of_node) { in qcom_snd_parse_of()
118 dev_err(card->dev, "%s: platform dai not found\n", link->name); in qcom_snd_parse_of()
119 ret = -EINVAL; in qcom_snd_parse_of()
123 link->platforms->of_node = link->cpus->of_node; in qcom_snd_parse_of()
129 dev_err_probe(card->dev, ret, in qcom_snd_parse_of()
130 "%s: codec dai not found\n", link->name); in qcom_snd_parse_of()
134 if (platform) { in qcom_snd_parse_of()
136 link->no_pcm = 1; in qcom_snd_parse_of()
137 link->ignore_pmdown_time = 1; in qcom_snd_parse_of()
141 link->codecs = &snd_soc_dummy_dlc; in qcom_snd_parse_of()
142 link->num_codecs = 1; in qcom_snd_parse_of()
143 link->dynamic = 1; in qcom_snd_parse_of()
146 if (platform || !codec) { in qcom_snd_parse_of()
149 link->ignore_suspend = 1; in qcom_snd_parse_of()
150 link->nonatomic = 1; in qcom_snd_parse_of()
153 link->stream_name = link->name; in qcom_snd_parse_of()
158 of_node_put(platform); in qcom_snd_parse_of()
161 if (!card->dapm_widgets) { in qcom_snd_parse_of()
162 card->dapm_widgets = qcom_jack_snd_widgets; in qcom_snd_parse_of()
163 card->num_dapm_widgets = ARRAY_SIZE(qcom_jack_snd_widgets); in qcom_snd_parse_of()
170 of_node_put(platform); in qcom_snd_parse_of()
194 struct snd_soc_card *card = rtd->card; in qcom_snd_wcd_jack_setup()
208 dev_err(card->dev, "Unable to add Headphone Jack\n"); in qcom_snd_wcd_jack_setup()
212 snd_jack_set_key(jack->jack, SND_JACK_BTN_0, KEY_MEDIA); in qcom_snd_wcd_jack_setup()
213 snd_jack_set_key(jack->jack, SND_JACK_BTN_1, KEY_VOICECOMMAND); in qcom_snd_wcd_jack_setup()
214 snd_jack_set_key(jack->jack, SND_JACK_BTN_2, KEY_VOLUMEUP); in qcom_snd_wcd_jack_setup()
215 snd_jack_set_key(jack->jack, SND_JACK_BTN_3, KEY_VOLUMEDOWN); in qcom_snd_wcd_jack_setup()
219 switch (cpu_dai->id) { in qcom_snd_wcd_jack_setup()
225 rval = snd_soc_component_set_jack(codec_dai->component, in qcom_snd_wcd_jack_setup()
227 if (rval != 0 && rval != -ENOTSUPP) { in qcom_snd_wcd_jack_setup()
228 dev_warn(card->dev, "Failed to set jack: %d\n", rval); in qcom_snd_wcd_jack_setup()