On Wed, May 11, 2011 at 7:30 AM, Milton Miller <milt...@bga.com> wrote: > When allocating irqs, wait to clear the IRQ_NOREQUEST flag until the > host map hook has been called. > > When freeing irqs, set the IRQ_NOREQUEST flag before calling the host > unmap hook.
A description describing why this change is being made would be appreciated here. g. > > Signed-off-by: Milton Miller <milt...@bga.com> > --- > arch/powerpc/kernel/irq.c | 14 +++++++------- > 1 files changed, 7 insertions(+), 7 deletions(-) > > diff --git a/arch/powerpc/kernel/irq.c b/arch/powerpc/kernel/irq.c > index 4368b5e..a24d37d 100644 > --- a/arch/powerpc/kernel/irq.c > +++ b/arch/powerpc/kernel/irq.c > @@ -586,14 +586,14 @@ struct irq_host *irq_alloc_host(struct device_node > *of_node, > irq_map[i].host = host; > smp_wmb(); > > - /* Clear norequest flags */ > - irq_clear_status_flags(i, IRQ_NOREQUEST); > - > /* Legacy flags are left to default at this point, > * one can then use irq_create_mapping() to > * explicitly change them > */ > ops->map(host, i, i); > + > + /* Clear norequest flags */ > + irq_clear_status_flags(i, IRQ_NOREQUEST); > } > break; > case IRQ_HOST_MAP_LINEAR: > @@ -664,8 +664,6 @@ static int irq_setup_virq(struct irq_host *host, unsigned > int virq, > goto error; > } > > - irq_clear_status_flags(virq, IRQ_NOREQUEST); > - > /* map it */ > smp_wmb(); > irq_map[virq].hwirq = hwirq; > @@ -676,6 +674,8 @@ static int irq_setup_virq(struct irq_host *host, unsigned > int virq, > goto errdesc; > } > > + irq_clear_status_flags(virq, IRQ_NOREQUEST); > + > return 0; > > errdesc: > @@ -819,6 +819,8 @@ void irq_dispose_mapping(unsigned int virq) > if (host->revmap_type == IRQ_HOST_MAP_LEGACY) > return; > > + irq_set_status_flags(virq, IRQ_NOREQUEST); > + > /* remove chip and handler */ > irq_set_chip_and_handler(virq, NULL, NULL); > > @@ -848,8 +850,6 @@ void irq_dispose_mapping(unsigned int virq) > smp_mb(); > irq_map[virq].hwirq = host->inval_irq; > > - irq_set_status_flags(virq, IRQ_NOREQUEST); > - > irq_free_descs(virq, 1); > /* Free it */ > irq_free_virt(virq, 1); > -- > 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