genirq: irq_chip->startup() usage in setup_irq and set_irq_chained handler
authorPawel MOLL <pawel.moll@st.com>
Mon, 1 Sep 2008 09:12:11 +0000 (10:12 +0100)
committerIngo Molnar <mingo@elte.hu>
Sat, 6 Sep 2008 18:36:38 +0000 (20:36 +0200)
commit7e6e178ab1548c8d894a77593e757acf4510b8ba
tree1bbebd67a2a80573f277e39e7746c2d9c19dfcf4
parent377bf1e4ac2d894791733270604594c7c851ef83
genirq: irq_chip->startup() usage in setup_irq and set_irq_chained handler

This patch clarifies usage of irq_chip->startup() callback:

1. The "if (startup) startup(); else enabled();" code in setup_irq()
   is unnecessary, as startup() falls back to enabled() via
   default callbacks, set by irq_chip_set_defaults().

2. When using set_irq_chained_handler() the startup() was never called,
   which is not good at all... Fixed. And again - when startup() is not
   defined the call will fall back to enable() than to unmask() via
   default callbacks.

Signed-off-by: Pawel Moll <pawel.moll@st.com>
Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
kernel/irq/chip.c
kernel/irq/manage.c