[PATCH v2 3/3] clk: fsl-sai: use devm_clk_hw_register_composite_pdata()

From: Michael Walle
Date: Thu Nov 05 2020 - 14:28:03 EST


Simplify the driver by using that helper and drop the remove() function.

Signed-off-by: Michael Walle <michael@xxxxxxxx>
---
Changes since v1:
- new patch

drivers/clk/clk-fsl-sai.c | 26 +++++++-------------------
1 file changed, 7 insertions(+), 19 deletions(-)

diff --git a/drivers/clk/clk-fsl-sai.c b/drivers/clk/clk-fsl-sai.c
index 1e81c8d8a6fd..6238fcea0467 100644
--- a/drivers/clk/clk-fsl-sai.c
+++ b/drivers/clk/clk-fsl-sai.c
@@ -58,30 +58,19 @@ static int fsl_sai_clk_probe(struct platform_device *pdev)
/* set clock direction, we are the BCLK master */
writel(CR2_BCD, base + I2S_CR2);

- hw = clk_hw_register_composite_pdata(dev, dev->of_node->name,
- &pdata, 1, NULL, NULL,
- &sai_clk->div.hw,
- &clk_divider_ops,
- &sai_clk->gate.hw,
- &clk_gate_ops,
- CLK_SET_RATE_GATE);
+ hw = devm_clk_hw_register_composite_pdata(dev, dev->of_node->name,
+ &pdata, 1, NULL, NULL,
+ &sai_clk->div.hw,
+ &clk_divider_ops,
+ &sai_clk->gate.hw,
+ &clk_gate_ops,
+ CLK_SET_RATE_GATE);
if (IS_ERR(hw))
return PTR_ERR(hw);

- platform_set_drvdata(pdev, hw);
-
return devm_of_clk_add_hw_provider(dev, of_clk_hw_simple_get, hw);
}

-static int fsl_sai_clk_remove(struct platform_device *pdev)
-{
- struct clk_hw *hw = platform_get_drvdata(pdev);
-
- clk_hw_unregister_composite(hw);
-
- return 0;
-}
-
static const struct of_device_id of_fsl_sai_clk_ids[] = {
{ .compatible = "fsl,vf610-sai-clock" },
{ }
@@ -90,7 +79,6 @@ MODULE_DEVICE_TABLE(of, of_fsl_sai_clk_ids);

static struct platform_driver fsl_sai_clk_driver = {
.probe = fsl_sai_clk_probe,
- .remove = fsl_sai_clk_remove,
.driver = {
.name = "fsl-sai-clk",
.of_match_table = of_fsl_sai_clk_ids,
--
2.20.1