Grant Likely wrote:
> From: Grant Likely <grant.lik...@secretlab.ca>
> 
> Rework the mpc5200-pic driver to simplify it and fix up the setting
> of desc->status when set_type is called for internal IRQs (so they
> are reported as level, not edge).  The simplification is due to
> splitting off the handling of external IRQs into a separate block
> so they don't need to be handled as exceptions in the normal
> CRIT, MAIN and PERP paths.
> 
> Signed-off-by: Grant Likely <grant.lik...@secretlab.ca>
> CC: Wolfram Sang <w.s...@pengutronix.de>
> ---
> 
>  arch/powerpc/platforms/52xx/mpc52xx_pic.c |  145 
> ++++++++++++-----------------
>  1 files changed, 58 insertions(+), 87 deletions(-)
> 
> 
> diff --git a/arch/powerpc/platforms/52xx/mpc52xx_pic.c 
> b/arch/powerpc/platforms/52xx/mpc52xx_pic.c
> index c0a9559..277c9c5 100644
> --- a/arch/powerpc/platforms/52xx/mpc52xx_pic.c
> +++ b/arch/powerpc/platforms/52xx/mpc52xx_pic.c
> @@ -190,10 +190,10 @@ static void mpc52xx_extirq_ack(unsigned int virq)
>  
>  static int mpc52xx_extirq_set_type(unsigned int virq, unsigned int flow_type)
>  {
> -     struct irq_desc *desc = get_irq_desc(virq);
>       u32 ctrl_reg, type;
>       int irq;
>       int l2irq;
> +     void *handler = handle_level_irq;
>  
>       irq = irq_map[virq].hwirq;
>       l2irq = irq & MPC52xx_IRQ_L2_MASK;
> @@ -201,32 +201,21 @@ static int mpc52xx_extirq_set_type(unsigned int virq, 
> unsigned int flow_type)
>       pr_debug("%s: irq=%x. l2=%d flow_type=%d\n", __func__, irq, l2irq, 
> flow_type);
>  
>       switch (flow_type) {
> -     case IRQF_TRIGGER_HIGH:
> -             type = 0;
> -             break;
> -     case IRQF_TRIGGER_RISING:
> -             type = 1;
> -             break;
> -     case IRQF_TRIGGER_FALLING:
> -             type = 2;
> -             break;
> -     case IRQF_TRIGGER_LOW:
> -             type = 3;
> -             break;
> +     case IRQF_TRIGGER_HIGH: type = 0; break;
> +     case IRQF_TRIGGER_RISING: type = 1; handler = handle_edge_irq; break;
> +     case IRQF_TRIGGER_FALLING: type = 2; handler = handle_edge_irq; break;
> +     case IRQF_TRIGGER_LOW: type = 3; break;

The Linux coding style tells us not to do that:

http://lxr.linux.no/linux+v2.6.28.2/Documentation/CodingStyle#L60

Wolfgang.
_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev

Reply via email to