Hi,
I am using Integra EVM board.I have interfaced it with other processor over GPCM bus.
Linux release is linux-2.6.37-psp04.00.00.10
This processor gives me interrupt over GPIO. I can probe this line and see the level going active low when slave processor gives interrupt.
But in my driver, my ISR doesn't get called. In other words, interrupt doesn't come to CPU.
I am using GPIO0[31], so I pass 31 in gpio_request.
Below is my code base for reference.
if (gpio_request(31, "My Int") < 0)
{
printk(KERN_ERR "Failed to request GPIO%d for INT IRQ\n",
GPMC_INT);
goto err_int_install;
}
if (gpio_direction_input (GPMC_INT) != 0)
{
printk(KERN_ERR "Failed to set direction for GPIO%d : INT IRQ\n",
GPMC_INT);
goto err_int_install;
}
irq_number = gpio_to_irq(GPMC_INT);
if(irq_number < 0)
{
printk(KERN_ERR "Failed to get irq number for GPIO%d : INT IRQ\n",
GPMC_INT);
goto err_int_install;
}
error=request_irq(irq_number, host_interrupt_routine, IRQF_DISABLED | IRQF_SAMPLE_RANDOM | IRQF_TRIGGER_FALLING, "host_int", NULL);
request_irq() succeeds but when interrupt comes as active low signal, host_interrupt_routine() doesn't get called.
Any idea what can be wrong ? Do I need to do any other configuration or unmasking ?
Please suggest.
Thanks,
Sweta