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
|