Line data Source code
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 0 : 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