Merge branch 'clk-meson-gxbb' into clk-next
[cascardo/linux.git] / drivers / clk / clk-mb86s7x.c
index e081775..2a83a3f 100644 (file)
@@ -327,10 +327,11 @@ static struct clk_ops clk_clc_ops = {
        .set_rate = clc_set_rate,
 };
 
-struct clk *mb86s7x_clclk_register(struct device *cpu_dev)
+static struct clk_hw *mb86s7x_clclk_register(struct device *cpu_dev)
 {
        struct clk_init_data init;
        struct cl_clk *clc;
+       int ret;
 
        clc = kzalloc(sizeof(*clc), GFP_KERNEL);
        if (!clc)
@@ -344,14 +345,17 @@ struct clk *mb86s7x_clclk_register(struct device *cpu_dev)
        init.flags = CLK_GET_RATE_NOCACHE;
        init.num_parents = 0;
 
-       return devm_clk_register(cpu_dev, &clc->hw);
+       ret = devm_clk_hw_register(cpu_dev, &clc->hw);
+       if (ret)
+               return ERR_PTR(ret);
+       return &clc->hw;
 }
 
 static int mb86s7x_clclk_of_init(void)
 {
        int cpu, ret = -ENODEV;
        struct device_node *np;
-       struct clk *clk;
+       struct clk_hw *hw;
 
        np = of_find_compatible_node(NULL, NULL, "fujitsu,mb86s70-scb-1.0");
        if (!np || !of_device_is_available(np))
@@ -365,12 +369,12 @@ static int mb86s7x_clclk_of_init(void)
                        continue;
                }
 
-               clk = mb86s7x_clclk_register(cpu_dev);
-               if (IS_ERR(clk)) {
+               hw = mb86s7x_clclk_register(cpu_dev);
+               if (IS_ERR(hw)) {
                        pr_err("failed to register cpu%d clock\n", cpu);
                        continue;
                }
-               if (clk_register_clkdev(clk, NULL, dev_name(cpu_dev))) {
+               if (clk_hw_register_clkdev(hw, NULL, dev_name(cpu_dev))) {
                        pr_err("failed to register cpu%d clock lookup\n", cpu);
                        continue;
                }