Yes it does show in cat /proc/interrupts It doesnot matter you use request_threaded_irq or request_irq
request_irq(unsigned int irq, irq_handler_t handler, unsigned long flags, const char *name, void *dev) Here the handler will be run in interrupt context and request_threaded_irq(unsigned int irq, irq_handler_t handler, irq_handler_t thread_fn, unsigned long flags, const char *name, void *dev); In threaded IRQ irq_handler_t handle - Interrupt context irq_handler_t thread_fn- Process context This is the only difference. Thanks Kavitha On Wed, Sep 10, 2014 at 8:03 AM, neo <prag.in...@gmail.com> wrote: > Hi Kavita > > A generic question regarding interrupts. > If i register an interrupt using request_threaded_irq() or request_irq() > will that be listed in /proc/interrupts ? > > On Tuesday, September 9, 2014 11:17:19 AM UTC+5:30, kavitha wrote: >> >> >> Does cat /proc/interrupts give show anything for 214. >> >> Check whether It is going to architecture specific impelemtation of >> gpio_to_irq >> >> >> On Tue, Sep 9, 2014 at 8:26 AM, neo star <prag....@gmail.com> wrote: >> >>> Hi >>> >>> I see that some function definitions are missing in your code. Can you >>> share those as well, so that i too can try and figure out the problem. >>> Especially the functions like gpio_to_irq() ... >>> Thanks. >>> >>> >>> On Tuesday, August 26, 2014 7:38:01 PM UTC+5:30, Siddarth Sharma wrote: >>>> >>>> I am toggling the input into a GPIO line on my BeagleBone from high to >>>> low every 500 ms using an Atmel uC. I have registered a handler for this in >>>> my Linux Kernel Module, but the handler is not being called for some >>>> reason. >>>> >>>> My module code is - >>>> >>>> #define GPIO 54 >>>> #define GPIO_INT_NAME "gpio_int" >>>> >>>> #define GPIO_HIGH gpio_get_value(GPIO) >>>> #define GPIO_LOW (gpio_get_value(GPIO) == 0) >>>> short int irq_any_gpio = 0; >>>> int count =0; >>>> >>>> enum { falling, rising } type; >>>> static irqreturn_t r_irq_handler(int irq, void *dev_id) >>>> { >>>> count++; >>>> printk(KERN_DEBUG "interrupt received (irq: %d)\n", irq); >>>> if (irq == gpio_to_irq(GPIO)) >>>> { >>>> >>>> type = GPIO_LOW ? falling : rising; >>>> >>>> if(type == falling) >>>> { >>>> printk("gpio pin is low\n"); >>>> } >>>> else >>>> printk("gpio pin is high\n"); >>>> >>>> } >>>> >>>> return IRQ_HANDLED; >>>> } >>>> >>>> >>>> void r_int_config(void) { >>>> >>>> if (gpio_request(GPIO, GPIO_INT_NAME )) >>>> { >>>> printk("GPIO request failure: %s\n", GPIO_INT_NAME ); >>>> return; >>>> } >>>> >>>> if ( (irq_any_gpio = gpio_to_irq(GPIO)) < 0 ) { >>>> printk("GPIO to IRQ mapping failure %s\n",GPIO_INT_NAME ); >>>> return; >>>> } >>>> >>>> printk(KERN_NOTICE "Mapped int %d\n", irq_any_gpio); >>>> >>>> if (request_irq(irq_any_gpio,(irq_handler_t ) r_irq_handler, >>>> IRQF_TRIGGER_HIGH, GPIO_INT_NAME, NULL)) >>>> { >>>> printk("Irq Request failure\n"); >>>> return; >>>> } >>>> >>>> return; >>>> } >>>> >>>> void r_int_release(void) { >>>> >>>> free_irq(gpio_to_irq(GPIO), NULL); >>>> gpio_free(GPIO);; >>>> return; >>>> } >>>> >>>> int init_module(void) >>>> { >>>> printk("<1>Hello World\n"); >>>> r_int_config(); >>>> return 0; >>>> } >>>> >>>> On calling insmod interrupt_test.ko, i get the following message >>>> >>>> [ 76.594543] Hello World >>>> [ 76.597137] Mapped int 214 >>>> >>>> But now when I start toggling the input into this gpio pin, the >>>> interrupt handler doesn't get called and the message - "interrupt received" >>>> is not being displayed. >>>> >>>> How do I solve this ? What's causing the problem? >>>> >>> -- >>> For more options, visit http://beagleboard.org/discuss >>> --- >>> You received this message because you are subscribed to the Google >>> Groups "BeagleBoard" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to beagleboard...@googlegroups.com. >>> For more options, visit https://groups.google.com/d/optout. >>> >> >> -- > For more options, visit http://beagleboard.org/discuss > --- > You received this message because you are subscribed to the Google Groups > "BeagleBoard" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to beagleboard+unsubscr...@googlegroups.com. > For more options, visit https://groups.google.com/d/optout. > -- For more options, visit http://beagleboard.org/discuss --- You received this message because you are subscribed to the Google Groups "BeagleBoard" group. To unsubscribe from this group and stop receiving emails from it, send an email to beagleboard+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.