]> git.baikalelectronics.ru Git - kernel.git/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)
commit9b35aa1819501b4dbb615d6b574fb38de9085981
treefe8a1583e4b899038771d1c0ffdb91bd7e7b9bdc
parent2aab1a577399ef30d508e3c758837c7d203ff27c
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