1 | /* SPDX-License-Identifier: GPL-2.0 */ |
2 | #ifndef PM_TRACE_H |
3 | #define PM_TRACE_H |
4 | |
5 | #include <linux/types.h> |
6 | #ifdef CONFIG_PM_TRACE |
7 | #include <asm/pm-trace.h> |
8 | |
9 | extern int pm_trace_enabled; |
10 | extern bool pm_trace_rtc_abused; |
11 | |
12 | static inline bool pm_trace_rtc_valid(void) |
13 | { |
14 | return !pm_trace_rtc_abused; |
15 | } |
16 | |
17 | static inline int pm_trace_is_enabled(void) |
18 | { |
19 | return pm_trace_enabled; |
20 | } |
21 | |
22 | struct device; |
23 | extern void set_trace_device(struct device *); |
24 | extern void generate_pm_trace(const void *tracedata, unsigned int user); |
25 | extern int show_trace_dev_match(char *buf, size_t size); |
26 | |
27 | #define TRACE_DEVICE(dev) do { \ |
28 | if (pm_trace_enabled) \ |
29 | set_trace_device(dev); \ |
30 | } while(0) |
31 | |
32 | #else |
33 | |
34 | static inline bool pm_trace_rtc_valid(void) { return true; } |
35 | static inline int pm_trace_is_enabled(void) { return 0; } |
36 | |
37 | #define TRACE_DEVICE(dev) do { } while (0) |
38 | #define TRACE_RESUME(dev) do { } while (0) |
39 | #define TRACE_SUSPEND(dev) do { } while (0) |
40 | |
41 | #endif |
42 | |
43 | #endif |
44 | |