1 | /* SPDX-License-Identifier: GPL-2.0-only */ |
2 | #undef TRACE_SYSTEM |
3 | #define TRACE_SYSTEM watchdog |
4 | |
5 | #if !defined(_TRACE_WATCHDOG_H) || defined(TRACE_HEADER_MULTI_READ) |
6 | #define _TRACE_WATCHDOG_H |
7 | |
8 | #include <linux/watchdog.h> |
9 | #include <linux/tracepoint.h> |
10 | |
11 | DECLARE_EVENT_CLASS(watchdog_template, |
12 | |
13 | TP_PROTO(struct watchdog_device *wdd, int err), |
14 | |
15 | TP_ARGS(wdd, err), |
16 | |
17 | TP_STRUCT__entry( |
18 | __field(int, id) |
19 | __field(int, err) |
20 | ), |
21 | |
22 | TP_fast_assign( |
23 | __entry->id = wdd->id; |
24 | __entry->err = err; |
25 | ), |
26 | |
27 | TP_printk("watchdog%d err=%d" , __entry->id, __entry->err) |
28 | ); |
29 | |
30 | DEFINE_EVENT(watchdog_template, watchdog_start, |
31 | TP_PROTO(struct watchdog_device *wdd, int err), |
32 | TP_ARGS(wdd, err)); |
33 | |
34 | DEFINE_EVENT(watchdog_template, watchdog_ping, |
35 | TP_PROTO(struct watchdog_device *wdd, int err), |
36 | TP_ARGS(wdd, err)); |
37 | |
38 | DEFINE_EVENT(watchdog_template, watchdog_stop, |
39 | TP_PROTO(struct watchdog_device *wdd, int err), |
40 | TP_ARGS(wdd, err)); |
41 | |
42 | TRACE_EVENT(watchdog_set_timeout, |
43 | |
44 | TP_PROTO(struct watchdog_device *wdd, unsigned int timeout, int err), |
45 | |
46 | TP_ARGS(wdd, timeout, err), |
47 | |
48 | TP_STRUCT__entry( |
49 | __field(int, id) |
50 | __field(unsigned int, timeout) |
51 | __field(int, err) |
52 | ), |
53 | |
54 | TP_fast_assign( |
55 | __entry->id = wdd->id; |
56 | __entry->timeout = timeout; |
57 | __entry->err = err; |
58 | ), |
59 | |
60 | TP_printk("watchdog%d timeout=%u err=%d" , __entry->id, __entry->timeout, __entry->err) |
61 | ); |
62 | |
63 | #endif /* !defined(_TRACE_WATCHDOG_H) || defined(TRACE_HEADER_MULTI_READ) */ |
64 | |
65 | /* This part must be outside protection */ |
66 | #include <trace/define_trace.h> |
67 | |