aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/hwtracing/stm
diff options
context:
space:
mode:
authorChunyan Zhang <zhang.chunyan@linaro.org>2016-11-21 02:57:23 -0500
committerSteven Rostedt <rostedt@goodmis.org>2016-11-22 17:48:04 -0500
commit9dfed80d87ca2c365cd1004a91ef4ed716c8e44e (patch)
tree108f7ab74509b2245f4bcd02bdf21cc6b1444c90 /drivers/hwtracing/stm
parent9b5e3ff6b9baa77548c6cb832780162055733c67 (diff)
stm: Mark the functions of writing STM with notrace
If CONFIG_STM_SOURCE_FTRACE is selected, Function trace data can be writen to sink via STM, all functions that related to writing data packets to STM should be marked 'notrace' to avoid being traced by Ftrace, otherwise the program would stall into an endless loop. Link: http://lkml.kernel.org/r/1479715043-6534-7-git-send-email-zhang.chunyan@linaro.org Signed-off-by: Chunyan Zhang <zhang.chunyan@linaro.org> Acked-by: Alexander Shishkin <alexander.shishkin@linux.intel.com> Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Diffstat (limited to 'drivers/hwtracing/stm')
-rw-r--r--drivers/hwtracing/stm/core.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/hwtracing/stm/core.c b/drivers/hwtracing/stm/core.c
index 51f81d64ca37..37d3bcbd2534 100644
--- a/drivers/hwtracing/stm/core.c
+++ b/drivers/hwtracing/stm/core.c
@@ -425,7 +425,7 @@ static int stm_file_assign(struct stm_file *stmf, char *id, unsigned int width)
425 return ret; 425 return ret;
426} 426}
427 427
428static ssize_t stm_write(struct stm_data *data, unsigned int master, 428static ssize_t notrace stm_write(struct stm_data *data, unsigned int master,
429 unsigned int channel, const char *buf, size_t count) 429 unsigned int channel, const char *buf, size_t count)
430{ 430{
431 unsigned int flags = STP_PACKET_TIMESTAMPED; 431 unsigned int flags = STP_PACKET_TIMESTAMPED;
@@ -1121,8 +1121,9 @@ void stm_source_unregister_device(struct stm_source_data *data)
1121} 1121}
1122EXPORT_SYMBOL_GPL(stm_source_unregister_device); 1122EXPORT_SYMBOL_GPL(stm_source_unregister_device);
1123 1123
1124int stm_source_write(struct stm_source_data *data, unsigned int chan, 1124int notrace stm_source_write(struct stm_source_data *data,
1125 const char *buf, size_t count) 1125 unsigned int chan,
1126 const char *buf, size_t count)
1126{ 1127{
1127 struct stm_source_device *src = data->src; 1128 struct stm_source_device *src = data->src;
1128 struct stm_device *stm; 1129 struct stm_device *stm;