bcm27xx: import latest patches from the RPi foundation
[openwrt/staging/ynezz.git] / target / linux / bcm27xx / patches-5.4 / 950-0782-clk-rpi-Only-register-a-few-firmware-clocks.patch
1 From 73a8443ea82fef7a1f8a466fff83da7863baed49 Mon Sep 17 00:00:00 2001
2 From: Maxime Ripard <maxime@cerno.tech>
3 Date: Wed, 10 Jun 2020 16:18:17 +0200
4 Subject: [PATCH] clk: rpi: Only register a few firmware clocks
5
6 Signed-off-by: Maxime Ripard <maxime@cerno.tech>
7 ---
8 drivers/clk/bcm/clk-raspberrypi.c | 25 ++++++++++++++++++-------
9 1 file changed, 18 insertions(+), 7 deletions(-)
10
11 --- a/drivers/clk/bcm/clk-raspberrypi.c
12 +++ b/drivers/clk/bcm/clk-raspberrypi.c
13 @@ -268,13 +268,24 @@ static int raspberrypi_discover_clocks(s
14 while (clks->id) {
15 struct clk_hw *hw;
16
17 - hw = raspberrypi_clk_register(rpi, clks->parent, clks->id);
18 - if (IS_ERR(hw))
19 - return PTR_ERR(hw);
20 + switch (clks->id) {
21 + case RPI_FIRMWARE_ARM_CLK_ID:
22 + case RPI_FIRMWARE_CORE_CLK_ID:
23 + case RPI_FIRMWARE_M2MC_CLK_ID:
24 + case RPI_FIRMWARE_V3D_CLK_ID:
25 + hw = raspberrypi_clk_register(rpi, clks->parent,
26 + clks->id);
27 + if (IS_ERR(hw))
28 + return PTR_ERR(hw);
29
30 - data->hws[clks->id] = hw;
31 - data->num = clks->id + 1;
32 - clks++;
33 + data->hws[clks->id] = hw;
34 + data->num = clks->id + 1;
35 + fallthrough;
36 +
37 + default:
38 + clks++;
39 + break;
40 + }
41 }
42
43 return 0;