#include <linux/proc_fs.h>
#include <linux/module.h>
#include <linux/spinlock.h>
#include <linux/sched.h>
#include <linux/seq_file.h>
#include <linux/kallsyms.h>
#include <linux/nmi.h>
#include <linux/uaccess.h>
#include "tick-internal.h"
struct timer_list_iter { … };
__printf(2, 3)
static void SEQ_printf(struct seq_file *m, const char *fmt, ...)
{ … }
static void
print_timer(struct seq_file *m, struct hrtimer *taddr, struct hrtimer *timer,
int idx, u64 now)
{ … }
static void
print_active_timers(struct seq_file *m, struct hrtimer_clock_base *base,
u64 now)
{ … }
static void
print_base(struct seq_file *m, struct hrtimer_clock_base *base, u64 now)
{ … }
static void print_cpu(struct seq_file *m, int cpu, u64 now)
{ … }
#ifdef CONFIG_GENERIC_CLOCKEVENTS
static void
print_tickdevice(struct seq_file *m, struct tick_device *td, int cpu)
{ … }
static void timer_list_show_tickdevices_header(struct seq_file *m)
{ … }
#endif
static inline void timer_list_header(struct seq_file *m, u64 now)
{ … }
void sysrq_timer_list_show(void)
{ … }
#ifdef CONFIG_PROC_FS
static int timer_list_show(struct seq_file *m, void *v)
{ … }
static void *move_iter(struct timer_list_iter *iter, loff_t offset)
{ … }
static void *timer_list_start(struct seq_file *file, loff_t *offset)
{ … }
static void *timer_list_next(struct seq_file *file, void *v, loff_t *offset)
{ … }
static void timer_list_stop(struct seq_file *seq, void *v)
{ … }
static const struct seq_operations timer_list_sops = …;
static int __init init_timer_list_procfs(void)
{ … }
__initcall(init_timer_list_procfs);
#endif