diff options
author | Stephen Boyd <stephen.boyd@linaro.org> | 2016-06-01 19:15:30 -0400 |
---|---|---|
committer | Stephen Boyd <sboyd@codeaurora.org> | 2016-08-24 20:34:11 -0400 |
commit | f5b3715ecf851da45f27e28120b9c5c9ddeccb5f (patch) | |
tree | 9e7c3064921f7a673f3e75f436a643647af92023 /drivers/clk | |
parent | a340dae9de5df79d1d09ab7eae6cb8bbeb77b996 (diff) |
clk: twl6040: Migrate to clk_hw based registration APIs
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: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Stephen Boyd <stephen.boyd@linaro.org>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Diffstat (limited to 'drivers/clk')
-rw-r--r-- | drivers/clk/clk-twl6040.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/drivers/clk/clk-twl6040.c b/drivers/clk/clk-twl6040.c index c98b1ec76f54..7b222a5db931 100644 --- a/drivers/clk/clk-twl6040.c +++ b/drivers/clk/clk-twl6040.c | |||
@@ -30,7 +30,6 @@ struct twl6040_pdmclk { | |||
30 | struct twl6040 *twl6040; | 30 | struct twl6040 *twl6040; |
31 | struct device *dev; | 31 | struct device *dev; |
32 | struct clk_hw pdmclk_hw; | 32 | struct clk_hw pdmclk_hw; |
33 | struct clk *clk; | ||
34 | int enabled; | 33 | int enabled; |
35 | }; | 34 | }; |
36 | 35 | ||
@@ -93,6 +92,7 @@ static int twl6040_pdmclk_probe(struct platform_device *pdev) | |||
93 | { | 92 | { |
94 | struct twl6040 *twl6040 = dev_get_drvdata(pdev->dev.parent); | 93 | struct twl6040 *twl6040 = dev_get_drvdata(pdev->dev.parent); |
95 | struct twl6040_pdmclk *clkdata; | 94 | struct twl6040_pdmclk *clkdata; |
95 | int ret; | ||
96 | 96 | ||
97 | clkdata = devm_kzalloc(&pdev->dev, sizeof(*clkdata), GFP_KERNEL); | 97 | clkdata = devm_kzalloc(&pdev->dev, sizeof(*clkdata), GFP_KERNEL); |
98 | if (!clkdata) | 98 | if (!clkdata) |
@@ -102,14 +102,15 @@ static int twl6040_pdmclk_probe(struct platform_device *pdev) | |||
102 | clkdata->twl6040 = twl6040; | 102 | clkdata->twl6040 = twl6040; |
103 | 103 | ||
104 | clkdata->pdmclk_hw.init = &twl6040_pdmclk_init; | 104 | clkdata->pdmclk_hw.init = &twl6040_pdmclk_init; |
105 | clkdata->clk = devm_clk_register(&pdev->dev, &clkdata->pdmclk_hw); | 105 | ret = devm_clk_hw_register(&pdev->dev, &clkdata->pdmclk_hw); |
106 | if (IS_ERR(clkdata->clk)) | 106 | if (ret) |
107 | return PTR_ERR(clkdata->clk); | 107 | return ret; |
108 | 108 | ||
109 | platform_set_drvdata(pdev, clkdata); | 109 | platform_set_drvdata(pdev, clkdata); |
110 | 110 | ||
111 | return of_clk_add_provider(pdev->dev.parent->of_node, | 111 | return of_clk_add_hw_provider(pdev->dev.parent->of_node, |
112 | of_clk_src_simple_get, clkdata->clk); | 112 | of_clk_hw_simple_get, |
113 | &clkdata->pdmclk_hw); | ||
113 | } | 114 | } |
114 | 115 | ||
115 | static struct platform_driver twl6040_pdmclk_driver = { | 116 | static struct platform_driver twl6040_pdmclk_driver = { |