kernel_samsung_a34x-permissive/drivers/misc/mediatek/apusys/util/apusys_trace.c
2024-04-28 15:51:13 +02:00

62 lines
1.1 KiB
C

// SPDX-License-Identifier: GPL-2.0
/*
* Copyright (c) 2020 MediaTek Inc.
*/
#include <linux/sched.h>
#include <linux/string.h>
#include <linux/kernel.h>
#include "apusys_trace.h"
static noinline int tracing_mark_write(const char *buf)
{
TRACE_PUTS(buf);
return 0;
}
void trace_tag_begin(const char *format, ...)
{
char buf[TRACE_LEN];
int len = snprintf(buf, sizeof(buf),
"B|%d|%s", task_pid_nr(current), format);
if (len >= TRACE_LEN)
len = TRACE_LEN - 1;
tracing_mark_write(buf);
}
EXPORT_SYMBOL(trace_tag_begin);
void trace_tag_end(void)
{
char buf[TRACE_LEN];
int len = snprintf(buf, sizeof(buf), "E\n");
if (len >= TRACE_LEN)
len = TRACE_LEN - 1;
tracing_mark_write(buf);
}
EXPORT_SYMBOL(trace_tag_end);
void trace_async_tag(bool isBegin, const char *format, ...)
{
char buf[TRACE_LEN];
int len = 0;
if (isBegin)
len = snprintf(buf, sizeof(buf),
"S|%d|%s", task_pid_nr(current), format);
else
len = snprintf(buf, sizeof(buf),
"F|%d|%s", task_pid_nr(current), format);
if (len >= TRACE_LEN)
len = TRACE_LEN - 1;
tracing_mark_write(buf);
}
EXPORT_SYMBOL(trace_async_tag);