Skip to content

Commit a1aa42f

Browse files
committed
Merge tag 'clk-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux
Pull clk fixes from Stephen Boyd: "A small set of fixes for clk drivers. One to fix a DT refcount imbalance, two to mark some Amlogic clks as critical, and one final one that fixes a clk name for the Qualcomm driver merged this cycle" * tag 'clk-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux: clk: qcom: gcc: Fix board clock node name clk: meson: axg: mark fdiv2 and fdiv3 as critical clk: meson-gxbb: set fclk_div3 as CLK_IS_CRITICAL clk: fixed-factor: fix of_node_get-put imbalance
2 parents ab6e1f3 + 1aefa98 commit a1aa42f

File tree

4 files changed

+27
-1
lines changed

4 files changed

+27
-1
lines changed

drivers/clk/clk-fixed-factor.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -210,6 +210,7 @@ static int of_fixed_factor_clk_remove(struct platform_device *pdev)
210210
{
211211
struct clk *clk = platform_get_drvdata(pdev);
212212

213+
of_clk_del_provider(pdev->dev.of_node);
213214
clk_unregister_fixed_factor(clk);
214215

215216
return 0;

drivers/clk/meson/axg.c

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -325,6 +325,7 @@ static struct clk_regmap axg_fclk_div2 = {
325325
.ops = &clk_regmap_gate_ops,
326326
.parent_names = (const char *[]){ "fclk_div2_div" },
327327
.num_parents = 1,
328+
.flags = CLK_IS_CRITICAL,
328329
},
329330
};
330331

@@ -349,6 +350,18 @@ static struct clk_regmap axg_fclk_div3 = {
349350
.ops = &clk_regmap_gate_ops,
350351
.parent_names = (const char *[]){ "fclk_div3_div" },
351352
.num_parents = 1,
353+
/*
354+
* FIXME:
355+
* This clock, as fdiv2, is used by the SCPI FW and is required
356+
* by the platform to operate correctly.
357+
* Until the following condition are met, we need this clock to
358+
* be marked as critical:
359+
* a) The SCPI generic driver claims and enable all the clocks
360+
* it needs
361+
* b) CCF has a clock hand-off mechanism to make the sure the
362+
* clock stays on until the proper driver comes along
363+
*/
364+
.flags = CLK_IS_CRITICAL,
352365
},
353366
};
354367

drivers/clk/meson/gxbb.c

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -506,6 +506,18 @@ static struct clk_regmap gxbb_fclk_div3 = {
506506
.ops = &clk_regmap_gate_ops,
507507
.parent_names = (const char *[]){ "fclk_div3_div" },
508508
.num_parents = 1,
509+
/*
510+
* FIXME:
511+
* This clock, as fdiv2, is used by the SCPI FW and is required
512+
* by the platform to operate correctly.
513+
* Until the following condition are met, we need this clock to
514+
* be marked as critical:
515+
* a) The SCPI generic driver claims and enable all the clocks
516+
* it needs
517+
* b) CCF has a clock hand-off mechanism to make the sure the
518+
* clock stays on until the proper driver comes along
519+
*/
520+
.flags = CLK_IS_CRITICAL,
509521
},
510522
};
511523

drivers/clk/qcom/gcc-qcs404.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -265,7 +265,7 @@ static struct clk_fixed_factor cxo = {
265265
.div = 1,
266266
.hw.init = &(struct clk_init_data){
267267
.name = "cxo",
268-
.parent_names = (const char *[]){ "xo_board" },
268+
.parent_names = (const char *[]){ "xo-board" },
269269
.num_parents = 1,
270270
.ops = &clk_fixed_factor_ops,
271271
},

0 commit comments

Comments
 (0)