]> Pileus Git - ~andy/linux/commit
sh: intc: Handle domain association for sparseirq pre-allocated vectors.
authorPaul Mundt <lethal@linux-sh.org>
Thu, 9 Aug 2012 03:59:40 +0000 (12:59 +0900)
committerPaul Mundt <lethal@linux-sh.org>
Thu, 9 Aug 2012 04:21:05 +0000 (13:21 +0900)
commit1026023705b0baa2b37df2a0d1da0022fc7b985e
treefe8a1583e4b899038771d1c0ffdb91bd7e7b9bdc
parent800fb3ddee2c50918d651fbd70515f1e38857305
sh: intc: Handle domain association for sparseirq pre-allocated vectors.

Presently it's assumed that the irqdomain code handles the irq_desc
allocation for us, but this isn't necessarily the case when we've
pre-allocated IRQs via sparseirq. Previously we had a -EEXIST check in
the code that attempted to trap these cases and simply update them
in-place, but this behaviour was inadvertently lost in the transition to
irqdomains.

This simply restores the previous behaviour, first attempting to let the
irqdomain core fetch the allocation for us, and falling back to an
in-place domain association in the extant IRQ case. Fixes up regressions
on platforms that pre-allocate legacy IRQs (specifically ARM-based
SH-Mobile platforms, as SH stopped pre-allocating vectors some time ago).

Reported-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
drivers/sh/intc/core.c