MIPS: octeon: Replace the homebrewn flow handler
authorThomas Gleixner <tglx@linutronix.de>
Mon, 13 Jul 2015 20:46:07 +0000 (20:46 +0000)
committerRalf Baechle <ralf@linux-mips.org>
Wed, 26 Aug 2015 13:23:32 +0000 (15:23 +0200)
commit56a86c352b02ce2fe09a72771ef4334632a1f9c1
tree005efaf168772e24099bf0e2cdc049cb1ef65b3c
parent9d9a2fa7dcbd05a1608a6a38b6ec1a092e117c3c
MIPS: octeon: Replace the homebrewn flow handler

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: Thomas 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: Ralf Baechle <ralf@linux-mips.org>
arch/mips/cavium-octeon/octeon-irq.c