| /* SPDX-License-Identifier: GPL-2.0 */ | |
| /* | |
| * Device core Trace Support | |
| * Copyright (C) 2021, Intel Corporation | |
| * | |
| * Author: Andy Shevchenko <andriy.shevchenko@linux.intel.com> | |
| */ | |
| #undef TRACE_SYSTEM | |
| #define TRACE_SYSTEM dev | |
| #if !defined(__DEV_TRACE_H) || defined(TRACE_HEADER_MULTI_READ) | |
| #define __DEV_TRACE_H | |
| #include <linux/device.h> | |
| #include <linux/tracepoint.h> | |
| #include <linux/types.h> | |
| DECLARE_EVENT_CLASS(devres, | |
| TP_PROTO(struct device *dev, const char *op, void *node, const char *name, size_t size), | |
| TP_ARGS(dev, op, node, name, size), | |
| TP_STRUCT__entry( | |
| __string(devname, dev_name(dev)) | |
| __field(struct device *, dev) | |
| __field(const char *, op) | |
| __field(void *, node) | |
| __string(name, name) | |
| __field(size_t, size) | |
| ), | |
| TP_fast_assign( | |
| __assign_str(devname); | |
| __entry->op = op; | |
| __entry->node = node; | |
| __assign_str(name); | |
| __entry->size = size; | |
| ), | |
| TP_printk("%s %3s %p %s (%zu bytes)", __get_str(devname), | |
| __entry->op, __entry->node, __get_str(name), __entry->size) | |
| ); | |
| DEFINE_EVENT(devres, devres_log, | |
| TP_PROTO(struct device *dev, const char *op, void *node, const char *name, size_t size), | |
| TP_ARGS(dev, op, node, name, size) | |
| ); | |
| #endif /* __DEV_TRACE_H */ | |
| /* this part has to be here */ | |
| #undef TRACE_INCLUDE_PATH | |
| #define TRACE_INCLUDE_PATH . | |
| #undef TRACE_INCLUDE_FILE | |
| #define TRACE_INCLUDE_FILE trace | |
| #include <trace/define_trace.h> |