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:
> @@ -216,6 +217,7 @@ config MACH_JAZZ
>  	select SYS_SUPPORTS_32BIT_KERNEL
>  	select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
>  	select SYS_SUPPORTS_100HZ
> +	select GENERIC_HARDIRQS_NO__DO_IRQ
>  	help
>  	 This a family of machines based on the MIPS R4030 chipset which was
>  	 used by several vendors to build RISC/os and Windows NT workstations.

JAZZ uses i8259 which is not converted to irq flow handler yet.

> @@ -468,6 +473,7 @@ config DDB5477
>  config MACH_VR41XX
>  	bool "NEC VR41XX-based machines"
>  	select SYS_HAS_CPU_VR41XX
> +	select GENERIC_HARDIRQS_NO__DO_IRQ
>  
>  config PMC_YOSEMITE
>  	bool "PMC-Sierra Yosemite eval board"

Same here.

> @@ -519,6 +525,7 @@ config MARKEINS
>  	select SYS_SUPPORTS_BIG_ENDIAN
>  	select SYS_SUPPORTS_LITTLE_ENDIAN
>  	select SYS_HAS_CPU_R5000
> +	select GENERIC_HARDIRQS_NO__DO_IRQ
>  	help
>  	  This enables support for the R5432-based NEC Mark-eins
>  	  boards with R5500 CPU.

For now emma2rh_gpio_irq_controller still needs __do_IRQ().

> @@ -539,6 +546,7 @@ config SGI_IP22
>  	select SYS_SUPPORTS_32BIT_KERNEL
>  	select SYS_SUPPORTS_64BIT_KERNEL
>  	select SYS_SUPPORTS_BIG_ENDIAN
> +	select GENERIC_HARDIRQS_NO__DO_IRQ
>  	help
>  	  This are the SGI Indy, Challenge S and Indigo2, as well as certain
>  	  OEM variants like the Tandem CMN B006S. To compile a Linux kernel

For now ip22_eisa1_irq_type and ip22_eisa2_irq_type need __do_IRQ().

> @@ -739,6 +748,7 @@ config TOSHIBA_RBTX4927
>  	select SYS_SUPPORTS_64BIT_KERNEL
>  	select SYS_SUPPORTS_BIG_ENDIAN
>  	select TOSHIBA_BOARDS
> +	select GENERIC_HARDIRQS_NO__DO_IRQ
>  	help
>  	  This Toshiba board is based on the TX4927 processor. Say Y here to
>  	  support this machine type

For now toshiba_rbtx4927_irq_isa_type still needs __do_IRQ().

> @@ -758,6 +768,7 @@ config TOSHIBA_RBTX4938
>  	select SYS_SUPPORTS_LITTLE_ENDIAN
>  	select SYS_SUPPORTS_BIG_ENDIAN
>  	select TOSHIBA_BOARDS
> +	select GENERIC_HARDIRQS_NO__DO_IRQ
>  	help
>  	  This Toshiba board is based on the TX4938 processor. Say Y here to
>  	  support this machine type

RBTX4938(rbhma4500) uses i8259 which is not converted to irq flow
handler yet.

> @@ -214,15 +210,6 @@ static void tx4927_irq_cp0_disable(unsig
>  	tx4927_irq_cp0_modify(CCP0_STATUS, tx4927_irq_cp0_mask(irq), 0);
>  }
>  
> -static void tx4927_irq_cp0_end(unsigned int irq)
> -{
> -	TX4927_IRQ_DPRINTK(TX4927_IRQ_CP0_ENDIRQ, "irq=%d \n", irq);
> -
> -	if (!(irq_desc[irq].status & (IRQ_DISABLED | IRQ_INPROGRESS))) {
> -		tx4927_irq_cp0_enable(irq);
> -	}
> -}
> -
>  /*
>   * Functions for pic
>   */
> @@ -376,15 +363,6 @@ static void tx4927_irq_pic_disable(unsig
>  			      tx4927_irq_pic_mask(irq), 0);
>  }
>  
> -static void tx4927_irq_pic_end(unsigned int irq)
> -{
> -	TX4927_IRQ_DPRINTK(TX4927_IRQ_PIC_ENDIRQ, "irq=%d\n", irq);
> -
> -	if (!(irq_desc[irq].status & (IRQ_DISABLED | IRQ_INPROGRESS))) {
> -		tx4927_irq_pic_enable(irq);
> -	}
> -}
> -
>  /*
>   * Main init functions
>   */

You can remove those lines too:

#define TX4927_IRQ_CP0_ENDIRQ   ( 1 << 16 )
#define TX4927_IRQ_PIC_ENDIRQ   ( 1 << 26 )

> diff --git a/arch/mips/tx4927/toshiba_rbtx4927/toshiba_rbtx4927_irq.c b/arch/mips/tx4927/toshiba_rbtx4927/toshiba_rbtx4927_irq.c
> index 34cdb2a..ce4ef10 100644
> --- a/arch/mips/tx4927/toshiba_rbtx4927/toshiba_rbtx4927_irq.c
> +++ b/arch/mips/tx4927/toshiba_rbtx4927/toshiba_rbtx4927_irq.c
> @@ -388,23 +386,6 @@ static void toshiba_rbtx4927_irq_ioc_dis
>  	TOSHIBA_RBTX4927_WR08(TOSHIBA_RBTX4927_IOC_INTR_ENAB, v);
>  }
>  
> -static void toshiba_rbtx4927_irq_ioc_end(unsigned int irq)
> -{
> -	TOSHIBA_RBTX4927_IRQ_DPRINTK(TOSHIBA_RBTX4927_IRQ_IOC_ENDIRQ,
> -				     "irq=%d\n", irq);
> -
> -	if (irq < TOSHIBA_RBTX4927_IRQ_IOC_BEG
> -	    || irq > TOSHIBA_RBTX4927_IRQ_IOC_END) {
> -		TOSHIBA_RBTX4927_IRQ_DPRINTK(TOSHIBA_RBTX4927_IRQ_EROR,
> -					     "bad irq=%d\n", irq);
> -		panic("\n");
> -	}
> -
> -	if (!(irq_desc[irq].status & (IRQ_DISABLED | IRQ_INPROGRESS))) {
> -		toshiba_rbtx4927_irq_ioc_enable(irq);
> -	}
> -}
> -
>  
>  /**********************************************************************************/
>  /* Functions for isa                                                              */

You can remove this line too:

#define TOSHIBA_RBTX4927_IRQ_IOC_ENDIRQ    ( 1 << 16 )



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

  Powered by Linux