Messages in this thread | | | Date | Fri, 2 Jun 2023 17:02:36 +0100 | Subject | Re: [PATCH 3/4] perf/arm_cspmu: Clean up ACPI dependency | From | Suzuki K Poulose <> |
| |
On 01/06/2023 12:59, Robin Murphy wrote: > Build-wise, the ACPI dependency consists of only a couple of things > which could probably stand being factored out into ACPI helpers anyway. > However for the immediate concern of working towards Devicetree support > here, it's easy enough to make a few tweaks to contain the affected code > locally, such that we can relax the Kconfig dependency. > > Signed-off-by: Robin Murphy <robin.murphy@arm.com> > --- > drivers/perf/arm_cspmu/Kconfig | 3 +-- > drivers/perf/arm_cspmu/arm_cspmu.c | 17 +++++++++++++++-- > 2 files changed, 16 insertions(+), 4 deletions(-) > > diff --git a/drivers/perf/arm_cspmu/Kconfig b/drivers/perf/arm_cspmu/Kconfig > index 0b316fe69a45..25d25ded0983 100644 > --- a/drivers/perf/arm_cspmu/Kconfig > +++ b/drivers/perf/arm_cspmu/Kconfig > @@ -4,8 +4,7 @@ > > config ARM_CORESIGHT_PMU_ARCH_SYSTEM_PMU > tristate "ARM Coresight Architecture PMU" > - depends on ARM64 && ACPI > - depends on ACPI_APMT || COMPILE_TEST > + depends on ARM64 || COMPILE_TEST > help > Provides support for performance monitoring unit (PMU) devices > based on ARM CoreSight PMU architecture. Note that this PMU > diff --git a/drivers/perf/arm_cspmu/arm_cspmu.c b/drivers/perf/arm_cspmu/arm_cspmu.c > index 72dc7a9e1ca8..3b91115c376d 100644 > --- a/drivers/perf/arm_cspmu/arm_cspmu.c > +++ b/drivers/perf/arm_cspmu/arm_cspmu.c > @@ -28,7 +28,6 @@ > #include <linux/module.h> > #include <linux/perf_event.h> > #include <linux/platform_device.h> > -#include <acpi/processor.h> > > #include "arm_cspmu.h" > #include "nvidia_cspmu.h" > @@ -1075,6 +1074,9 @@ static int arm_cspmu_request_irq(struct arm_cspmu *cspmu) > return 0; > } > > +#if defined(CONFIG_ACPI) && defined(CONFIG_ARM64) > +#include <acpi/processor.h> > + > static inline int arm_cspmu_find_cpu_container(int cpu, u32 container_uid) > { > u32 acpi_uid; > @@ -1099,7 +1101,7 @@ static inline int arm_cspmu_find_cpu_container(int cpu, u32 container_uid) > return -ENODEV; > } > > -static int arm_cspmu_get_cpus(struct arm_cspmu *cspmu) > +static int arm_cspmu_acpi_get_cpus(struct arm_cspmu *cspmu) > { > struct device *dev; > struct acpi_apmt_node *apmt_node; > @@ -1135,6 +1137,17 @@ static int arm_cspmu_get_cpus(struct arm_cspmu *cspmu) > > return 0; > } > +#else > +static int arm_cspmu_acpi_get_cpus(struct arm_cspmu *cspmu) > +{ > + return -ENODEV; > +} > +#endif > + > +static int arm_cspmu_get_cpus(struct arm_cspmu *cspmu) > +{ > + return arm_cspmu_acpi_get_cpus(cspmu); > +} > > static int arm_cspmu_register_pmu(struct arm_cspmu *cspmu) > {
Reviewed-and-Tested-by: Suzuki K Poulose <suzuki.poulose@arm.com>
| |