clk: bcm: rpi: Make sure pllb_arm is removed
authorMaxime Ripard <maxime@cerno.tech>
Fri, 7 Feb 2020 14:42:40 +0000 (15:42 +0100)
committerpopcornmix <popcornmix@gmail.com>
Wed, 1 Jul 2020 15:33:33 +0000 (16:33 +0100)
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: linux-clk@vger.kernel.org
Acked-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
Reviewed-by: Stephen Boyd <sboyd@kernel.org>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
drivers/clk/bcm/clk-raspberrypi.c

index 61a942f..783c8c5 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;
        }