clk: axi-clkgen: Migrate to clk_hw based OF and registration APIs
authorStephen Boyd <stephen.boyd@linaro.org>
Wed, 1 Jun 2016 23:15:08 +0000 (16:15 -0700)
committerStephen Boyd <sboyd@codeaurora.org>
Wed, 24 Aug 2016 23:10:31 +0000 (16:10 -0700)
Now that we have clk_hw based provider APIs to register clks, we
can get rid of struct clk pointers while registering clks in
these drivers, allowing us to move closer to a clear split of
consumer and provider clk APIs.

Cc: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Stephen Boyd <stephen.boyd@linaro.org>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
drivers/clk/clk-axi-clkgen.c

index 3294db3b4e4e7303903b7a0b10a149b25642b148..5e918e7afaba8d82b2f823c3c07602f8fb68f0d7 100644 (file)
@@ -392,8 +392,8 @@ static int axi_clkgen_probe(struct platform_device *pdev)
        const char *parent_names[2];
        const char *clk_name;
        struct resource *mem;
-       struct clk *clk;
        unsigned int i;
+       int ret;
 
        if (!pdev->dev.of_node)
                return -ENODEV;
@@ -433,12 +433,12 @@ static int axi_clkgen_probe(struct platform_device *pdev)
        axi_clkgen_mmcm_enable(axi_clkgen, false);
 
        axi_clkgen->clk_hw.init = &init;
-       clk = devm_clk_register(&pdev->dev, &axi_clkgen->clk_hw);
-       if (IS_ERR(clk))
-               return PTR_ERR(clk);
+       ret = devm_clk_hw_register(&pdev->dev, &axi_clkgen->clk_hw);
+       if (ret)
+               return ret;
 
-       return of_clk_add_provider(pdev->dev.of_node, of_clk_src_simple_get,
-                                   clk);
+       return of_clk_add_hw_provider(pdev->dev.of_node, of_clk_hw_simple_get,
+                                     &axi_clkgen->clk_hw);
 }
 
 static int axi_clkgen_remove(struct platform_device *pdev)