clk: bcm: rpi: Make sure the clkdev lookup is removed
authorMaxime Ripard <maxime@cerno.tech>
Mon, 15 Jun 2020 08:40:51 +0000 (10:40 +0200)
committerStephen Boyd <sboyd@kernel.org>
Sat, 20 Jun 2020 00:21:16 +0000 (17:21 -0700)
The clkdev lookup created for the cpufreq device is never removed if
there's an issue later in probe or at module removal time.

Let's convert to the managed variant of the clk_hw_register_clkdev function
to make sure it happens.

Cc: Michael Turquette <mturquette@baylibre.com>
Cc: linux-clk@vger.kernel.org
Acked-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
Reviewed-by: Stephen Boyd <sboyd@kernel.org>
Tested-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
Link: https://lore.kernel.org/r/075e2c6d315eccdaf8fb72b320712b86e6c25b22.1592210452.git-series.maxime@cerno.tech
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
drivers/clk/bcm/clk-raspberrypi.c

index 23f0661..a20492f 100644 (file)
@@ -245,8 +245,9 @@ static int raspberrypi_register_pllb_arm(struct raspberrypi_clk *rpi)
                return ret;
        }
 
-       ret = clk_hw_register_clkdev(&raspberrypi_clk_pllb_arm.hw,
-                                    NULL, "cpu0");
+       ret = devm_clk_hw_register_clkdev(rpi->dev,
+                                         &raspberrypi_clk_pllb_arm.hw,
+                                         NULL, "cpu0");
        if (ret) {
                dev_err(rpi->dev, "Failed to initialize clkdev\n");
                return ret;