Skip to content

Commit 62120d8

Browse files
Varada Pavanikrzk
authored andcommitted
clk: samsung: Use samsung CCF common function
Use samsung CCF function which registers multiple clock providers using single function call samsung_cmu_register_clocks(). Signed-off-by: Varada Pavani <v.pavani@samsung.com> Link: https://lore.kernel.org/r/20250307092403.19742-1-v.pavani@samsung.com Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
1 parent 0af2f6b commit 62120d8

File tree

1 file changed

+42
-32
lines changed

1 file changed

+42
-32
lines changed

drivers/clk/samsung/clk-exynos4.c

Lines changed: 42 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1269,6 +1269,45 @@ static const struct samsung_cpu_clock exynos4412_cpu_clks[] __initconst = {
12691269
CPUCLK_LAYOUT_E4210, e4412_armclk_d),
12701270
};
12711271

1272+
static const struct samsung_cmu_info cmu_info_exynos4 __initconst = {
1273+
.mux_clks = exynos4_mux_clks,
1274+
.nr_mux_clks = ARRAY_SIZE(exynos4_mux_clks),
1275+
.div_clks = exynos4_div_clks,
1276+
.nr_div_clks = ARRAY_SIZE(exynos4_div_clks),
1277+
.gate_clks = exynos4_gate_clks,
1278+
.nr_gate_clks = ARRAY_SIZE(exynos4_gate_clks),
1279+
.fixed_factor_clks = exynos4_fixed_factor_clks,
1280+
.nr_fixed_factor_clks = ARRAY_SIZE(exynos4_fixed_factor_clks),
1281+
.fixed_clks = exynos4_fixed_rate_clks,
1282+
.nr_fixed_clks = ARRAY_SIZE(exynos4_fixed_rate_clks),
1283+
};
1284+
1285+
static const struct samsung_cmu_info cmu_info_exynos4210 __initconst = {
1286+
.mux_clks = exynos4210_mux_clks,
1287+
.nr_mux_clks = ARRAY_SIZE(exynos4210_mux_clks),
1288+
.div_clks = exynos4210_div_clks,
1289+
.nr_div_clks = ARRAY_SIZE(exynos4210_div_clks),
1290+
.gate_clks = exynos4210_gate_clks,
1291+
.nr_gate_clks = ARRAY_SIZE(exynos4210_gate_clks),
1292+
.fixed_factor_clks = exynos4210_fixed_factor_clks,
1293+
.nr_fixed_factor_clks = ARRAY_SIZE(exynos4210_fixed_factor_clks),
1294+
.fixed_clks = exynos4210_fixed_rate_clks,
1295+
.nr_fixed_clks = ARRAY_SIZE(exynos4210_fixed_rate_clks),
1296+
.cpu_clks = exynos4210_cpu_clks,
1297+
.nr_cpu_clks = ARRAY_SIZE(exynos4210_cpu_clks),
1298+
};
1299+
1300+
static const struct samsung_cmu_info cmu_info_exynos4x12 __initconst = {
1301+
.mux_clks = exynos4x12_mux_clks,
1302+
.nr_mux_clks = ARRAY_SIZE(exynos4x12_mux_clks),
1303+
.div_clks = exynos4x12_div_clks,
1304+
.nr_div_clks = ARRAY_SIZE(exynos4x12_div_clks),
1305+
.gate_clks = exynos4x12_gate_clks,
1306+
.nr_gate_clks = ARRAY_SIZE(exynos4x12_gate_clks),
1307+
.fixed_factor_clks = exynos4x12_fixed_factor_clks,
1308+
.nr_fixed_factor_clks = ARRAY_SIZE(exynos4x12_fixed_factor_clks),
1309+
};
1310+
12721311
/* register exynos4 clocks */
12731312
static void __init exynos4_clk_init(struct device_node *np,
12741313
enum exynos4_soc soc)
@@ -1322,41 +1361,12 @@ static void __init exynos4_clk_init(struct device_node *np,
13221361
ARRAY_SIZE(exynos4x12_plls));
13231362
}
13241363

1325-
samsung_clk_register_fixed_rate(ctx, exynos4_fixed_rate_clks,
1326-
ARRAY_SIZE(exynos4_fixed_rate_clks));
1327-
samsung_clk_register_mux(ctx, exynos4_mux_clks,
1328-
ARRAY_SIZE(exynos4_mux_clks));
1329-
samsung_clk_register_div(ctx, exynos4_div_clks,
1330-
ARRAY_SIZE(exynos4_div_clks));
1331-
samsung_clk_register_gate(ctx, exynos4_gate_clks,
1332-
ARRAY_SIZE(exynos4_gate_clks));
1333-
samsung_clk_register_fixed_factor(ctx, exynos4_fixed_factor_clks,
1334-
ARRAY_SIZE(exynos4_fixed_factor_clks));
1364+
samsung_cmu_register_clocks(ctx, &cmu_info_exynos4);
13351365

13361366
if (exynos4_soc == EXYNOS4210) {
1337-
samsung_clk_register_fixed_rate(ctx, exynos4210_fixed_rate_clks,
1338-
ARRAY_SIZE(exynos4210_fixed_rate_clks));
1339-
samsung_clk_register_mux(ctx, exynos4210_mux_clks,
1340-
ARRAY_SIZE(exynos4210_mux_clks));
1341-
samsung_clk_register_div(ctx, exynos4210_div_clks,
1342-
ARRAY_SIZE(exynos4210_div_clks));
1343-
samsung_clk_register_gate(ctx, exynos4210_gate_clks,
1344-
ARRAY_SIZE(exynos4210_gate_clks));
1345-
samsung_clk_register_fixed_factor(ctx,
1346-
exynos4210_fixed_factor_clks,
1347-
ARRAY_SIZE(exynos4210_fixed_factor_clks));
1348-
samsung_clk_register_cpu(ctx, exynos4210_cpu_clks,
1349-
ARRAY_SIZE(exynos4210_cpu_clks));
1367+
samsung_cmu_register_clocks(ctx, &cmu_info_exynos4210);
13501368
} else {
1351-
samsung_clk_register_mux(ctx, exynos4x12_mux_clks,
1352-
ARRAY_SIZE(exynos4x12_mux_clks));
1353-
samsung_clk_register_div(ctx, exynos4x12_div_clks,
1354-
ARRAY_SIZE(exynos4x12_div_clks));
1355-
samsung_clk_register_gate(ctx, exynos4x12_gate_clks,
1356-
ARRAY_SIZE(exynos4x12_gate_clks));
1357-
samsung_clk_register_fixed_factor(ctx,
1358-
exynos4x12_fixed_factor_clks,
1359-
ARRAY_SIZE(exynos4x12_fixed_factor_clks));
1369+
samsung_cmu_register_clocks(ctx, &cmu_info_exynos4x12);
13601370
if (soc == EXYNOS4412)
13611371
samsung_clk_register_cpu(ctx, exynos4412_cpu_clks,
13621372
ARRAY_SIZE(exynos4412_cpu_clks));

0 commit comments

Comments
 (0)