brintos

brintos / linux-shallow public Read only

0
0
Text · 841 B · cb0edc7 Raw
43 lines · c
1// SPDX-License-Identifier: GPL-2.02#include <linux/fs.h>3#include <linux/init.h>4#include <linux/interrupt.h>5#include <linux/irqnr.h>6#include <linux/proc_fs.h>7#include <linux/seq_file.h>8 9/*10 * /proc/interrupts11 */12static void *int_seq_start(struct seq_file *f, loff_t *pos)13{14	return (*pos <= nr_irqs) ? pos : NULL;15}16 17static void *int_seq_next(struct seq_file *f, void *v, loff_t *pos)18{19	(*pos)++;20	if (*pos > nr_irqs)21		return NULL;22	return pos;23}24 25static void int_seq_stop(struct seq_file *f, void *v)26{27	/* Nothing to do */28}29 30static const struct seq_operations int_seq_ops = {31	.start = int_seq_start,32	.next  = int_seq_next,33	.stop  = int_seq_stop,34	.show  = show_interrupts35};36 37static int __init proc_interrupts_init(void)38{39	proc_create_seq("interrupts", 0, NULL, &int_seq_ops);40	return 0;41}42fs_initcall(proc_interrupts_init);43