From b4faa70d6f59d3c6d426ae052f2a53ef12648ce9 Mon Sep 17 00:00:00 2001 From: Arturs Artamonovs Date: Fri, 22 Dec 2023 10:02:03 +0000 Subject: New topic order, add few not finished posts --- md/notes/kernel/irq_handler.md | 64 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 md/notes/kernel/irq_handler.md (limited to 'md/notes/kernel/irq_handler.md') diff --git a/md/notes/kernel/irq_handler.md b/md/notes/kernel/irq_handler.md new file mode 100644 index 0000000..a4ce3cd --- /dev/null +++ b/md/notes/kernel/irq_handler.md @@ -0,0 +1,64 @@ +title:IRQ handler +keywords:kernel,linux,irq + +# IRQ handler + +Lets extend hello world driver. + +## Starting point + +__Makefile__ +```Makefile +obj-m += procfs_entry.o + +KDIR ?= /lib/modules/$(shell uname -r)/build + +all: + make -C $(KDIR) M=$(PWD) modules + +clean: + make -C $(KDIR) M=$(PWD) clean +``` + +__procfs_entry.c__ +```c +#include /* Needed by all modules */ +#include + +int procfs_entry_init( void ) +{ + printk(KERN_DEBUG "Hello Procfs!\n"); + return 0; +} + +void procfs_entry_exit( void ) +{ + printk(KERN_DEBUG "Exit Procfs!\n"); +} + +module_init( procfs_entry_init ); +module_exit( procfs_entry_exit ); + +MODULE_LICENSE("GPL"); +``` + + + +## List of procfs functions used + +| Function name | Note | +|---|---| +| proc_mkdir | Create procfs directory | +| proc_create | Create procfs file | +| proc_remove | Remove procfs entry | + +## Final result + + + +## Links + + + + + -- cgit v1.2.3