clk: bcm: rpi: Make sure pllb_arm is removed
authorMaxime Ripard <maxime@cerno.tech>
Mon, 15 Jun 2020 08:40:48 +0000 (10:40 +0200)
committerStephen Boyd <sboyd@kernel.org>
Sat, 20 Jun 2020 00:21:15 +0000 (17:21 -0700)
The pllb_arm clock was created at probe time, but was never removed if
something went wrong later in probe, or if the driver was ever removed from
the system.

Now that we are using clk_hw_register(), we can just use its managed variant
to take care of that for us.

Cc: Michael Turquette <mturquette@baylibre.com>
Cc: Stephen Boyd <sboyd@kernel.org>
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/34254ed1556614658e5dad5cca4cf4fe617df7fc.1592210452.git-series.maxime@cerno.tech
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
drivers/clk/bcm/clk-raspberrypi.c

index b21dd6ddc4fe8f3e4392d2f01152de5fe5a03560..d62605861028c93280d0442346a12ba36bd4568a 100644 (file)
@@ -240,7 +240,7 @@ static int raspberrypi_register_pllb_arm(struct raspberrypi_clk *rpi)
 {
        int ret;
 
-       ret = clk_hw_register(rpi->dev, &raspberrypi_clk_pllb_arm.hw);
+       ret = devm_clk_hw_register(rpi->dev, &raspberrypi_clk_pllb_arm.hw);
        if (ret) {
                dev_err(rpi->dev, "Failed to initialize pllb_arm\n");
                return ret;
@@ -250,7 +250,6 @@ static int raspberrypi_register_pllb_arm(struct raspberrypi_clk *rpi)
                                                NULL, "cpu0");
        if (!rpi->pllb_arm_lookup) {
                dev_err(rpi->dev, "Failed to initialize pllb_arm_lookup\n");
-               clk_hw_unregister_fixed_factor(&raspberrypi_clk_pllb_arm.hw);
                return -ENOMEM;
        }