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
210{210{
211 struct clk *clk = platform_get_drvdata(pdev);211 struct clk *clk = platform_get_drvdata(pdev);
212 212
213 of_clk_del_provider(pdev->dev.of_node);
213 clk_unregister_fixed_factor(clk);214 clk_unregister_fixed_factor(clk);
214 215
215 return 0;216 return 0;
drivers/clk/meson/axg.c+13−0
@@ -325,6 +325,7 @@ static struct clk_regmap axg_fclk_div2 = { · 324 unmodified lines
325 .ops = &clk_regmap_gate_ops,325 .ops = &clk_regmap_gate_ops,
326 .parent_names = (const char *[]){ "fclk_div2_div" },326 .parent_names = (const char *[]){ "fclk_div2_div" },
327 .num_parents = 1,327 .num_parents = 1,
328 .flags = CLK_IS_CRITICAL,
328 },329 },
329};330};
330 331
@@ -349,6 +350,18 @@ static struct clk_regmap axg_fclk_div3 = { · 18 unmodified lines
349 .ops = &clk_regmap_gate_ops,350 .ops = &clk_regmap_gate_ops,
350 .parent_names = (const char *[]){ "fclk_div3_div" },351 .parent_names = (const char *[]){ "fclk_div3_div" },
351 .num_parents = 1,352 .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,
352 },365 },
353};366};
354 367
drivers/clk/meson/gxbb.c+12−0
@@ -506,6 +506,18 @@ static struct clk_regmap gxbb_fclk_div3 = { · 505 unmodified lines
506 .ops = &clk_regmap_gate_ops,506 .ops = &clk_regmap_gate_ops,
507 .parent_names = (const char *[]){ "fclk_div3_div" },507 .parent_names = (const char *[]){ "fclk_div3_div" },
508 .num_parents = 1,508 .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,
509 },521 },
510};522};
511 523
drivers/clk/qcom/gcc-qcs404.c+1−1
@@ -265,7 +265,7 @@ static struct clk_fixed_factor cxo = { · 264 unmodified lines
265 .div = 1,265 .div = 1,
266 .hw.init = &(struct clk_init_data){266 .hw.init = &(struct clk_init_data){
267 .name = "cxo",267 .name = "cxo",
268 .parent_names = (const char *[]){ "xo_board" },268 .parent_names = (const char *[]){ "xo-board" },
269 .num_parents = 1,269 .num_parents = 1,
270 .ops = &clk_fixed_factor_ops,270 .ops = &clk_fixed_factor_ops,
271 },271 },