diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2013-03-03 15:06:09 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-03-03 15:06:09 -0500 |
commit | 8fd5e7a2d9574b3cac1c9264ad1aed3b613ed6fe (patch) | |
tree | 5696f5d31c6c75b71bfc4852fb234b773e266cfe /include/linux/irqchip | |
parent | 529e5fbcd8d3cb48cf824ac8fde91cc80a9e985f (diff) | |
parent | c60ac31542e93499b58dcfc1e3f6550ba5b5728e (diff) |
Merge tag 'metag-v3.9-rc1-v4' of git://git.kernel.org/pub/scm/linux/kernel/git/jhogan/metag
Pull new ImgTec Meta architecture from James Hogan:
"This adds core architecture support for Imagination's Meta processor
cores, followed by some later miscellaneous arch/metag cleanups and
fixes which I kept separate to ease review:
- Support for basic Meta 1 (ATP) and Meta 2 (HTP) core architecture
- A few fixes all over, particularly for symbol prefixes
- A few privilege protection fixes
- Several cleanups (setup.c includes, split out a lot of
metag_ksyms.c)
- Fix some missing exports
- Convert hugetlb to use vm_unmapped_area()
- Copy device tree to non-init memory
- Provide dma_get_sgtable()"
* tag 'metag-v3.9-rc1-v4' of git://git.kernel.org/pub/scm/linux/kernel/git/jhogan/metag: (61 commits)
metag: Provide dma_get_sgtable()
metag: prom.h: remove declaration of metag_dt_memblock_reserve()
metag: copy devicetree to non-init memory
metag: cleanup metag_ksyms.c includes
metag: move mm/init.c exports out of metag_ksyms.c
metag: move usercopy.c exports out of metag_ksyms.c
metag: move setup.c exports out of metag_ksyms.c
metag: move kick.c exports out of metag_ksyms.c
metag: move traps.c exports out of metag_ksyms.c
metag: move irq enable out of irqflags.h on SMP
genksyms: fix metag symbol prefix on crc symbols
metag: hugetlb: convert to vm_unmapped_area()
metag: export clear_page and copy_page
metag: export metag_code_cache_flush_all
metag: protect more non-MMU memory regions
metag: make TXPRIVEXT bits explicit
metag: kernel/setup.c: sort includes
perf: Enable building perf tools for Meta
metag: add boot time LNKGET/LNKSET check
metag: add __init to metag_cache_probe()
...
Diffstat (limited to 'include/linux/irqchip')
-rw-r--r-- | include/linux/irqchip/metag-ext.h | 33 | ||||
-rw-r--r-- | include/linux/irqchip/metag.h | 24 |
2 files changed, 57 insertions, 0 deletions
diff --git a/include/linux/irqchip/metag-ext.h b/include/linux/irqchip/metag-ext.h new file mode 100644 index 000000000000..697af0fe7c5a --- /dev/null +++ b/include/linux/irqchip/metag-ext.h | |||
@@ -0,0 +1,33 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2012 Imagination Technologies | ||
3 | */ | ||
4 | |||
5 | #ifndef _LINUX_IRQCHIP_METAG_EXT_H_ | ||
6 | #define _LINUX_IRQCHIP_METAG_EXT_H_ | ||
7 | |||
8 | struct irq_data; | ||
9 | struct platform_device; | ||
10 | |||
11 | /* called from core irq code at init */ | ||
12 | int init_external_IRQ(void); | ||
13 | |||
14 | /* | ||
15 | * called from SoC init_irq() callback to dynamically indicate the lack of | ||
16 | * HWMASKEXT registers. | ||
17 | */ | ||
18 | void meta_intc_no_mask(void); | ||
19 | |||
20 | /* | ||
21 | * These allow SoCs to specialise the interrupt controller from their init_irq | ||
22 | * callbacks. | ||
23 | */ | ||
24 | |||
25 | extern struct irq_chip meta_intc_edge_chip; | ||
26 | extern struct irq_chip meta_intc_level_chip; | ||
27 | |||
28 | /* this should be called in the mask callback */ | ||
29 | void meta_intc_mask_irq_simple(struct irq_data *data); | ||
30 | /* this should be called in the unmask callback */ | ||
31 | void meta_intc_unmask_irq_simple(struct irq_data *data); | ||
32 | |||
33 | #endif /* _LINUX_IRQCHIP_METAG_EXT_H_ */ | ||
diff --git a/include/linux/irqchip/metag.h b/include/linux/irqchip/metag.h new file mode 100644 index 000000000000..4ebdfb3101ab --- /dev/null +++ b/include/linux/irqchip/metag.h | |||
@@ -0,0 +1,24 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2011 Imagination Technologies | ||
3 | */ | ||
4 | |||
5 | #ifndef _LINUX_IRQCHIP_METAG_H_ | ||
6 | #define _LINUX_IRQCHIP_METAG_H_ | ||
7 | |||
8 | #include <linux/errno.h> | ||
9 | |||
10 | #ifdef CONFIG_METAG_PERFCOUNTER_IRQS | ||
11 | extern int init_internal_IRQ(void); | ||
12 | extern int internal_irq_map(unsigned int hw); | ||
13 | #else | ||
14 | static inline int init_internal_IRQ(void) | ||
15 | { | ||
16 | return 0; | ||
17 | } | ||
18 | static inline int internal_irq_map(unsigned int hw) | ||
19 | { | ||
20 | return -EINVAL; | ||
21 | } | ||
22 | #endif | ||
23 | |||
24 | #endif /* _LINUX_IRQCHIP_METAG_H_ */ | ||