From: Arnd Bergmann <[email protected]>
Selecting a ARM_PMUV3 from a platform option breaks the build
when CONFIG_ARM_PMU is not already set:
WARNING: unmet direct dependencies detected for ARM_PMUV3
Depends on [n]: PERF_EVENTS [=y] && HW_PERF_EVENTS [=n] && (ARM [=y] && CPU_V7 [=y] || ARM64)
Selected by [y]:
- ARCH_VIRT [=y] && ARCH_MULTI_V7 [=y] && PERF_EVENTS [=y]
drivers/perf/arm_pmuv3.c:48:9: error: 'PERF_MAP_ALL_UNSUPPORTED' undeclared here (not in a function)
48 | PERF_MAP_ALL_UNSUPPORTED,
| ^~~~~~~~~~~~~~~~~~~~~~~~
drivers/perf/arm_pmuv3.c:63:9: error: 'PERF_CACHE_MAP_ALL_UNSUPPORTED' undeclared here (not in a function)
63 | PERF_CACHE_MAP_ALL_UNSUPPORTED,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/perf/arm_pmuv3.c:65:10: error: implicit declaration of function 'C' [-Werror=implicit-function-declaration]
65 | [C(L1D)][C(OP_READ)][C(RESULT_ACCESS)] = ARMV8_PMUV3_PERFCTR_L1D_CACHE,
Fixes: 3b16f6268e66 ("ARM: mach-virt: Select PMUv3 driver by default")
Signed-off-by: Arnd Bergmann <[email protected]>
---
arch/arm/Kconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index e8ccacb3653b..700458c7cace 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -397,7 +397,7 @@ config ARCH_VIRT
select ARM_GIC_V3
select ARM_GIC_V3_ITS if PCI
select ARM_PSCI
- select ARM_PMUV3 if PERF_EVENTS
+ select ARM_PMUV3 if PERF_EVENTS && ARM_PMU
select HAVE_ARM_ARCH_TIMER
config ARCH_AIROHA
--
2.39.2
Hi Arnd,
On Tue, Mar 28, 2023 at 04:43:44PM +0200, Arnd Bergmann wrote:
> From: Arnd Bergmann <[email protected]>
>
> Selecting a ARM_PMUV3 from a platform option breaks the build
> when CONFIG_ARM_PMU is not already set:
>
> WARNING: unmet direct dependencies detected for ARM_PMUV3
> Depends on [n]: PERF_EVENTS [=y] && HW_PERF_EVENTS [=n] && (ARM [=y] && CPU_V7 [=y] || ARM64)
> Selected by [y]:
> - ARCH_VIRT [=y] && ARCH_MULTI_V7 [=y] && PERF_EVENTS [=y]
>
> drivers/perf/arm_pmuv3.c:48:9: error: 'PERF_MAP_ALL_UNSUPPORTED' undeclared here (not in a function)
> 48 | PERF_MAP_ALL_UNSUPPORTED,
> | ^~~~~~~~~~~~~~~~~~~~~~~~
> drivers/perf/arm_pmuv3.c:63:9: error: 'PERF_CACHE_MAP_ALL_UNSUPPORTED' undeclared here (not in a function)
> 63 | PERF_CACHE_MAP_ALL_UNSUPPORTED,
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> drivers/perf/arm_pmuv3.c:65:10: error: implicit declaration of function 'C' [-Werror=implicit-function-declaration]
> 65 | [C(L1D)][C(OP_READ)][C(RESULT_ACCESS)] = ARMV8_PMUV3_PERFCTR_L1D_CACHE,
>
> Fixes: 3b16f6268e66 ("ARM: mach-virt: Select PMUv3 driver by default")
> Signed-off-by: Arnd Bergmann <[email protected]>
> ---
> arch/arm/Kconfig | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
> index e8ccacb3653b..700458c7cace 100644
> --- a/arch/arm/Kconfig
> +++ b/arch/arm/Kconfig
> @@ -397,7 +397,7 @@ config ARCH_VIRT
> select ARM_GIC_V3
> select ARM_GIC_V3_ITS if PCI
> select ARM_PSCI
> - select ARM_PMUV3 if PERF_EVENTS
> + select ARM_PMUV3 if PERF_EVENTS && ARM_PMU
> select HAVE_ARM_ARCH_TIMER
We're discussing this one over at:
https://lore.kernel.org/r/[email protected]
I'm leaning towards dropping the 'select' altogether.
Will