clk: mediatek: mt2701-aud: fix conversion to mtk_clk_simple_probe
authorDaniel Golle <daniel@makrotopia.org>
Sun, 15 Dec 2024 22:14:11 +0000 (22:14 +0000)
committerStephen Boyd <sboyd@kernel.org>
Tue, 17 Dec 2024 20:15:36 +0000 (12:15 -0800)
Some of the audio subsystem clocks defined in clk-mt2701.h aren't
actually used by the driver. This broke conversion to
mtk_clk_simple_probe which expects that the highest possible clk id is
defined by the ARRAY_SIZE.

Add additional dummy clocks to fill the gaps and remain compatible with
the existing DT bindings.

Fixes: 0f69a423c458 ("clk: mediatek: Switch to mtk_clk_simple_probe() where possible")
Cc: stable@vger.kernel.org
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Link: https://lore.kernel.org/r/a07584d803af57b9ce4b5df5e122c09bf5a56ac9.1734300668.git.daniel@makrotopia.org
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
drivers/clk/mediatek/clk-mt2701-aud.c

index 425c69cfb105a633124769778d0479611e47597f..e103121cf58e77a72f42a42e7637b409090c399a 100644 (file)
@@ -55,10 +55,16 @@ static const struct mtk_gate audio_clks[] = {
        GATE_DUMMY(CLK_DUMMY, "aud_dummy"),
        /* AUDIO0 */
        GATE_AUDIO0(CLK_AUD_AFE, "audio_afe", "aud_intbus_sel", 2),
+       GATE_DUMMY(CLK_AUD_LRCK_DETECT, "audio_lrck_detect_dummy"),
+       GATE_DUMMY(CLK_AUD_I2S, "audio_i2c_dummy"),
+       GATE_DUMMY(CLK_AUD_APLL_TUNER, "audio_apll_tuner_dummy"),
        GATE_AUDIO0(CLK_AUD_HDMI, "audio_hdmi", "audpll_sel", 20),
        GATE_AUDIO0(CLK_AUD_SPDF, "audio_spdf", "audpll_sel", 21),
        GATE_AUDIO0(CLK_AUD_SPDF2, "audio_spdf2", "audpll_sel", 22),
        GATE_AUDIO0(CLK_AUD_APLL, "audio_apll", "audpll_sel", 23),
+       GATE_DUMMY(CLK_AUD_TML, "audio_tml_dummy"),
+       GATE_DUMMY(CLK_AUD_AHB_IDLE_EXT, "audio_ahb_idle_ext_dummy"),
+       GATE_DUMMY(CLK_AUD_AHB_IDLE_INT, "audio_ahb_idle_int_dummy"),
        /* AUDIO1 */
        GATE_AUDIO1(CLK_AUD_I2SIN1, "audio_i2sin1", "aud_mux1_sel", 0),
        GATE_AUDIO1(CLK_AUD_I2SIN2, "audio_i2sin2", "aud_mux1_sel", 1),
@@ -76,10 +82,12 @@ static const struct mtk_gate audio_clks[] = {
        GATE_AUDIO1(CLK_AUD_ASRCI2, "audio_asrci2", "asm_h_sel", 13),
        GATE_AUDIO1(CLK_AUD_ASRCO1, "audio_asrco1", "asm_h_sel", 14),
        GATE_AUDIO1(CLK_AUD_ASRCO2, "audio_asrco2", "asm_h_sel", 15),
+       GATE_DUMMY(CLK_AUD_HDMIRX, "audio_hdmirx_dummy"),
        GATE_AUDIO1(CLK_AUD_INTDIR, "audio_intdir", "intdir_sel", 20),
        GATE_AUDIO1(CLK_AUD_A1SYS, "audio_a1sys", "aud_mux1_sel", 21),
        GATE_AUDIO1(CLK_AUD_A2SYS, "audio_a2sys", "aud_mux2_sel", 22),
        GATE_AUDIO1(CLK_AUD_AFE_CONN, "audio_afe_conn", "aud_mux1_sel", 23),
+       GATE_DUMMY(CLK_AUD_AFE_PCMIF, "audio_afe_pcmif_dummy"),
        GATE_AUDIO1(CLK_AUD_AFE_MRGIF, "audio_afe_mrgif", "aud_mux1_sel", 25),
        /* AUDIO2 */
        GATE_AUDIO2(CLK_AUD_MMIF_UL1, "audio_ul1", "aud_mux1_sel", 0),
@@ -100,6 +108,8 @@ static const struct mtk_gate audio_clks[] = {
        GATE_AUDIO2(CLK_AUD_MMIF_AWB2, "audio_awb2", "aud_mux1_sel", 15),
        GATE_AUDIO2(CLK_AUD_MMIF_DAI, "audio_dai", "aud_mux1_sel", 16),
        /* AUDIO3 */
+       GATE_DUMMY(CLK_AUD_DMIC1, "audio_dmic1_dummy"),
+       GATE_DUMMY(CLK_AUD_DMIC2, "audio_dmic2_dummy"),
        GATE_AUDIO3(CLK_AUD_ASRCI3, "audio_asrci3", "asm_h_sel", 2),
        GATE_AUDIO3(CLK_AUD_ASRCI4, "audio_asrci4", "asm_h_sel", 3),
        GATE_AUDIO3(CLK_AUD_ASRCI5, "audio_asrci5", "asm_h_sel", 4),