linux-mips
[Top] [All Lists]

Re: [PATCH] Compile __do_IRQ() when really needed

To: vagabon.xyz@gmail.com
Subject: Re: [PATCH] Compile __do_IRQ() when really needed
From: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Date: Sat, 02 Dec 2006 00:12:17 +0900 (JST)
Cc: ralf@linux-mips.org, linux-mips@linux-mips.org
In-reply-to: <457042FF.2060908@innova-card.com>
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <457042FF.2060908@innova-card.com>
Sender: linux-mips-bounce@linux-mips.org
On Fri, 01 Dec 2006 15:58:07 +0100, Franck Bui-Huu <vagabon.xyz@gmail.com> 
wrote:
> __do_IRQ() is needed only by irq handlers that can't use
> default handler defined in kernel/irq/chip.c.
> 
> For others platforms there's no need to compile this function
> since it won't be used. For those platforms this patch defines
> GENERIC_HARDIRQS_NO__DO_IRQ symbol which is used exactly for
> this purpose.
> 
> Futhermore for platforms which do not use __do_IRQ(), end()
> method which is part of the 'irq_chip' structure is not used.
> This patch simply removes this method in this case.

As I wrote in separate mail, I think I had fault on
ioasic_dma_irq_type.  So please drop some part from your patch.


> @@ -171,6 +171,7 @@ config MACH_DECSTATION
>       select SYS_SUPPORTS_128HZ
>       select SYS_SUPPORTS_256HZ
>       select SYS_SUPPORTS_1024HZ
> +     select GENERIC_HARDIRQS_NO__DO_IRQ
>       help
>         This enables support for DEC's MIPS based workstations.  For details
>         see the Linux/MIPS FAQ on <http://www.linux-mips.org/> and the

and

> @@ -77,20 +70,12 @@ static struct irq_chip ioasic_irq_type =
>  
>  #define ack_ioasic_dma_irq ack_ioasic_irq
>  
> -static inline void end_ioasic_dma_irq(unsigned int irq)
> -{
> -     clear_ioasic_irq(irq);
> -     fast_iob();
> -     end_ioasic_irq(irq);
> -}
> -
>  static struct irq_chip ioasic_dma_irq_type = {
>       .typename = "IO-ASIC-DMA",
>       .ack = ack_ioasic_dma_irq,
>       .mask = mask_ioasic_dma_irq,
>       .mask_ack = ack_ioasic_dma_irq,
>       .unmask = unmask_ioasic_dma_irq,
> -     .end = end_ioasic_dma_irq,
>  };
>  
>  

Sorry for confusion...
---
Atsushi Nemoto

<Prev in Thread] Current Thread [Next in Thread>