From 7c974bb470602a828054b6cc3c024f0a11de0fa4 Mon Sep 17 00:00:00 2001 From: Neil Leeder Date: Tue, 21 Oct 2014 16:35:11 -0400 Subject: Perf: arm64: make debug dir handle exportable The perf debug directory is exported so that other drivers can place nodes there. Change-Id: I570f4b61267ce4ef20275852ec769464b7f68827 Signed-off-by: Neil Leeder [satyap: trivial merge conflict resolution and move changes in arch/arm64/kernel/perf_event.c to drivers/perf/arm_pmu.c to align with kernel 4.4] Signed-off-by: Satya Durga Srinivasu Prabhala --- arch/arm64/kernel/perf_debug.c | 1 + drivers/perf/arm_pmu.c | 15 +++++++++++---- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/arch/arm64/kernel/perf_debug.c b/arch/arm64/kernel/perf_debug.c index 3ad3e11d246b..83844516fc57 100644 --- a/arch/arm64/kernel/perf_debug.c +++ b/arch/arm64/kernel/perf_debug.c @@ -29,6 +29,7 @@ static char *descriptions = " 7 Perf: arm64: Update PMU force reset\n" "10 Perf: arm64: tracectr: initialize counts after hotplug\n" "11 Perf: arm64: Refine disable/enable in tracecounters\n" + "15 Perf: arm64: make debug dir handle exportable\n" ; static ssize_t desc_read(struct file *fp, char __user *buf, diff --git a/drivers/perf/arm_pmu.c b/drivers/perf/arm_pmu.c index f0ad3b8b941c..a6293cbad0ba 100644 --- a/drivers/perf/arm_pmu.c +++ b/drivers/perf/arm_pmu.c @@ -927,6 +927,15 @@ out_free: return ret; } +static struct dentry *perf_debug_dir; + +struct dentry *perf_create_debug_dir(void) +{ + if (!perf_debug_dir) + perf_debug_dir = debugfs_create_dir("msm_perf", NULL); + return perf_debug_dir; +} + #ifdef CONFIG_PERF_EVENTS_RESET_PMU_DEBUGFS static __ref void reset_pmu_force(void) { @@ -972,15 +981,13 @@ int __init init_pmu_actions(void) struct dentry *file; unsigned int value = 1; - dir = debugfs_create_dir("msm_perf", NULL); + dir = perf_create_debug_dir(); if (!dir) return -ENOMEM; file = debugfs_create_file("resetpmu", 0220, dir, &value, &fops_pmuaction); - if (!file) { - debugfs_remove(dir); + if (!file) return -ENOMEM; - } return 0; } #else -- cgit v1.2.3