The topckgen and gate clock U_BOOT_DRIVER entries only differ by their of_match table: they share the same probe, ops, private data and flags. Merge them into a single mt8189-clk driver, the way clk-mt8366.c already does, so that a new clock block only needs a new of_match entry.
The MTK_GATE_CLK_TREE() declarations are moved above the of_match tables, as the merged table now references them. The gate entries, which used to be written on a single line, are also split over two lines, for consistency with the topckgen entry and to keep the lines short. No functional change. Signed-off-by: Julien Stephan <[email protected]> --- drivers/clk/mediatek/clk-mt8189.c | 73 +++++++++++++++++++++------------------ 1 file changed, 40 insertions(+), 33 deletions(-) diff --git a/drivers/clk/mediatek/clk-mt8189.c b/drivers/clk/mediatek/clk-mt8189.c index 8df09f4a129..a5cb387772a 100644 --- a/drivers/clk/mediatek/clk-mt8189.c +++ b/drivers/clk/mediatek/clk-mt8189.c @@ -1970,6 +1970,14 @@ static const struct mtk_clk_tree mt8189_vlpckgen_clk_tree = { .type = MTK_CLK_TREE_VLP_CK, }; +MTK_GATE_CLK_TREE(perao_clks_tree, perao_clks, ext_clock_rates); +MTK_GATE_CLK_TREE(imp_clks_tree, imp_clks, ext_clock_rates); +MTK_GATE_CLK_TREE(mm_clks_tree, mm_clks, ext_clock_rates); +MTK_GATE_CLK_TREE(mminfra_config_clks_tree, mminfra_config_clks, ext_clock_rates); +MTK_GATE_CLK_TREE(ufs_config_ao_clks_tree, ufs_config_ao_clks, ext_clock_rates); +MTK_GATE_CLK_TREE(ufs_config_pdn_clks_tree, ufs_config_pdn_clks, ext_clock_rates); +MTK_GATE_CLK_TREE(vlpcfg_ao_clks_tree, vlpcfg_ao_clks, ext_clock_rates); + static const struct udevice_id mt8189_apmixed[] = { { .compatible = "mediatek,mt8189-apmixedsys", @@ -1978,11 +1986,39 @@ static const struct udevice_id mt8189_apmixed[] = { { } }; -static const struct udevice_id mt8189_topckgen_compat[] = { +static const struct udevice_id mt8189_clk_compat[] = { { .compatible = "mediatek,mt8189-topckgen", .data = (ulong)&mt8189_topckgen_clk_tree, }, + { + .compatible = "mediatek,mt8189-peri-ao", + .data = (ulong)&perao_clks_tree, + }, + { + .compatible = "mediatek,mt8189-iic-wrap", + .data = (ulong)&imp_clks_tree, + }, + { + .compatible = "mediatek,mt8189-dispsys", + .data = (ulong)&mm_clks_tree, + }, + { + .compatible = "mediatek,mt8189-mm-infra", + .data = (ulong)&mminfra_config_clks_tree, + }, + { + .compatible = "mediatek,mt8189-ufscfg-ao", + .data = (ulong)&ufs_config_ao_clks_tree, + }, + { + .compatible = "mediatek,mt8189-ufscfg-pdn", + .data = (ulong)&ufs_config_pdn_clks_tree, + }, + { + .compatible = "mediatek,mt8189-vlpcfg-ao", + .data = (ulong)&vlpcfg_ao_clks_tree, + }, { } }; @@ -1994,25 +2030,6 @@ static const struct udevice_id mt8189_vlpckgen[] = { { } }; -MTK_GATE_CLK_TREE(perao_clks_tree, perao_clks, ext_clock_rates); -MTK_GATE_CLK_TREE(imp_clks_tree, imp_clks, ext_clock_rates); -MTK_GATE_CLK_TREE(mm_clks_tree, mm_clks, ext_clock_rates); -MTK_GATE_CLK_TREE(mminfra_config_clks_tree, mminfra_config_clks, ext_clock_rates); -MTK_GATE_CLK_TREE(ufs_config_ao_clks_tree, ufs_config_ao_clks, ext_clock_rates); -MTK_GATE_CLK_TREE(ufs_config_pdn_clks_tree, ufs_config_pdn_clks, ext_clock_rates); -MTK_GATE_CLK_TREE(vlpcfg_ao_clks_tree, vlpcfg_ao_clks, ext_clock_rates); - -static const struct udevice_id of_match_mt8189_clk_gate[] = { - { .compatible = "mediatek,mt8189-peri-ao", .data = (ulong)&perao_clks_tree }, - { .compatible = "mediatek,mt8189-iic-wrap", .data = (ulong)&imp_clks_tree }, - { .compatible = "mediatek,mt8189-dispsys", .data = (ulong)&mm_clks_tree }, - { .compatible = "mediatek,mt8189-mm-infra", .data = (ulong)&mminfra_config_clks_tree }, - { .compatible = "mediatek,mt8189-ufscfg-ao", .data = (ulong)&ufs_config_ao_clks_tree }, - { .compatible = "mediatek,mt8189-ufscfg-pdn", .data = (ulong)&ufs_config_pdn_clks_tree }, - { .compatible = "mediatek,mt8189-vlpcfg-ao", .data = (ulong)&vlpcfg_ao_clks_tree }, - { } -}; - U_BOOT_DRIVER(mt8189_clk_apmixedsys) = { .name = "mt8189-apmixedsys", .id = UCLASS_CLK, @@ -2023,10 +2040,10 @@ U_BOOT_DRIVER(mt8189_clk_apmixedsys) = { .flags = DM_FLAG_PRE_RELOC, }; -U_BOOT_DRIVER(mt8189_clk_topckgen) = { - .name = "mt8189-topckgen", +U_BOOT_DRIVER(mt8189_clk) = { + .name = "mt8189-clk", .id = UCLASS_CLK, - .of_match = mt8189_topckgen_compat, + .of_match = mt8189_clk_compat, .probe = mtk_clk_probe, .priv_auto = sizeof(struct mtk_clk_priv), .ops = &mtk_clk_topckgen_ops, @@ -2042,13 +2059,3 @@ U_BOOT_DRIVER(mt8189_clk_vlpckgen) = { .ops = &mtk_clk_infrasys_ops, .flags = DM_FLAG_PRE_RELOC, }; - -U_BOOT_DRIVER(mt8189_clk_gate) = { - .name = "mt8189-gate-clk", - .id = UCLASS_CLK, - .of_match = of_match_mt8189_clk_gate, - .probe = mtk_clk_probe, - .priv_auto = sizeof(struct mtk_clk_priv), - .ops = &mtk_clk_topckgen_ops, - .flags = DM_FLAG_PRE_RELOC, -}; -- 2.55.0
