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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, 01 Dec 2006 15:58:07 +0100, Franck Bui-Huu <vagabon.xyz@xxxxxxxxx> 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


[Index of Archives]     [Linux MIPS Home]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Linux]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux