On 2013-10-9 19:47, Amit Daniel Kachhap wrote:
In case of ACPI dt node is not used so this check is skipped. Also ACPI handle is not initialised at this point so cannot OR the dt check with the ACPI check.
This makes my head hurts too, make the coexist of DT and ACPI is not easy.
Signed-off-by: Amit Daniel Kachhap amit.daniel@samsung.com
drivers/irqchip/irq-gic.c | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/drivers/irqchip/irq-gic.c b/drivers/irqchip/irq-gic.c index 039b4a0..2f18e2f 100644 --- a/drivers/irqchip/irq-gic.c +++ b/drivers/irqchip/irq-gic.c @@ -834,8 +834,10 @@ static int gic_irq_domain_xlate(struct irq_domain *d, const u32 *intspec, unsigned int intsize, unsigned long *out_hwirq, unsigned int *out_type) { +#ifndef CONFIG_ACPI if (d->of_node != controller) return -EINVAL; +#endif
I have a idea, how about introduce a flag (or something else) in struct irq_domain? then we can:
if (d->of_node != controller && d->flag != acpi arch timer is enabled) return -EINVAL;
does it make sense to you?
if (intsize < 3) return -EINVAL;