From 0a9cabdc2afe9d3fcf3b4ad41573a18f73c2dcc2 Mon Sep 17 00:00:00 2001 From: Vikram Mulukutla Date: Thu, 17 Mar 2016 17:25:34 -0700 Subject: [PATCH] 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 --- drivers/soc/qcom/core_ctl_helper.c | 17 ++++++++++++++++- include/soc/qcom/core_ctl.h | 9 +++++++++ 2 files changed, 25 insertions(+), 1 deletion(-) 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 #include #include +#include #include +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