Re: [PATCH v5 08/27] irq_domain: Move irq_domain code from powerpc to kernel/irq
From: Cousson, Benoit <hidden>
Date: 2012-02-16 17:52:35
Also in:
linux-arm-kernel, linuxppc-dev, lkml
From: Cousson, Benoit <hidden>
Date: 2012-02-16 17:52:35
Also in:
linux-arm-kernel, linuxppc-dev, lkml
OK, forget about it, I've just seen your email on that and pulled your latest update. Regards, Benoit On 2/16/2012 6:38 PM, Cousson, Benoit wrote:
Hi Grant, It looks like there is a small regression in that update, it cannot build due to a missing semi-colon. On 2/16/2012 10:09 AM, Grant Likely wrote:quoted
+/** + * irq_find_mapping() - Find a linux irq from an hw irq number. + * @host: domain owning this hardware interrupt + * @hwirq: hardware irq number in that host space + * + * This is a slow path, for use by generic code. It's expected that an + * irq controller implementation directly calls the appropriate low level + * mapping function. + */ +unsigned int irq_find_mapping(struct irq_domain *host, + irq_hw_number_t hwirq) +{ + unsigned int i; + unsigned int hint = hwirq % irq_virq_count; + + /* Look for default host if nececssary */ + if (host == NULL) + host = irq_default_host; + if (host == NULL) + return NO_IRQ; + + /* legacy -> bail early */ + if (host->revmap_type == IRQ_DOMAIN_MAP_LEGACY) + return hwirq; + + /* Slow path does a linear search of the map */ + if (hint == 0) + hint = 1; + i = hint; + do { + struct irq_data *data = irq_get_irq_data(i); + if (data&& (data->domain == host)&& (data->hwirq == hwirq)) + return i; + i++; + if (i>= irq_virq_count) + i = 1The ";" is missing. Regards, Benoit