On Wed, May 11, 2011 at 7:30 AM, Milton Miller <milt...@bga.com> wrote: > Some irq_host implementations are using virq_to_host to check if > they are the irq_host for a virtual irq. To allow us to make space > versus time tradeoffs, replace this usage with an assertive > virq_is_host that confirms or denies the irq is associated with the > given irq_host. > > Signed-off-by: Milton Miller <milt...@bga.com>
Acked-by: Grant Likely <grant.lik...@secretlab.ca> > --- > arch/powerpc/include/asm/irq.h | 1 + > arch/powerpc/kernel/irq.c | 6 ++++++ > arch/powerpc/sysdev/xics/xics-common.c | 2 +- > 3 files changed, 8 insertions(+), 1 deletions(-) > > diff --git a/arch/powerpc/include/asm/irq.h b/arch/powerpc/include/asm/irq.h > index 6f4a3ef..a65d170 100644 > --- a/arch/powerpc/include/asm/irq.h > +++ b/arch/powerpc/include/asm/irq.h > @@ -128,6 +128,7 @@ struct irq_host { > struct irq_data; > extern irq_hw_number_t irqd_to_hwirq(struct irq_data *d); > extern irq_hw_number_t virq_to_hw(unsigned int virq); > +extern bool virq_is_host(unsigned int virq, struct irq_host *host); > extern struct irq_host *virq_to_host(unsigned int virq); > > /** > diff --git a/arch/powerpc/kernel/irq.c b/arch/powerpc/kernel/irq.c > index 0715a09..73cf290 100644 > --- a/arch/powerpc/kernel/irq.c > +++ b/arch/powerpc/kernel/irq.c > @@ -510,6 +510,12 @@ irq_hw_number_t virq_to_hw(unsigned int virq) > } > EXPORT_SYMBOL_GPL(virq_to_hw); > > +bool virq_is_host(unsigned int virq, struct irq_host *host) > +{ > + return irq_map[virq].host == host; > +} > +EXPORT_SYMBOL_GPL(virq_is_host); > + > struct irq_host *virq_to_host(unsigned int virq) > { > return irq_map[virq].host; > diff --git a/arch/powerpc/sysdev/xics/xics-common.c > b/arch/powerpc/sysdev/xics/xics-common.c > index 43b2a79..445c5a0 100644 > --- a/arch/powerpc/sysdev/xics/xics-common.c > +++ b/arch/powerpc/sysdev/xics/xics-common.c > @@ -213,7 +213,7 @@ void xics_migrate_irqs_away(void) > /* We can't set affinity on ISA interrupts */ > if (virq < NUM_ISA_INTERRUPTS) > continue; > - if (virq_to_host(virq) != xics_host) > + if (!virq_is_host(virq, xics_host)) > continue; > irq = (unsigned int)virq_to_hw(virq); > /* We need to get IPIs still. */ > -- > 1.7.0.4 > > -- Grant Likely, B.Sc., P.Eng. Secret Lab Technologies Ltd. _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev