Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

MIPS: Select CONFIG_HANDLE_DOMAIN_IRQ and make it work.

Per the subject, always select HANDLE_DOMAIN_IRQ, and implement
set_irq_regs() so that it actually works.

Signed-off-by: David Daney <david.daney@cavium.com>
Cc: linux-mips@linux-mips.org
Cc: linux-kernel@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/12496/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>

authored by

David Daney and committed by
Ralf Baechle
1d2753a6 2253e0b9

+11
+1
arch/mips/Kconfig
··· 62 62 select HAVE_IRQ_TIME_ACCOUNTING 63 63 select GENERIC_TIME_VSYSCALL 64 64 select ARCH_CLOCKSOURCE_DATA 65 + select HANDLE_DOMAIN_IRQ 65 66 66 67 menu "Machine selection" 67 68
+10
arch/mips/include/asm/irq_regs.h
··· 18 18 return current_thread_info()->regs; 19 19 } 20 20 21 + static inline struct pt_regs *set_irq_regs(struct pt_regs *new_regs) 22 + { 23 + struct pt_regs *old_regs; 24 + 25 + old_regs = get_irq_regs(); 26 + current_thread_info()->regs = new_regs; 27 + 28 + return old_regs; 29 + } 30 + 21 31 #endif /* __ASM_IRQ_REGS_H */