clk: rpi: Only register a few firmware clocks
authorMaxime Ripard <maxime@cerno.tech>
Wed, 10 Jun 2020 14:18:17 +0000 (16:18 +0200)
committerpopcornmix <popcornmix@gmail.com>
Wed, 1 Jul 2020 15:34:11 +0000 (16:34 +0100)
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
drivers/clk/bcm/clk-raspberrypi.c

index c87e3ee..642622f 100644 (file)
@@ -268,13 +268,24 @@ static int raspberrypi_discover_clocks(struct raspberrypi_clk *rpi,
        while (clks->id) {
                struct clk_hw *hw;
 
-               hw = raspberrypi_clk_register(rpi, clks->parent, clks->id);
-               if (IS_ERR(hw))
-                       return PTR_ERR(hw);
-
-               data->hws[clks->id] = hw;
-               data->num = clks->id + 1;
-               clks++;
+               switch (clks->id) {
+               case RPI_FIRMWARE_ARM_CLK_ID:
+               case RPI_FIRMWARE_CORE_CLK_ID:
+               case RPI_FIRMWARE_M2MC_CLK_ID:
+               case RPI_FIRMWARE_V3D_CLK_ID:
+                       hw = raspberrypi_clk_register(rpi, clks->parent,
+                                                     clks->id);
+                       if (IS_ERR(hw))
+                               return PTR_ERR(hw);
+
+                       data->hws[clks->id] = hw;
+                       data->num = clks->id + 1;
+                       fallthrough;
+
+               default:
+                       clks++;
+                       break;
+               }
        }
 
        return 0;