[PATCH v5 08/27] irq_domain: Move irq_domain code from powerpc to kernel/irq

Grant Likely grant.likely at secretlab.ca
Thu Feb 16 08:23:50 EST 2012


On Thu, Feb 16, 2012 at 2:09 AM, Grant Likely <grant.likely at secretlab.ca> wrote:
> This patch only moves the code.  It doesn't make any changes, and the
> code is still only compiled for powerpc.  Follow-on patches will generalize
> the code for other architectures.
>
> Signed-off-by: Grant Likely <grant.likely at secretlab.ca>
> Cc: Benjamin Herrenschmidt <benh at kernel.crashing.org>
> Cc: Thomas Gleixner <tglx at linutronix.de>
> Cc: Milton Miller <miltonm at bga.com>
> Tested-by: Olof Johansson <olof at lixom.net>
> ---
> +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 = 1

Typo on this line; missing semicolon.  Fixed in my tree now.

g.



More information about the linux-arm-kernel mailing list