Armadaxp GPIO interrupts

Andrew Lunn andrew at lunn.ch
Thu Aug 6 06:29:26 PDT 2015


> mvebu_gpio_irq_handler is only called if I register a another handler
> at irq=82/83/84/85/87/88/89/90/92. I am registering this handler using
> minimal kernel module.

This is totally wrong. The gpio driver needs these interrupts, and
will register a chained interrupt handle for these. Don't mess around
with them. Here is the code in the driver:

        /* Setup the interrupt handlers. Each chip can have up to 4
         * interrupt handlers, with each handler dealing with 8 GPIO
         * pins. */
        for (i = 0; i < 4; i++) {
                int irq = platform_get_irq(pdev, i);

                if (irq < 0)
                        continue;
                irq_set_handler_data(irq, mvchip);
                irq_set_chained_handler(irq, mvebu_gpio_irq_handler);
        }

	Andrew



More information about the linux-arm-kernel mailing list