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()
...
This commit is contained in:
33
include/linux/irqchip/metag-ext.h
Normal file
33
include/linux/irqchip/metag-ext.h
Normal file
@@ -0,0 +1,33 @@
|
||||
/*
|
||||
* Copyright (C) 2012 Imagination Technologies
|
||||
*/
|
||||
|
||||
#ifndef _LINUX_IRQCHIP_METAG_EXT_H_
|
||||
#define _LINUX_IRQCHIP_METAG_EXT_H_
|
||||
|
||||
struct irq_data;
|
||||
struct platform_device;
|
||||
|
||||
/* called from core irq code at init */
|
||||
int init_external_IRQ(void);
|
||||
|
||||
/*
|
||||
* called from SoC init_irq() callback to dynamically indicate the lack of
|
||||
* HWMASKEXT registers.
|
||||
*/
|
||||
void meta_intc_no_mask(void);
|
||||
|
||||
/*
|
||||
* These allow SoCs to specialise the interrupt controller from their init_irq
|
||||
* callbacks.
|
||||
*/
|
||||
|
||||
extern struct irq_chip meta_intc_edge_chip;
|
||||
extern struct irq_chip meta_intc_level_chip;
|
||||
|
||||
/* this should be called in the mask callback */
|
||||
void meta_intc_mask_irq_simple(struct irq_data *data);
|
||||
/* this should be called in the unmask callback */
|
||||
void meta_intc_unmask_irq_simple(struct irq_data *data);
|
||||
|
||||
#endif /* _LINUX_IRQCHIP_METAG_EXT_H_ */
|
||||
24
include/linux/irqchip/metag.h
Normal file
24
include/linux/irqchip/metag.h
Normal file
@@ -0,0 +1,24 @@
|
||||
/*
|
||||
* Copyright (C) 2011 Imagination Technologies
|
||||
*/
|
||||
|
||||
#ifndef _LINUX_IRQCHIP_METAG_H_
|
||||
#define _LINUX_IRQCHIP_METAG_H_
|
||||
|
||||
#include <linux/errno.h>
|
||||
|
||||
#ifdef CONFIG_METAG_PERFCOUNTER_IRQS
|
||||
extern int init_internal_IRQ(void);
|
||||
extern int internal_irq_map(unsigned int hw);
|
||||
#else
|
||||
static inline int init_internal_IRQ(void)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
static inline int internal_irq_map(unsigned int hw)
|
||||
{
|
||||
return -EINVAL;
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _LINUX_IRQCHIP_METAG_H_ */
|
||||
@@ -115,6 +115,8 @@ extern unsigned int kobjsize(const void *objp);
|
||||
# define VM_SAO VM_ARCH_1 /* Strong Access Ordering (powerpc) */
|
||||
#elif defined(CONFIG_PARISC)
|
||||
# define VM_GROWSUP VM_ARCH_1
|
||||
#elif defined(CONFIG_METAG)
|
||||
# define VM_GROWSUP VM_ARCH_1
|
||||
#elif defined(CONFIG_IA64)
|
||||
# define VM_GROWSUP VM_ARCH_1
|
||||
#elif !defined(CONFIG_MMU)
|
||||
|
||||
Reference in New Issue
Block a user