 a2be01b154
			
		
	
	
	a2be01b154
	
	
	
		
			
			Make mach/irqs.h optional for SPARSE_IRQ. With this change mach/irqs.h can be removed by converting platforms over to sparse irq. Platforms either need to set nr_irqs in their machine desc or all irqchips used by a platform need to allocate their irq_descs. There cannot be a mixture. Once this is done, the platforms can select SPARSE_IRQ. shmobile does the latter, and mmp and pxa do the former. Signed-off-by: Rob Herring <rob.herring@calxeda.com>
		
			
				
	
	
		
			36 lines
		
	
	
	
		
			594 B
			
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			36 lines
		
	
	
	
		
			594 B
			
		
	
	
	
		
			C
		
	
	
	
	
	
| #ifndef __ASM_ARM_IRQ_H
 | |
| #define __ASM_ARM_IRQ_H
 | |
| 
 | |
| #define NR_IRQS_LEGACY	16
 | |
| 
 | |
| #ifndef CONFIG_SPARSE_IRQ
 | |
| #include <mach/irqs.h>
 | |
| #else
 | |
| #define NR_IRQS NR_IRQS_LEGACY
 | |
| #endif
 | |
| 
 | |
| #ifndef irq_canonicalize
 | |
| #define irq_canonicalize(i)	(i)
 | |
| #endif
 | |
| 
 | |
| /*
 | |
|  * Use this value to indicate lack of interrupt
 | |
|  * capability
 | |
|  */
 | |
| #ifndef NO_IRQ
 | |
| #define NO_IRQ	((unsigned int)(-1))
 | |
| #endif
 | |
| 
 | |
| #ifndef __ASSEMBLY__
 | |
| struct irqaction;
 | |
| struct pt_regs;
 | |
| extern void migrate_irqs(void);
 | |
| 
 | |
| extern void asm_do_IRQ(unsigned int, struct pt_regs *);
 | |
| void handle_IRQ(unsigned int, struct pt_regs *);
 | |
| void init_IRQ(void);
 | |
| 
 | |
| #endif
 | |
| 
 | |
| #endif
 | |
| 
 |