Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <linux/init.h>
- #include <linux/kernel.h>
- #include <linux/gpio.h>
- #include <linux/module.h>
- #include <linux/interrupt.h>
- MODULE_LICENSE("GPL");
- module_init(init_func);
- module_exit(exit_func);
- static int init_func(void);
- static void exit_func(void);
- static irqreturn_t gpio23_handler(int irq, void *dummy);
- static irqreturn_t gpio23_handler(int irq, void *dummy) {
- int x;
- x= gpio_get_value(23)
- if(x == 0){
- printk(KERN_INFO "GPIO_23 has value 0");
- }
- return IRQ_HANDLED;
- }
- static int init_func(void) {
- gpio_request(24, "tjugofyra");
- gpio_request(23, "tjugotre");
- gpio_set_value(24, 0);
- int irq23 = gpio_to_irq(23);
- if (request_irq(irq23, gpio23_handler, IRQF_TRIGGER_NONE, "GPIO_23", NULL)) {
- printk(KERN_INFO "GPIO_23 irq fel");
- }
- return 0;
- }
- static void exit_func(void) {
- int irq23 = gpio_to_irq(23);
- free_irq(irq23, NULL);
- gpio_free(23);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement