Browse Source

common: Move interrupt functions into a new header

These functions do not use driver model but are fairly widely used in
U-Boot. But it is not clear that they will use driver model anytime soon,
so we don't want to label them as 'legacy'.

Move them to a new irq_func.h header file. Avoid the name 'irq.h' since it
is widely used in U-Boot already.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Tom Rini <trini@konsulko.com>
Simon Glass 4 years ago
parent
commit
c30b7adbca
42 changed files with 60 additions and 7 deletions
  1. 1 0
      arch/arc/lib/interrupts.c
  2. 1 0
      arch/arm/lib/interrupts.c
  3. 1 0
      arch/arm/lib/interrupts_64.c
  4. 1 0
      arch/arm/lib/interrupts_m.c
  5. 1 0
      arch/m68k/cpu/mcf5227x/interrupts.c
  6. 1 0
      arch/m68k/cpu/mcf523x/interrupts.c
  7. 1 0
      arch/m68k/cpu/mcf52x2/interrupts.c
  8. 1 0
      arch/m68k/cpu/mcf530x/interrupts.c
  9. 1 0
      arch/m68k/cpu/mcf532x/interrupts.c
  10. 1 0
      arch/m68k/cpu/mcf5445x/interrupts.c
  11. 1 0
      arch/m68k/cpu/mcf547x_8x/interrupts.c
  12. 1 0
      arch/m68k/cpu/mcf547x_8x/slicetimer.c
  13. 1 0
      arch/m68k/lib/interrupts.c
  14. 1 0
      arch/m68k/lib/time.c
  15. 1 0
      arch/microblaze/cpu/interrupts.c
  16. 1 0
      arch/mips/cpu/interrupts.c
  17. 1 0
      arch/mips/mach-jz47xx/jz4780/timer.c
  18. 1 0
      arch/nds32/cpu/n1213/ag101/timer.c
  19. 1 0
      arch/nds32/lib/interrupts.c
  20. 1 0
      arch/nios2/cpu/interrupts.c
  21. 1 0
      arch/powerpc/cpu/mpc83xx/interrupts.c
  22. 1 0
      arch/powerpc/cpu/mpc85xx/interrupts.c
  23. 1 0
      arch/powerpc/cpu/mpc85xx/traps.c
  24. 1 0
      arch/powerpc/cpu/mpc86xx/interrupts.c
  25. 1 0
      arch/powerpc/cpu/mpc8xx/interrupts.c
  26. 1 0
      arch/powerpc/lib/interrupts.c
  27. 1 0
      arch/riscv/lib/interrupts.c
  28. 1 0
      arch/sandbox/lib/interrupts.c
  29. 1 0
      arch/sh/cpu/sh4/interrupts.c
  30. 1 0
      arch/x86/cpu/i386/interrupt.c
  31. 1 0
      arch/x86/cpu/x86_64/interrupts.c
  32. 1 0
      arch/x86/lib/bios.c
  33. 1 0
      arch/x86/lib/interrupts.c
  34. 1 0
      arch/x86/lib/spl.c
  35. 1 0
      arch/xtensa/cpu/exceptions.c
  36. 1 0
      common/board_r.c
  37. 1 0
      common/spl/spl.c
  38. 1 0
      drivers/mtd/cfi_flash.c
  39. 1 0
      drivers/timer/mpc83xx_timer.c
  40. 0 7
      include/common.h
  41. 2 0
      include/exports.h
  42. 19 0
      include/irq_func.h

+ 1 - 0
arch/arc/lib/interrupts.c

@@ -4,6 +4,7 @@
  */
 
 #include <common.h>
+#include <irq_func.h>
 #include <asm/arcregs.h>
 #include <asm/ptrace.h>
 

+ 1 - 0
arch/arm/lib/interrupts.c

@@ -20,6 +20,7 @@
 
 #include <common.h>
 #include <efi_loader.h>
+#include <irq_func.h>
 #include <asm/proc-armv/ptrace.h>
 #include <asm/u-boot-arm.h>
 

