Paul Burton 6a33fa2b87 irqchip/mips-gic: Cleanup chip and handler setup
gic_shared_irq_domain_map() is called from gic_irq_domain_alloc() where
the wrong chip has been set, and is then overwritten. Tidy this up by
setting the correct chip the first time, and setting the
handle_level_irq handler from gic_irq_domain_alloc() too.

gic_shared_irq_domain_map() is also called from gic_irq_domain_map(),
which now calls irq_set_chip_and_handler() to retain its previous
behaviour.

This patch prepares for a follow-on which will call
gic_shared_irq_domain_map() from a callback where the lock on the struct
irq_desc is held, which without this change would cause the call to
irq_set_chip_and_handler() to lead to a deadlock.

Fixes: c98c1822ee13 ("irqchip/mips-gic: Add device hierarchy domain")
Signed-off-by: Paul Burton <paul.burton@imgtec.com>
Cc: linux-mips@linux-mips.org
Cc: Jason Cooper <jason@lakedaemon.net>
Cc: Marc Zyngier <marc.zyngier@arm.com>
Cc: stable@vger.kernel.org
Link: http://lkml.kernel.org/r/20160819170715.27820-1-paul.burton@imgtec.com
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2016-08-22 18:37:51 +02:00
..
2016-07-27 14:03:52 -07:00
2016-08-01 18:36:01 -04:00
2016-08-05 09:48:22 -04:00
2016-07-30 21:01:36 -07:00
2016-07-28 15:45:17 -07:00
2016-08-01 16:49:13 -04:00
2016-07-30 21:01:36 -07:00
2016-07-30 21:01:36 -07:00
2016-07-30 21:01:36 -07:00
2016-08-07 14:41:02 -06:00
2016-08-04 09:59:37 -04:00
2016-08-02 17:05:11 -04:00
2016-08-01 18:36:01 -04:00
2016-08-12 12:09:44 -07:00
2016-07-31 21:36:58 -04:00
2016-08-06 09:20:13 -04:00
2016-07-20 23:39:36 -07:00
2016-07-31 21:36:58 -04:00
2016-08-01 18:36:01 -04:00
2016-08-06 00:01:33 -04:00
2016-08-06 00:01:33 -04:00
2016-08-05 09:48:22 -04:00
2016-08-09 13:42:41 +03:00
2016-08-09 10:17:42 -07:00
2016-08-01 18:36:01 -04:00
2016-08-01 18:37:45 -04:00
2016-08-05 23:07:43 -04:00
2016-08-02 19:35:40 -04:00
2016-08-06 09:20:13 -04:00