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
 | 
						|
 |