mirror of
				git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
				synced 2025-09-04 20:19:47 +08:00 
			
		
		
		
	 4c301f9b6a
			
		
	
	
		4c301f9b6a
		
	
	
	
	
		
			
			Converts the ARM interrupt code to use the recently added GENERIC_IRQ_MULTI_HANDLER, which is essentially just a copy of ARM's existhing MULTI_IRQ_HANDLER. The only changes are: * handle_arch_irq is now defined in a generic C file instead of an arm-specific assembly file. * handle_arch_irq is now marked as __ro_after_init. Signed-off-by: Palmer Dabbelt <palmer@sifive.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: linux@armlinux.org.uk Cc: catalin.marinas@arm.com Cc: Will Deacon <will.deacon@arm.com> Cc: jonas@southpole.se Cc: stefan.kristiansson@saunalahti.fi Cc: shorne@gmail.com Cc: jason@lakedaemon.net Cc: marc.zyngier@arm.com Cc: Arnd Bergmann <arnd@arndb.de> Cc: nicolas.pitre@linaro.org Cc: vladimir.murzin@arm.com Cc: keescook@chromium.org Cc: jinb.park7@gmail.com Cc: yamada.masahiro@socionext.com Cc: alexandre.belloni@bootlin.com Cc: pombredanne@nexb.com Cc: Greg KH <gregkh@linuxfoundation.org> Cc: kstewart@linuxfoundation.org Cc: jhogan@kernel.org Cc: mark.rutland@arm.com Cc: ard.biesheuvel@linaro.org Cc: james.morse@arm.com Cc: linux-arm-kernel@lists.infradead.org Cc: openrisc@lists.librecores.org Link: https://lkml.kernel.org/r/20180622170126.6308-3-palmer@sifive.com
		
			
				
	
	
		
			49 lines
		
	
	
		
			891 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			49 lines
		
	
	
		
			891 B
		
	
	
	
		
			C
		
	
	
	
	
	
| /* SPDX-License-Identifier: GPL-2.0 */
 | |
| #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);
 | |
| 
 | |
| #ifdef CONFIG_SMP
 | |
| extern void arch_trigger_cpumask_backtrace(const cpumask_t *mask,
 | |
| 					   bool exclude_self);
 | |
| #define arch_trigger_cpumask_backtrace arch_trigger_cpumask_backtrace
 | |
| #endif
 | |
| 
 | |
| static inline int nr_legacy_irqs(void)
 | |
| {
 | |
| 	return NR_IRQS_LEGACY;
 | |
| }
 | |
| 
 | |
| #endif
 | |
| 
 | |
| #endif
 | |
| 
 |