drivers/perf: Improve build test coverage
authorJohn Garry <john.garry@huawei.com>
Fri, 1 Oct 2021 10:48:46 +0000 (18:48 +0800)
committerWill Deacon <will@kernel.org>
Mon, 4 Oct 2021 12:13:11 +0000 (13:13 +0100)
Improve build test cover by allowing some drivers to build under
COMPILE_TEST where possible.

Some notes:
- Mostly a dependency on CONFIG_ACPI is not really required for only
  building (but left untouched), but is required for TX2 which uses ACPI
  functions which have no stubs
- XGENE required 64b dependency as it relies on some unsigned long perf
  struct fields being 64b
- I don't see why TX2 requires NUMA to build, but left untouched
- Added an explicit dependency on GENERIC_MSI_IRQ_DOMAIN for
  ARM_SMMU_V3_PMU, which is required for platform MSI functions

Signed-off-by: John Garry <john.garry@huawei.com>
Link: https://lore.kernel.org/r/1633085326-156653-3-git-send-email-john.garry@huawei.com
Signed-off-by: Will Deacon <will@kernel.org>
drivers/perf/Kconfig

index 77522e5..4374af2 100644 (file)
@@ -36,7 +36,7 @@ config ARM_CCI5xx_PMU
 
 config ARM_CCN
        tristate "ARM CCN driver support"
-       depends on ARM || ARM64
+       depends on ARM || ARM64 || COMPILE_TEST
        help
          PMU (perf) driver supporting the ARM CCN (Cache Coherent Network)
          interconnect.
@@ -62,7 +62,8 @@ config ARM_PMU_ACPI
 
 config ARM_SMMU_V3_PMU
         tristate "ARM SMMUv3 Performance Monitors Extension"
-        depends on ARM64 && ACPI
+        depends on (ARM64 && ACPI) || (COMPILE_TEST && 64BIT)
+        depends on GENERIC_MSI_IRQ_DOMAIN
           help
           Provides support for the ARM SMMUv3 Performance Monitor Counter
           Groups (PMCG), which provide monitoring of transactions passing
@@ -80,7 +81,7 @@ config ARM_DSU_PMU
 
 config FSL_IMX8_DDR_PMU
        tristate "Freescale i.MX8 DDR perf monitor"
-       depends on ARCH_MXC
+       depends on ARCH_MXC || COMPILE_TEST
          help
          Provides support for the DDR performance monitor in i.MX8, which
          can give information about memory throughput and other related
@@ -108,7 +109,8 @@ config QCOM_L3_PMU
 
 config THUNDERX2_PMU
        tristate "Cavium ThunderX2 SoC PMU UNCORE"
-       depends on ARCH_THUNDER2 && ARM64 && ACPI && NUMA
+       depends on ARCH_THUNDER2 || COMPILE_TEST
+       depends on NUMA && ACPI
        default m
        help
           Provides support for ThunderX2 UNCORE events.
@@ -116,7 +118,7 @@ config THUNDERX2_PMU
           in the DDR4 Memory Controller (DMC).
 
 config XGENE_PMU
-        depends on ARCH_XGENE
+        depends on ARCH_XGENE || (COMPILE_TEST && 64BIT)
         bool "APM X-Gene SoC PMU"
         default n
         help