]> xenbits.xensource.com Git - people/jgross/linux.git/commitdiff
clk: cdce706: Use managed `of_clk_add_hw_provider()`
authorLars-Peter Clausen <lars@metafoo.de>
Mon, 10 Apr 2023 01:44:55 +0000 (18:44 -0700)
committerStephen Boyd <sboyd@kernel.org>
Mon, 10 Apr 2023 19:45:12 +0000 (12:45 -0700)
Use the managed `devm_of_clk_add_hw_provider()` instead of
`of_clk_add_hw_provider()`.

This makes sure the provider gets automatically removed on unbind and
allows to completely eliminate the drivers `remove()` callback.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Link: https://lore.kernel.org/r/20230410014502.27929-4-lars@metafoo.de
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
drivers/clk/clk-cdce706.c

index 1449d0537674eba490687ceb497b9d81c7bf28e0..d8bee8180a6b37946f47aea6fdae986779b8a62c 100644 (file)
@@ -661,16 +661,10 @@ static int cdce706_probe(struct i2c_client *client)
        ret = cdce706_register_clkouts(cdce);
        if (ret < 0)
                return ret;
-       return of_clk_add_hw_provider(client->dev.of_node, of_clk_cdce_get,
-                                     cdce);
+       return devm_of_clk_add_hw_provider(&client->dev, of_clk_cdce_get,
+                                          cdce);
 }
 
-static void cdce706_remove(struct i2c_client *client)
-{
-       of_clk_del_provider(client->dev.of_node);
-}
-
-
 #ifdef CONFIG_OF
 static const struct of_device_id cdce706_dt_match[] = {
        { .compatible = "ti,cdce706" },
@@ -691,7 +685,6 @@ static struct i2c_driver cdce706_i2c_driver = {
                .of_match_table = of_match_ptr(cdce706_dt_match),
        },
        .probe_new      = cdce706_probe,
-       .remove         = cdce706_remove,
        .id_table       = cdce706_id,
 };
 module_i2c_driver(cdce706_i2c_driver);