lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Tue, 8 Feb 2011 13:24:35 +1000 From: Greg Ungerer <gerg@...pgear.com> To: Thomas Gleixner <tglx@...utronix.de> CC: LKML <linux-kernel@...r.kernel.org>, Greg Ungerer <gerg@...inux.org> Subject: Re: [patch 07/10] m68knommu: Convert 5272 intc irq_chip to new functions Hi Thomas, On 07/02/11 09:39, Thomas Gleixner wrote: > Signed-off-by: Thomas Gleixner <tglx@...utronix.de> > --- > arch/m68knommu/platform/5272/intc.c | 28 ++++++++++++++++++---------- > 1 file changed, 18 insertions(+), 10 deletions(-) > > Index: linux-next/arch/m68knommu/platform/5272/intc.c > =================================================================== > --- linux-next.orig/arch/m68knommu/platform/5272/intc.c > +++ linux-next/arch/m68knommu/platform/5272/intc.c > @@ -78,8 +78,10 @@ static struct irqmap intc_irqmap[MCFINT_ > * an interrupt on this irq (for the external irqs). So this mask function > * is also an ack_mask function. > */ > -static void intc_irq_mask(unsigned int irq) > +static void intc_irq_mask(struct irq_data *d) > { > + unsigned int irq = d->irq; > + > if ((irq >= MCFINT_VECBASE) && (irq <= MCFINT_VECMAX)) { > u32 v; > irq -= MCFINT_VECBASE; > @@ -88,8 +90,10 @@ static void intc_irq_mask(unsigned int i > } > } > > -static void intc_irq_unmask(unsigned int irq) > +static void intc_irq_unmask(struct irq_data *d) > { > + unsigned int irq = d->irq; > + > if ((irq >= MCFINT_VECBASE) && (irq <= MCFINT_VECMAX)) { > u32 v; > irq -= MCFINT_VECBASE; > @@ -98,8 +102,10 @@ static void intc_irq_unmask(unsigned int > } > } > > -static void intc_irq_ack(unsigned int irq) > +static void intc_irq_ack(struct irq_data *d) > { > + unsigned int irq = d->irq; > + > /* Only external interrupts are acked */ > if ((irq >= MCFINT_VECBASE) && (irq <= MCFINT_VECMAX)) { > irq -= MCFINT_VECBASE; > @@ -113,8 +119,10 @@ static void intc_irq_ack(unsigned int ir > } > } > > -static int intc_irq_set_type(unsigned int irq, unsigned int type) > +static int intc_irq_set_type(struct irq_data *d, unsigned int type) > { > + unsigned int irq = d->irq; > + > if ((irq >= MCFINT_VECBASE) && (irq <= MCFINT_VECMAX)) { > irq -= MCFINT_VECBASE; > if (intc_irqmap[irq].ack) { > @@ -137,17 +145,17 @@ static int intc_irq_set_type(unsigned in > */ > static void intc_external_irq(unsigned int irq, struct irq_desc *desc) > { > - desc->chip->ack(irq); > + get_irq_desc_chip(i)->irq_ack(desc->irq_data); ^^^ ^^^ should this be: get_irq_desc_chip(desc)->irq_ack(&desc->irq_data) I can't runtime test this right at the moment, but otherwise: Acked-by: Greg Ungerer <gerg@...inux.org> Regards Greg > handle_simple_irq(irq, desc); > } > > static struct irq_chip intc_irq_chip = { > .name = "CF-INTC", > - .mask = intc_irq_mask, > - .unmask = intc_irq_unmask, > - .mask_ack = intc_irq_mask, > - .ack = intc_irq_ack, > - .set_type = intc_irq_set_type, > + .irq_mask = intc_irq_mask, > + .irq_unmask = intc_irq_unmask, > + .irq_mask_ack = intc_irq_mask, > + .irq_ack = intc_irq_ack, > + .irq_set_type = intc_irq_set_type, > }; > > void __init init_IRQ(void) -- ------------------------------------------------------------------------ Greg Ungerer -- Principal Engineer EMAIL: gerg@...pgear.com SnapGear Group, McAfee PHONE: +61 7 3435 2888 8 Gardner Close FAX: +61 7 3217 5323 Milton, QLD, 4064, Australia WEB: http://www.SnapGear.com -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists