History

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

Linus Torvalds committed 8 years ago

Commit a1aa42f2 parents ab6e1f3 1aefa984 files · +27 −1Browse files

Unified · Split

4 files
  1. drivers/clk/clk-fixed-factor.c +1 −0
  2. drivers/clk/meson/axg.c +13 −0
  3. drivers/clk/meson/gxbb.c +12 −0
  4. drivers/clk/qcom/gcc-qcs404.c +1 −1
drivers/clk/clk-fixed-factor.c+1−0
@@ -210,6 +210,7 @@ static int of_fixed_factor_clk_remove(struct platform_device *pdev) · 209 unmodified lines
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+13−0
@@ -325,6 +325,7 @@ static struct clk_regmap axg_fclk_div2 = { · 324 unmodified lines
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 = { · 18 unmodified lines
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+12−0
@@ -506,6 +506,18 @@ static struct clk_regmap gxbb_fclk_div3 = { · 505 unmodified lines
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+1−1
@@ -265,7 +265,7 @@ static struct clk_fixed_factor cxo = { · 264 unmodified lines
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 },