On Tue, Mar 28, 2023, at 14:21, Will Deacon wrote: > On Tue, Mar 28, 2023 at 04:01:49PM +0800, kernel test robot wrote: > I think the Kconfig warning is relevant here: > >> Kconfig warnings: (for reference only) >> 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] > > Since we're selecting an option which has its own dependencies. I think > the easiest bet is to invert the linkage so that PMUV3 has a dependency > on ARCH_VIRT for 32-bit Arm (diff below). > > Marc, Zaid -- what do you think? I think dropping the 'select' is best, as this is still a user-visible option. How about this instead: --- a/drivers/perf/Kconfig +++ b/drivers/perf/Kconfig @@ -103,7 +103,7 @@ config ARM_SMMU_V3_PMU config ARM_PMUV3 depends on HW_PERF_EVENTS && ((ARM && CPU_V7) || ARM64) bool "ARM PMUv3 support" if !ARM64 - default ARM64 + default ARM64 || ARCH_VIRT help Say y if you want to use the ARM performance monitor unit (PMU) version 3. The PMUv3 is the CPU performance monitors on ARMv8 This way, it's still enabled by default for most people, but there is no dependency problem and it's also possible to turn it off. Arnd