diff options
| author | Vikram Mulukutla <markivx@codeaurora.org> | 2016-03-17 17:25:34 -0700 |
|---|---|---|
| committer | David Keitel <dkeitel@codeaurora.org> | 2016-03-23 21:26:00 -0700 |
| commit | 0a9cabdc2afe9d3fcf3b4ad41573a18f73c2dcc2 (patch) | |
| tree | c8541e9a7a6a94402d3b42dba3b6bb7442abb038 | |
| parent | 6c98c21f9e7253ba25b831bd13852e295b341cfa (diff) | |
soc: qcom: core_ctl: Add a tracing function
The core control module requires tracing capability. Export
a function that will allow new events to be added in an
extensible fashion without a compile-time dependency.
Change-Id: I807d1ec4a104d8289441512b61e5e26df291525b
Signed-off-by: Vikram Mulukutla <markivx@codeaurora.org>
| -rw-r--r-- | drivers/soc/qcom/core_ctl_helper.c | 17 | ||||
| -rw-r--r-- | include/soc/qcom/core_ctl.h | 9 |
2 files changed, 25 insertions, 1 deletions
diff --git a/drivers/soc/qcom/core_ctl_helper.c b/drivers/soc/qcom/core_ctl_helper.c index 7f674229f1f8..3dde30d29a1c 100644 --- a/drivers/soc/qcom/core_ctl_helper.c +++ b/drivers/soc/qcom/core_ctl_helper.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014-2015, The Linux Foundation. All rights reserved. + * Copyright (c) 2014-2016, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and @@ -17,8 +17,23 @@ #include <linux/hrtimer.h> #include <linux/module.h> #include <linux/init.h> +#include <trace/events/power.h> #include <soc/qcom/core_ctl.h> +void core_ctl_trace(int type, int cpu, int arg1, int arg2, int arg3) +{ + switch (type) { + case CORE_CTL_EVAL_NEED: + trace_core_ctl_eval_need(cpu, arg1, arg2, arg3); + break; + + case CORE_CTL_SET_BUSY: + trace_core_ctl_set_busy(cpu, arg1, arg2, arg3); + break; + }; +} +EXPORT_SYMBOL(core_ctl_trace); + void core_ctl_block_hotplug(void) { get_online_cpus(); diff --git a/include/soc/qcom/core_ctl.h b/include/soc/qcom/core_ctl.h index 39bce9fc8fdd..08b43058b37c 100644 --- a/include/soc/qcom/core_ctl.h +++ b/include/soc/qcom/core_ctl.h @@ -14,6 +14,12 @@ #ifndef __SOC_QCOM_CORE_CTL_H #define __SOC_QCOM_CORE_CTL_H +enum { + CORE_CTL_EVAL_NEED, + CORE_CTL_SET_BUSY, + CORE_CTL_N_TRACE_EVENTS, +}; + extern void core_ctl_block_hotplug(void); extern void core_ctl_unblock_hotplug(void); extern s64 core_ctl_get_time(void); @@ -23,4 +29,7 @@ extern struct device *core_ctl_find_cpu_device(unsigned cpu); extern int core_ctl_online_core(unsigned int cpu); extern int core_ctl_offline_core(unsigned int cpu); +#define USE_CORE_CTL_TRACE +extern void core_ctl_trace(int type, int cpu, int arg1, int arg2, int arg3); + #endif |
