diff options
author | Neil Leeder <nleeder@codeaurora.org> | 2014-10-21 16:35:11 -0400 |
---|---|---|
committer | David Keitel <dkeitel@codeaurora.org> | 2016-03-23 20:48:19 -0700 |
commit | 7c974bb470602a828054b6cc3c024f0a11de0fa4 (patch) | |
tree | c6b704dad318e31079188a955ad992ac4741b223 | |
parent | 94d0fa9c7cea0e4b2af18745823347d596a8603d (diff) |
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 <nleeder@codeaurora.org>
[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 <satyap@codeaurora.org>
-rw-r--r-- | arch/arm64/kernel/perf_debug.c | 1 | ||||
-rw-r--r-- | 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 |