• Thomas Gleixner's avatar
    MIPS: octeon: Replace the homebrewn flow handler · 56a86c35
    Thomas Gleixner authored
    The gpio interrupt handling of octeon contains a homebrewn flow
    handler which calls either handle_level_irq or handle_edge_irq
    depending on the trigger type. Thats an extra conditional and call in
    the interrupt handling path. The proper way to handle different types
    and therefor different flows is to update the handler in the
    irq_set_type() callback.
    
    Remove the extra indirection and add the handler update to
    octeon_irq_ciu_gpio_set_type(). At mapping time it defaults to
    handle_level_irq which gets updated if the device tree contains a
    different trigger type.
    Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
    Cc: David Daney <david.daney@cavium.com>
    Cc: Jiang Liu <jiang.liu@linux.intel.com>
    Cc: linux-mips@linux-mips.org
    Cc: LKML <linux-kernel@vger.kernel.org>
    Patchwork: https://patchwork.linux-mips.org/patch/10704/Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
    56a86c35
octeon-irq.c 56.5 KB