clk: qcom: gpucc-sm8350: Fix "initializer element is not constant" error
Subsystems (3)
PATCH v2 1/1 clk: qcom: gpucc-sm8350: Fix "initializer element is not constant" error
When building with clang or GCC older than 8, errors along the following lines occur:
drivers/clk/qcom/gpucc-sm8350.c:111:2: error: initializer element is not a compile-time constant
gpu_cc_parent,
^~~~~~~~~~~~~
drivers/clk/qcom/gpucc-sm8350.c:126:2: error: initializer element is not a compile-time constant
gpu_cc_parent,
^~~~~~~~~~~~~2 errors generated.
The C standard allows an implementation to accept other forms of constant expressions, which GCC 8+ has chosen to do, but it is not required. Just inline the initializer to resolve the error.
---
v1 -> v2: https://lore.kernel.org/[email protected]/
* Just inline the initializer, rather than using a macro (Dmitry).
drivers/clk/qcom/gpucc-sm8350.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
drivers/clk/qcom/gpucc-sm8350.c +2 -2
@@ -108,7 +108,7 @@ static const struct parent_map gpu_cc_parent_map_0[] = { };static const struct clk_parent_data gpu_cc_parent_data_0[] = { - gpu_cc_parent, + { .fw_name ="bi_tcxo" }, { .hw = &gpu_cc_pll0.clkr.hw }, { .hw = &gpu_cc_pll1.clkr.hw }, { .fw_name ="gcc_gpu_gpll0_clk_src" },
@@ -123,7 +123,7 @@ static const struct parent_map gpu_cc_parent_map_1[] = { };static const struct clk_parent_data gpu_cc_parent_data_1[] = { - gpu_cc_parent, + { .fw_name ="bi_tcxo" }, { .hw = &gpu_cc_pll1.clkr.hw }, { .fw_name ="gcc_gpu_gpll0_clk_src" }, { .fw_name ="gcc_gpu_gpll0_div_clk_src" },
base-commit: 0dd8e16bfbc003b009f843e75fae4046daa08fe9
Signature · 1 line
2.37.0
Quoted 12 lines · Nathan Chancellor
When building with clang or GCC older than 8, errors along the following lines occur:
drivers/clk/qcom/gpucc-sm8350.c:111:2: error: initializer element is not a compile-time constantgpu_cc_parent, ^~~~~~~~~~~~~ drivers/clk/qcom/gpucc-sm8350.c:126:2: error: initializer element is not a compile-time constant gpu_cc_parent, ^~~~~~~~~~~~~2 errors generated.
Quoted 8 lines
The C standard allows an implementation to accept other forms of constant expressions, which GCC 8+ has chosen to do, but it is not required. Just inline the initializer to resolve the error.
Fixes 160758b05ab1 ("clk: qcom: add support for SM8350 GPUCC")Reported-by kernel test robot <[email protected]>Signed-off-by Nathan Chancellor <[email protected]>
Quoted 36 lines
---
v1 -> v2: https://lore.kernel.org/[email protected]/
* Just inline the initializer, rather than using a macro (Dmitry).
drivers/clk/qcom/gpucc-sm8350.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)drivers/clk/qcom/gpucc-sm8350.c +2
-2@@ -108,7 +108,7 @@ static const struct parent_map gpu_cc_parent_map_0[] = { };static const struct clk_parent_data gpu_cc_parent_data_0[] = { - gpu_cc_parent, + { .fw_name ="bi_tcxo" }, { .hw = &gpu_cc_pll0.clkr.hw }, { .hw = &gpu_cc_pll1.clkr.hw }, { .fw_name ="gcc_gpu_gpll0_clk_src" },@@ -123,7 +123,7 @@ static const struct parent_map gpu_cc_parent_map_1[] = { };static const struct clk_parent_data gpu_cc_parent_data_1[] = { - gpu_cc_parent, + { .fw_name ="bi_tcxo" }, { .hw = &gpu_cc_pll1.clkr.hw }, { .fw_name ="gcc_gpu_gpll0_clk_src" }, { .fw_name ="gcc_gpu_gpll0_div_clk_src" },base-commit:
0dd8e16bfbc003b009f843e75fae4046daa08fe9--
2.37.0
Signature · 2 lines
With best wishes Dmitry
Quoting Nathan Chancellor (2022-07-11 10:40:05)
Quoted 15 lines
When building with clang or GCC older than 8, errors along the following lines occur:
drivers/clk/qcom/gpucc-sm8350.c:111:2: error: initializer element is not a compile-time constantgpu_cc_parent, ^~~~~~~~~~~~~ drivers/clk/qcom/gpucc-sm8350.c:126:2: error: initializer element is not a compile-time constant gpu_cc_parent, ^~~~~~~~~~~~~2 errors generated.
The C standard allows an implementation to accept other forms of constant expressions, which GCC 8+ has chosen to do, but it is not required. Just inline the initializer to resolve the error.
Quoted 5 lines
Fixes 160758b05ab1 ("clk: qcom: add support for SM8350 GPUCC")Reported-by kernel test robot <[email protected]>Signed-off-by Nathan Chancellor <[email protected]>---