You need to sign in or sign up before continuing.
提交 ee8bc304 编写于 作者: H He Chuyue 提交者: guzitao

sw64: simplify do_entInt()

Sunway inclusion
category: feature
bugzilla: https://gitee.com/openeuler/kernel/issues/I56OLG

--------------------------------

It has already disabled interrupt in hmcode and it's unnecessary to
disable again in do_entInt(). This way, do_entInt() is a wrapper of
handle_chip_irq(), so simplify it.
Signed-off-by: NHe Chuyue <hechuyue@wxiat.com>
Signed-off-by: NGu Zitao <guzitao@wxiat.com>
上级 5ba15740
...@@ -656,8 +656,8 @@ static void handle_dev_int(struct pt_regs *regs) ...@@ -656,8 +656,8 @@ static void handle_dev_int(struct pt_regs *regs)
sw64_io_write(node, DEV_INT_CONFIG, config_val); sw64_io_write(node, DEV_INT_CONFIG, config_val);
} }
void handle_chip_irq(unsigned long type, unsigned long vector, asmlinkage void do_entInt(unsigned long type, unsigned long vector,
unsigned long irq_arg, struct pt_regs *regs) unsigned long irq_arg, struct pt_regs *regs)
{ {
struct pt_regs *old_regs; struct pt_regs *old_regs;
...@@ -738,6 +738,7 @@ void handle_chip_irq(unsigned long type, unsigned long vector, ...@@ -738,6 +738,7 @@ void handle_chip_irq(unsigned long type, unsigned long vector,
} }
pr_crit("PC = %016lx PS = %04lx\n", regs->pc, regs->ps); pr_crit("PC = %016lx PS = %04lx\n", regs->pc, regs->ps);
} }
EXPORT_SYMBOL(do_entInt);
/* /*
* Early fix up the chip3 Root Complex settings * Early fix up the chip3 Root Complex settings
......
...@@ -41,10 +41,8 @@ enum sw64_irq_type { ...@@ -41,10 +41,8 @@ enum sw64_irq_type {
extern struct irqaction timer_irqaction; extern struct irqaction timer_irqaction;
extern void init_rtc_irq(irq_handler_t handler); extern void init_rtc_irq(irq_handler_t handler);
extern void handle_irq(int irq); extern void handle_irq(int irq);
extern void handle_ipi(struct pt_regs *); extern void handle_ipi(struct pt_regs *regs);
extern void __init sw64_init_irq(void); extern void __init sw64_init_irq(void);
extern irqreturn_t timer_interrupt(int irq, void *dev); extern irqreturn_t timer_interrupt(int irq, void *dev);
extern void handle_chip_irq(unsigned long type, unsigned long vector,
unsigned long irq_arg, struct pt_regs *regs);
#endif #endif
...@@ -9,15 +9,6 @@ ...@@ -9,15 +9,6 @@
#include <asm/dma.h> #include <asm/dma.h>
#include <asm/irq_impl.h> #include <asm/irq_impl.h>
asmlinkage void
do_entInt(unsigned long type, unsigned long vector,
unsigned long irq_arg, struct pt_regs *regs)
{
local_irq_disable();
handle_chip_irq(type, vector, irq_arg, regs);
}
EXPORT_SYMBOL(do_entInt);
void __init void __init
init_IRQ(void) init_IRQ(void)
{ {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册