提交 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)
sw64_io_write(node, DEV_INT_CONFIG, config_val);
}
void handle_chip_irq(unsigned long type, unsigned long vector,
unsigned long irq_arg, struct pt_regs *regs)
asmlinkage void do_entInt(unsigned long type, unsigned long vector,
unsigned long irq_arg, struct pt_regs *regs)
{
struct pt_regs *old_regs;
......@@ -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);
}
EXPORT_SYMBOL(do_entInt);
/*
* Early fix up the chip3 Root Complex settings
......
......@@ -41,10 +41,8 @@ enum sw64_irq_type {
extern struct irqaction timer_irqaction;
extern void init_rtc_irq(irq_handler_t handler);
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 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
......@@ -9,15 +9,6 @@
#include <asm/dma.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
init_IRQ(void)
{
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册