Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 367245
b: refs/heads/master
c: e851b58
h: refs/heads/master
i:
  367243: 463f607
v: v3
  • Loading branch information
Catalin Marinas committed Mar 26, 2013
1 parent e5ec5fc commit 66c5a5a
Show file tree
Hide file tree
Showing 5 changed files with 17 additions and 11 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: a9a193ffe51d036a7c2d30d7fbdb66498c688237
refs/heads/master: e851b58cb77b47a5c14267723bd6b76655d21840
1 change: 1 addition & 0 deletions trunk/arch/arm64/include/asm/exception.h
Original file line number Diff line number Diff line change
Expand Up @@ -19,5 +19,6 @@
#define __ASM_EXCEPTION_H

#define __exception __attribute__((section(".exception.text")))
#define __exception_irq_entry __exception

#endif /* __ASM_EXCEPTION_H */
5 changes: 5 additions & 0 deletions trunk/arch/arm64/include/asm/hardirq.h
Original file line number Diff line number Diff line change
Expand Up @@ -49,4 +49,9 @@ static inline void ack_bad_irq(unsigned int irq)

extern void handle_IRQ(unsigned int, struct pt_regs *);

/*
* No arch-specific IRQ flags.
*/
#define set_irq_flags(irq, flags)

#endif /* __ASM_HARDIRQ_H */
1 change: 1 addition & 0 deletions trunk/arch/arm64/include/asm/irq.h
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,6 @@
#include <asm-generic/irq.h>

extern void (*handle_arch_irq)(struct pt_regs *);
extern void set_handle_irq(void (*handle_irq)(struct pt_regs *));

#endif
19 changes: 9 additions & 10 deletions trunk/arch/arm64/kernel/irq.c
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
#include <linux/irq.h>
#include <linux/smp.h>
#include <linux/init.h>
#include <linux/of_irq.h>
#include <linux/irqchip.h>
#include <linux/seq_file.h>
#include <linux/ratelimit.h>

Expand Down Expand Up @@ -67,18 +67,17 @@ void handle_IRQ(unsigned int irq, struct pt_regs *regs)
set_irq_regs(old_regs);
}

/*
* Interrupt controllers supported by the kernel.
*/
static const struct of_device_id intctrl_of_match[] __initconst = {
/* IRQ controllers { .compatible, .data } info to go here */
{}
};
void __init set_handle_irq(void (*handle_irq)(struct pt_regs *))
{
if (handle_arch_irq)
return;

handle_arch_irq = handle_irq;
}

void __init init_IRQ(void)
{
of_irq_init(intctrl_of_match);

irqchip_init();
if (!handle_arch_irq)
panic("No interrupt controller found.");
}

0 comments on commit 66c5a5a

Please sign in to comment.