diff options
Diffstat (limited to 'kernel/time/timer_list.c')
| -rw-r--r-- | kernel/time/timer_list.c | 34 | 
1 files changed, 30 insertions, 4 deletions
diff --git a/kernel/time/timer_list.c b/kernel/time/timer_list.c index 61ed862cdd37..e878c2e0ba45 100644 --- a/kernel/time/timer_list.c +++ b/kernel/time/timer_list.c @@ -16,10 +16,10 @@  #include <linux/sched.h>  #include <linux/seq_file.h>  #include <linux/kallsyms.h> -#include <linux/tick.h>  #include <asm/uaccess.h> +#include "tick-internal.h"  struct timer_list_iter {  	int cpu; @@ -228,9 +228,35 @@ print_tickdevice(struct seq_file *m, struct tick_device *td, int cpu)  	print_name_offset(m, dev->set_next_event);  	SEQ_printf(m, "\n"); -	SEQ_printf(m, " set_mode:       "); -	print_name_offset(m, dev->set_mode); -	SEQ_printf(m, "\n"); +	if (dev->set_mode) { +		SEQ_printf(m, " set_mode:       "); +		print_name_offset(m, dev->set_mode); +		SEQ_printf(m, "\n"); +	} else { +		if (dev->set_state_shutdown) { +			SEQ_printf(m, " shutdown: "); +			print_name_offset(m, dev->set_state_shutdown); +			SEQ_printf(m, "\n"); +		} + +		if (dev->set_state_periodic) { +			SEQ_printf(m, " periodic: "); +			print_name_offset(m, dev->set_state_periodic); +			SEQ_printf(m, "\n"); +		} + +		if (dev->set_state_oneshot) { +			SEQ_printf(m, " oneshot:  "); +			print_name_offset(m, dev->set_state_oneshot); +			SEQ_printf(m, "\n"); +		} + +		if (dev->tick_resume) { +			SEQ_printf(m, " resume:   "); +			print_name_offset(m, dev->tick_resume); +			SEQ_printf(m, "\n"); +		} +	}  	SEQ_printf(m, " event_handler:  ");  	print_name_offset(m, dev->event_handler);  |