aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMark Rutland <mark.rutland@arm.com>2018-02-05 11:41:57 -0500
committerWill Deacon <will.deacon@arm.com>2018-02-20 06:34:53 -0500
commitd3d5aac206b4e9e569a22fe1811c909dde17587c (patch)
tree7237daa6fe900a105abb946f4622c81d3212cef6
parentc0248c96631f38f02d58762fc018e316843acac8 (diff)
arm_pmu: fold platform helpers into platform code
The armpmu_{request,free}_irqs() helpers are only used by arm_pmu_platform.c, so let's fold them in and make them static. Signed-off-by: Mark Rutland <mark.rutland@arm.com> Cc: Will Deacon <will.deacon@arm.com> Signed-off-by: Will Deacon <will.deacon@arm.com>
-rw-r--r--drivers/perf/arm_pmu.c21
-rw-r--r--drivers/perf/arm_pmu_platform.c21
-rw-r--r--include/linux/perf/arm_pmu.h2
3 files changed, 21 insertions, 23 deletions
diff --git a/drivers/perf/arm_pmu.c b/drivers/perf/arm_pmu.c
index 82b09d1cb42c..373dfd7d8a1d 100644
--- a/drivers/perf/arm_pmu.c
+++ b/drivers/perf/arm_pmu.c
@@ -534,14 +534,6 @@ void armpmu_free_irq(struct arm_pmu *armpmu, int cpu)
534 free_irq(irq, per_cpu_ptr(&hw_events->percpu_pmu, cpu)); 534 free_irq(irq, per_cpu_ptr(&hw_events->percpu_pmu, cpu));
535} 535}
536 536
537void armpmu_free_irqs(struct arm_pmu *armpmu)
538{
539 int cpu;
540
541 for_each_cpu(cpu, &armpmu->supported_cpus)
542 armpmu_free_irq(armpmu, cpu);
543}
544
545int armpmu_request_irq(struct arm_pmu *armpmu, int cpu) 537int armpmu_request_irq(struct arm_pmu *armpmu, int cpu)
546{ 538{
547 int err = 0; 539 int err = 0;
@@ -593,19 +585,6 @@ err_out:
593 return err; 585 return err;
594} 586}
595 587
596int armpmu_request_irqs(struct arm_pmu *armpmu)
597{
598 int cpu, err;
599
600 for_each_cpu(cpu, &armpmu->supported_cpus) {
601 err = armpmu_request_irq(armpmu, cpu);
602 if (err)
603 break;
604 }
605
606 return err;
607}
608
609static int armpmu_get_cpu_irq(struct arm_pmu *pmu, int cpu) 588static int armpmu_get_cpu_irq(struct arm_pmu *pmu, int cpu)
610{ 589{
611 struct pmu_hw_events __percpu *hw_events = pmu->hw_events; 590 struct pmu_hw_events __percpu *hw_events = pmu->hw_events;
diff --git a/drivers/perf/arm_pmu_platform.c b/drivers/perf/arm_pmu_platform.c
index 46501cc79fd7..244558cfdbce 100644
--- a/drivers/perf/arm_pmu_platform.c
+++ b/drivers/perf/arm_pmu_platform.c
@@ -164,6 +164,27 @@ static int pmu_parse_irqs(struct arm_pmu *pmu)
164 return 0; 164 return 0;
165} 165}
166 166
167static int armpmu_request_irqs(struct arm_pmu *armpmu)
168{
169 int cpu, err;
170
171 for_each_cpu(cpu, &armpmu->supported_cpus) {
172 err = armpmu_request_irq(armpmu, cpu);
173 if (err)
174 break;
175 }
176
177 return err;
178}
179
180static void armpmu_free_irqs(struct arm_pmu *armpmu)
181{
182 int cpu;
183
184 for_each_cpu(cpu, &armpmu->supported_cpus)
185 armpmu_free_irq(armpmu, cpu);
186}
187
167int arm_pmu_device_probe(struct platform_device *pdev, 188int arm_pmu_device_probe(struct platform_device *pdev,
168 const struct of_device_id *of_table, 189 const struct of_device_id *of_table,
169 const struct pmu_probe_info *probe_table) 190 const struct pmu_probe_info *probe_table)
diff --git a/include/linux/perf/arm_pmu.h b/include/linux/perf/arm_pmu.h
index 712764b35c6a..899bc7ef0881 100644
--- a/include/linux/perf/arm_pmu.h
+++ b/include/linux/perf/arm_pmu.h
@@ -159,8 +159,6 @@ static inline int arm_pmu_acpi_probe(armpmu_init_fn init_fn) { return 0; }
159struct arm_pmu *armpmu_alloc(void); 159struct arm_pmu *armpmu_alloc(void);
160void armpmu_free(struct arm_pmu *pmu); 160void armpmu_free(struct arm_pmu *pmu);
161int armpmu_register(struct arm_pmu *pmu); 161int armpmu_register(struct arm_pmu *pmu);
162int armpmu_request_irqs(struct arm_pmu *armpmu);
163void armpmu_free_irqs(struct arm_pmu *armpmu);
164int armpmu_request_irq(struct arm_pmu *armpmu, int cpu); 162int armpmu_request_irq(struct arm_pmu *armpmu, int cpu);
165void armpmu_free_irq(struct arm_pmu *armpmu, int cpu); 163void armpmu_free_irq(struct arm_pmu *armpmu, int cpu);
166 164