ASoC: qcom: move clock names into LPASS variant struct
The clock names for the two supported codecs are either "mi2s-*" name variants generated by code. This naming scheme does not work for platforms like MSM8660 which has I2S channels named CODEC_I2S_SPKR (rather than just "MI2S tertiary" and other repetitive names) and consequently have clocks named "codec-i2s-spkr-osr-clk" and similar. Skip the runtime generation of clock names and replace it with name lookup tables encoded into the variant data. Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:

committed by
Mark Brown

parent
c1ae3cfa0e
commit
97c52eb969
@@ -429,7 +429,6 @@ int asoc_qcom_lpass_cpu_platform_probe(struct platform_device *pdev)
|
||||
struct lpass_variant *variant;
|
||||
struct device *dev = &pdev->dev;
|
||||
const struct of_device_id *match;
|
||||
char clk_name[16];
|
||||
int ret, i, dai_id;
|
||||
|
||||
dsp_of_node = of_parse_phandle(pdev->dev.of_node, "qcom,adsp", 0);
|
||||
@@ -477,31 +476,24 @@ int asoc_qcom_lpass_cpu_platform_probe(struct platform_device *pdev)
|
||||
|
||||
for (i = 0; i < variant->num_dai; i++) {
|
||||
dai_id = variant->dai_driver[i].id;
|
||||
if (variant->num_dai > 1)
|
||||
sprintf(clk_name, "mi2s-osr-clk%d", i);
|
||||
else
|
||||
sprintf(clk_name, "mi2s-osr-clk");
|
||||
|
||||
drvdata->mi2s_osr_clk[dai_id] = devm_clk_get(&pdev->dev,
|
||||
clk_name);
|
||||
variant->dai_osr_clk_names[i]);
|
||||
if (IS_ERR(drvdata->mi2s_osr_clk[dai_id])) {
|
||||
dev_warn(&pdev->dev,
|
||||
"error getting optional mi2s-osr-clk: %ld\n",
|
||||
"%s() error getting optional %s: %ld\n",
|
||||
__func__,
|
||||
variant->dai_osr_clk_names[i],
|
||||
PTR_ERR(drvdata->mi2s_osr_clk[dai_id]));
|
||||
|
||||
drvdata->mi2s_osr_clk[dai_id] = NULL;
|
||||
}
|
||||
|
||||
if (variant->num_dai > 1)
|
||||
sprintf(clk_name, "mi2s-bit-clk%d", i);
|
||||
else
|
||||
sprintf(clk_name, "mi2s-bit-clk");
|
||||
|
||||
drvdata->mi2s_bit_clk[dai_id] = devm_clk_get(&pdev->dev,
|
||||
clk_name);
|
||||
variant->dai_bit_clk_names[i]);
|
||||
if (IS_ERR(drvdata->mi2s_bit_clk[dai_id])) {
|
||||
dev_err(&pdev->dev,
|
||||
"error getting mi2s-bit-clk: %ld\n",
|
||||
"error getting %s: %ld\n",
|
||||
variant->dai_bit_clk_names[i],
|
||||
PTR_ERR(drvdata->mi2s_bit_clk[dai_id]));
|
||||
return PTR_ERR(drvdata->mi2s_bit_clk[dai_id]);
|
||||
}
|
||||
|
Reference in New Issue
Block a user