+ 1 - 0
arch/arm/lib/interrupts_64.c

@@ -5,6 +5,7 @@
  */
 
 #include <common.h>
+#include <irq_func.h>
 #include <linux/compiler.h>
 #include <efi_loader.h>
 

+ 1 - 0
arch/arm/lib/interrupts_m.c

@@ -5,6 +5,7 @@
  */
 
 #include <common.h>
+#include <irq_func.h>
 
 /*
  * Upon exception entry ARMv7-M processors automatically save stack

+ 1 - 0
arch/m68k/cpu/mcf5227x/interrupts.c

@@ -10,6 +10,7 @@
 
 /* CPU specific interrupt routine */
 #include <common.h>
+#include <irq_func.h>
 #include <asm/immap.h>
 #include <asm/io.h>
 

+ 1 - 0
arch/m68k/cpu/mcf523x/interrupts.c

@@ -7,6 +7,7 @@
 
 /* CPU specific interrupt routine */
 #include <common.h>
+#include <irq_func.h>
 #include <asm/immap.h>
 #include <asm/io.h>
 

+ 1 - 0
arch/m68k/cpu/mcf52x2/interrupts.c

@@ -8,6 +8,7 @@
  */
 
 #include <common.h>
+#include <irq_func.h>
 #include <watchdog.h>
 #include <asm/processor.h>
 #include <asm/immap.h>

+ 1 - 0
arch/m68k/cpu/mcf530x/interrupts.c

@@ -5,6 +5,7 @@
  */
 
 #include <common.h>
+#include <irq_func.h>
 #include <asm/immap.h>
 #include <asm/io.h>
 

+ 1 - 0
arch/m68k/cpu/mcf532x/interrupts.c

@@ -7,6 +7,7 @@
 
 /* CPU specific interrupt routine */
 #include <common.h>
+#include <irq_func.h>
 #include <asm/immap.h>
 #include <asm/io.h>
 

+ 1 - 0
arch/m68k/cpu/mcf5445x/interrupts.c

@@ -10,6 +10,7 @@
 
 /* CPU specific interrupt routine */
 #include <common.h>
+#include <irq_func.h>
 #include <asm/immap.h>
 #include <asm/io.h>
 

+ 1 - 0
arch/m68k/cpu/mcf547x_8x/interrupts.c

@@ -7,6 +7,7 @@
 
 /* CPU specific interrupt routine */
 #include <common.h>
+#include <irq_func.h>
 #include <asm/immap.h>
 #include <asm/io.h>
 

+ 1 - 0
arch/m68k/cpu/mcf547x_8x/slicetimer.c

@@ -5,6 +5,7 @@
  */
 
 #include <common.h>
+#include <irq_func.h>
 
 #include <asm/timer.h>
 #include <asm/immap.h>

+ 1 - 0
arch/m68k/lib/interrupts.c

@@ -8,6 +8,7 @@
  */
 
 #include <common.h>
+#include <irq_func.h>
 #include <watchdog.h>
 #include <asm/processor.h>
 #include <asm/immap.h>

+ 1 - 0
arch/m68k/lib/time.c

@@ -7,6 +7,7 @@
  */
 
 #include <common.h>
+#include <irq_func.h>
 #include <time.h>
 
 #include <asm/timer.h>

+ 1 - 0
arch/microblaze/cpu/interrupts.c

@@ -10,6 +10,7 @@
 #include <common.h>
 #include <command.h>
 #include <fdtdec.h>
+#include <irq_func.h>
 #include <malloc.h>
 #include <asm/microblaze_intc.h>
 #include <asm/asm.h>

+ 1 - 0
arch/mips/cpu/interrupts.c

@@ -5,6 +5,7 @@
  */
 
 #include <common.h>
