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>
This commit is contained in:
Simon Glass 2019-11-14 12:57:41 -07:00 committed by Tom Rini
parent 9d3915b2df
commit c30b7adbca
42 changed files with 60 additions and 7 deletions

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -208,13 +208,6 @@ ulong get_bus_freq (ulong);
int get_serial_clock(void); int get_serial_clock(void);
/* $(CPU)/interrupts.c */ /* $(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); void enable_interrupts (void);
int disable_interrupts (void); int disable_interrupts (void);

View file

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

19
include/irq_func.h Normal file
View file

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