]> git.baikalelectronics.ru Git - kernel.git/commitdiff
ASoC: rt5682: Register wclk with its parent_hws instead of parent_data
authorDerek Fang <derek.fang@realtek.com>
Mon, 27 Dec 2021 05:54:46 +0000 (13:54 +0800)
committerMark Brown <broonie@kernel.org>
Wed, 29 Dec 2021 12:45:49 +0000 (12:45 +0000)
The mclk might not be registered as a fixed clk name "mclk" on some
platforms.
In those platforms, if the mclk needed to be controlled by codec driver
and acquired by a fixed name, it would be a problem.

This patch to fix the issue that wclk becomes an orphan due to the fixed
mclk's name.

Signed-off-by: Derek Fang <derek.fang@realtek.com>
Link: https://lore.kernel.org/r/20211227055446.27563-1-derek.fang@realtek.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/codecs/rt5682.c

index 5224123d0d3bb900612fc89c99e6a5882424ab91..4709c0628804ae17a88e26fd44d4e01cd699ef40 100644 (file)
@@ -2858,7 +2858,6 @@ int rt5682_register_dai_clks(struct rt5682_priv *rt5682)
 
        for (i = 0; i < RT5682_DAI_NUM_CLKS; ++i) {
                struct clk_init_data init = { };
-               struct clk_parent_data parent_data;
                const struct clk_hw *parent;
 
                dai_clk_hw = &rt5682->dai_clks_hw[i];
@@ -2867,10 +2866,8 @@ int rt5682_register_dai_clks(struct rt5682_priv *rt5682)
                case RT5682_DAI_WCLK_IDX:
                        /* Make MCLK the parent of WCLK */
                        if (rt5682->mclk) {
-                               parent_data = (struct clk_parent_data){
-                                       .fw_name = "mclk",
-                               };
-                               init.parent_data = &parent_data;
+                               parent = __clk_get_hw(rt5682->mclk);
+                               init.parent_hws = &parent;
                                init.num_parents = 1;
                        }
                        break;