+#include <irq_func.h>
 
 int interrupt_init(void)
 {

+ 1 - 0
arch/mips/mach-jz47xx/jz4780/timer.c

@@ -9,6 +9,7 @@
 #include <config.h>
 #include <common.h>
 #include <div64.h>
+#include <irq_func.h>
 #include <time.h>
 #include <asm/io.h>
 #include <asm/mipsregs.h>

+ 1 - 0
arch/nds32/cpu/n1213/ag101/timer.c

@@ -9,6 +9,7 @@
  */
 #ifndef CONFIG_TIMER
 #include <common.h>
+#include <irq_func.h>
 #include <time.h>
 #include <asm/io.h>
 #include <faraday/fttmr010.h>

+ 1 - 0
arch/nds32/lib/interrupts.c

@@ -10,6 +10,7 @@
  */
 
 #include <common.h>
+#include <irq_func.h>
 #include <asm/ptrace.h>
 #include <asm/system.h>
 #undef INTERRUPT_MODE

+ 1 - 0
arch/nios2/cpu/interrupts.c

@@ -9,6 +9,7 @@
 
 #include <common.h>
 #include <command.h>
+#include <irq_func.h>
 #include <asm/nios2.h>
 #include <asm/types.h>
 #include <asm/io.h>

+ 1 - 0
arch/powerpc/cpu/mpc83xx/interrupts.c

@@ -8,6 +8,7 @@
 
 #include <common.h>
 #include <command.h>
+#include <irq_func.h>
 #include <mpc83xx.h>
 #include <asm/processor.h>
 

+ 1 - 0
arch/powerpc/cpu/mpc85xx/interrupts.c

@@ -11,6 +11,7 @@
  */
 
 #include <common.h>
+#include <irq_func.h>
 #include <watchdog.h>
 #include <command.h>
 #include <asm/processor.h>

+ 1 - 0
arch/powerpc/cpu/mpc85xx/traps.c

@@ -21,6 +21,7 @@
 
 #include <common.h>
 #include <command.h>
+#include <irq_func.h>
 #include <kgdb.h>
 #include <asm/processor.h>
 

+ 1 - 0
arch/powerpc/cpu/mpc86xx/interrupts.c

@@ -15,6 +15,7 @@
  */
 
 #include <common.h>
+#include <irq_func.h>
 #include <mpc86xx.h>
 #include <command.h>
 #include <asm/processor.h>

+ 1 - 0
arch/powerpc/cpu/mpc8xx/interrupts.c

@@ -5,6 +5,7 @@
  */
 
 #include <common.h>
+#include <irq_func.h>
 #include <mpc8xx.h>
 #include <mpc8xx_irq.h>
 #include <asm/cpm_8xx.h>

+ 1 - 0
arch/powerpc/lib/interrupts.c

@@ -8,6 +8,7 @@
  */
 
 #include <common.h>
+#include <irq_func.h>
 #include <asm/processor.h>
 #include <watchdog.h>
 #ifdef CONFIG_LED_STATUS

+ 1 - 0
arch/riscv/lib/interrupts.c

@@ -8,6 +8,7 @@
  */
 
 #include <common.h>
+#include <irq_func.h>
 #include <asm/ptrace.h>
 #include <asm/system.h>
 #include <asm/encoding.h>

+ 1 - 0
arch/sandbox/lib/interrupts.c

@@ -6,6 +6,7 @@
  */
 
 #include <common.h>
+#include <irq_func.h>
 
 int interrupt_init(void)
 {

+ 1 - 0
arch/sh/cpu/sh4/interrupts.c

@@ -5,6 +5,7 @@
  */
 
 #include <common.h>
+#include <irq_func.h>
 
 int interrupt_init(void)
 {

+ 1 - 0
arch/x86/cpu/i386/interrupt.c

@@ -13,6 +13,7 @@
 #include <common.h>
 #include <dm.h>
 #include <efi_loader.h>
+#include <irq_func.h>
 #include <asm/control_regs.h>
 #include <asm/i8259.h>
 #include <asm/interrupt.h>

+ 1 - 0
arch/x86/cpu/x86_64/interrupts.c

@@ -5,6 +5,7 @@
  */
 
 #include <common.h>
+#include <irq_func.h>
 #include <asm/processor-flags.h>
 
 void enable_interrupts(void)

+ 1 - 0
arch/x86/lib/bios.c

@@ -7,6 +7,7 @@
  */
 #include <common.h>
 #include <bios_emul.h>
+#include <irq_func.h>
 #include <vbe.h>
 #include <linux/linkage.h>
 #include <asm/cache.h>

+ 1 - 0
arch/x86/lib/interrupts.c

@@ -30,6 +30,7 @@
  */
 
 #include <common.h>
+#include <irq_func.h>
 #include <asm/interrupt.h>
 
 #if !CONFIG_IS_ENABLED(X86_64)

+ 1 - 0
arch/x86/lib/spl.c

@@ -7,6 +7,7 @@
 #include <cpu_func.h>
 #include <debug_uart.h>
 #include <dm.h>
+#include <irq_func.h>
 #include <malloc.h>
 #include <spl.h>
 #include <syscon.h>

+ 1 - 0
arch/xtensa/cpu/exceptions.c

@@ -12,6 +12,7 @@
 
 #include <common.h>
 #include <command.h>
+#include <irq_func.h>
 #include <asm/string.h>
 #include <asm/regs.h>
 

+ 1 - 0
common/board_r.c

@@ -28,6 +28,7 @@
 #if defined(CONFIG_CMD_KGDB)
 #include <kgdb.h>
 #endif
+#include <irq_func.h>
 #include <malloc.h>
 #include <mapmem.h>
 #ifdef CONFIG_BITBANGMII

+ 1 - 0
common/spl/spl.c

@@ -11,6 +11,7 @@
 #include <binman_sym.h>
 #include <dm.h>
 #include <handoff.h>
+#include <irq_func.h>
 #include <serial.h>
 #include <spl.h>
 #include <asm/u-boot.h>

+ 1 - 0
drivers/mtd/cfi_flash.c

@@ -22,6 +22,7 @@
 #include <env.h>
 #include <errno.h>
 #include <fdt_support.h>
+#include <irq_func.h>
 #include <asm/processor.h>
 #include <asm/io.h>
 #include <asm/byteorder.h>

+ 1 - 0
drivers/timer/mpc83xx_timer.c

@@ -8,6 +8,7 @@
 #include <board.h>
 #include <clk.h>
 #include <dm.h>
+#include <irq_func.h>
 #include <status_led.h>
 #include <time.h>
 #include <timer.h>

+ 0 - 7
include/common.h

@@ -208,13 +208,6 @@ ulong	get_bus_freq  (ulong);
 int get_serial_clock(void);
 
 /* $(CPU)/interrupts.c */
-int	interrupt_init	   (void);
-void	timer_interrupt	   (struct pt_regs *);
-void	external_interrupt (struct pt_regs *);
-void	irq_install_handler(int, interrupt_handler_t *, void *);
-void	irq_free_handler   (int);
-void	reset_timer	   (void);
-
 void	enable_interrupts  (void);
 int	disable_interrupts (void);
 

+ 2 - 0
include/exports.h

@@ -1,6 +1,8 @@
 #ifndef __EXPORTS_H__
 #define __EXPORTS_H__
 
+#include <irq_func.h>
+
 #ifndef __ASSEMBLY__
 #ifdef CONFIG_PHY_AQUANTIA
 #include <env.h>

+ 19 - 0
include/irq_func.h

@@ -0,0 +1,19 @@
+/* SPDX-License-Identifier: GPL-2.0+ */
+/*
+ * Header file for interrupt functions
+ *
+ * (C) Copyright 2000-2009
+ * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
+ */
+
+#ifndef __IRQ_FUNC_H
+#define __IRQ_FUNC_H
+
+int interrupt_init(void);
+void timer_interrupt(struct pt_regs *regs);
+void external_interrupt(struct pt_regs *regs);
+void irq_install_handler (int vec, interrupt_handler_t *handler, void *arg);
+void irq_free_handler(int vec);
+void reset_timer(void);
+
+#endif