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
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
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