Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
kernel_linux
提交
4f5c1c04
K
kernel_linux
项目概览
OpenHarmony
/
kernel_linux
上一次同步 4 年多
通知
15
Star
8
Fork
2
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
K
kernel_linux
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
4f5c1c04
编写于
2月 11, 2013
作者:
O
Olof Johansson
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'irqchip/gic-vic-move' into next/virt
上级
37a42fca
9e47b8bf
变更
147
隐藏空白更改
内联
并排
Showing
147 changed file
with
338 addition
and
607 deletion
+338
-607
MAINTAINERS
MAINTAINERS
+1
-0
arch/arm/common/Kconfig
arch/arm/common/Kconfig
+0
-23
arch/arm/common/Makefile
arch/arm/common/Makefile
+0
-2
arch/arm/include/asm/mach/irq.h
arch/arm/include/asm/mach/irq.h
+1
-0
arch/arm/kernel/irq.c
arch/arm/kernel/irq.c
+10
-0
arch/arm/kernel/smp.c
arch/arm/kernel/smp.c
+2
-1
arch/arm/kernel/smp_twd.c
arch/arm/kernel/smp_twd.c
+0
-1
arch/arm/mach-bcm/board_bcm.c
arch/arm/mach-bcm/board_bcm.c
+2
-15
arch/arm/mach-cns3xxx/cns3420vb.c
arch/arm/mach-cns3xxx/cns3420vb.c
+0
-2
arch/arm/mach-cns3xxx/core.c
arch/arm/mach-cns3xxx/core.c
+1
-1
arch/arm/mach-ep93xx/adssphere.c
arch/arm/mach-ep93xx/adssphere.c
+0
-2
arch/arm/mach-ep93xx/core.c
arch/arm/mach-ep93xx/core.c
+1
-2
arch/arm/mach-ep93xx/edb93xx.c
arch/arm/mach-ep93xx/edb93xx.c
+0
-9
arch/arm/mach-ep93xx/gesbc9312.c
arch/arm/mach-ep93xx/gesbc9312.c
+0
-2
arch/arm/mach-ep93xx/micro9.c
arch/arm/mach-ep93xx/micro9.c
+0
-5
arch/arm/mach-ep93xx/simone.c
arch/arm/mach-ep93xx/simone.c
+0
-2
arch/arm/mach-ep93xx/snappercl15.c
arch/arm/mach-ep93xx/snappercl15.c
+0
-2
arch/arm/mach-ep93xx/ts72xx.c
arch/arm/mach-ep93xx/ts72xx.c
+0
-2
arch/arm/mach-ep93xx/vision_ep9307.c
arch/arm/mach-ep93xx/vision_ep9307.c
+0
-2
arch/arm/mach-exynos/common.c
arch/arm/mach-exynos/common.c
+6
-4
arch/arm/mach-exynos/include/mach/regs-irq.h
arch/arm/mach-exynos/include/mach/regs-irq.h
+1
-1
arch/arm/mach-exynos/mach-armlex4210.c
arch/arm/mach-exynos/mach-armlex4210.c
+0
-2
arch/arm/mach-exynos/mach-exynos4-dt.c
arch/arm/mach-exynos/mach-exynos4-dt.c
+0
-2
arch/arm/mach-exynos/mach-exynos5-dt.c
arch/arm/mach-exynos/mach-exynos5-dt.c
+0
-2
arch/arm/mach-exynos/mach-nuri.c
arch/arm/mach-exynos/mach-nuri.c
+0
-2
arch/arm/mach-exynos/mach-origen.c
arch/arm/mach-exynos/mach-origen.c
+0
-2
arch/arm/mach-exynos/mach-smdk4x12.c
arch/arm/mach-exynos/mach-smdk4x12.c
+0
-3
arch/arm/mach-exynos/mach-smdkv310.c
arch/arm/mach-exynos/mach-smdkv310.c
+0
-3
arch/arm/mach-exynos/mach-universal_c210.c
arch/arm/mach-exynos/mach-universal_c210.c
+0
-2
arch/arm/mach-exynos/mct.c
arch/arm/mach-exynos/mct.c
+0
-1
arch/arm/mach-exynos/platsmp.c
arch/arm/mach-exynos/platsmp.c
+2
-4
arch/arm/mach-highbank/highbank.c
arch/arm/mach-highbank/highbank.c
+2
-9
arch/arm/mach-highbank/platsmp.c
arch/arm/mach-highbank/platsmp.c
+2
-4
arch/arm/mach-imx/common.h
arch/arm/mach-imx/common.h
+0
-1
arch/arm/mach-imx/gpc.c
arch/arm/mach-imx/gpc.c
+1
-1
arch/arm/mach-imx/mach-imx6q.c
arch/arm/mach-imx/mach-imx6q.c
+2
-8
arch/arm/mach-imx/platsmp.c
arch/arm/mach-imx/platsmp.c
+1
-3
arch/arm/mach-msm/board-dt-8660.c
arch/arm/mach-msm/board-dt-8660.c
+2
-14
arch/arm/mach-msm/board-dt-8960.c
arch/arm/mach-msm/board-dt-8960.c
+2
-14
arch/arm/mach-msm/platsmp.c
arch/arm/mach-msm/platsmp.c
+2
-4
arch/arm/mach-msm/timer.c
arch/arm/mach-msm/timer.c
+0
-1
arch/arm/mach-netx/generic.c
arch/arm/mach-netx/generic.c
+1
-1
arch/arm/mach-netx/nxdb500.c
arch/arm/mach-netx/nxdb500.c
+0
-2
arch/arm/mach-netx/nxdkn.c
arch/arm/mach-netx/nxdkn.c
+0
-2
arch/arm/mach-netx/nxeb500hmi.c
arch/arm/mach-netx/nxeb500hmi.c
+0
-2
arch/arm/mach-nomadik/board-nhk8815.c
arch/arm/mach-nomadik/board-nhk8815.c
+0
-2
arch/arm/mach-nomadik/cpu-8815.c
arch/arm/mach-nomadik/cpu-8815.c
+1
-1
arch/arm/mach-omap2/board-4430sdp.c
arch/arm/mach-omap2/board-4430sdp.c
+1
-2
arch/arm/mach-omap2/board-generic.c
arch/arm/mach-omap2/board-generic.c
+0
-3
arch/arm/mach-omap2/board-omap4panda.c
arch/arm/mach-omap2/board-omap4panda.c
+1
-2
arch/arm/mach-omap2/omap-smp.c
arch/arm/mach-omap2/omap-smp.c
+2
-4
arch/arm/mach-omap2/omap-wakeupgen.c
arch/arm/mach-omap2/omap-wakeupgen.c
+1
-2
arch/arm/mach-omap2/omap4-common.c
arch/arm/mach-omap2/omap4-common.c
+3
-8
arch/arm/mach-picoxcell/common.c
arch/arm/mach-picoxcell/common.c
+2
-13
arch/arm/mach-realview/core.c
arch/arm/mach-realview/core.c
+0
-1
arch/arm/mach-realview/platsmp.c
arch/arm/mach-realview/platsmp.c
+0
-3
arch/arm/mach-realview/realview_eb.c
arch/arm/mach-realview/realview_eb.c
+1
-2
arch/arm/mach-realview/realview_pb1176.c
arch/arm/mach-realview/realview_pb1176.c
+1
-2
arch/arm/mach-realview/realview_pb11mp.c
arch/arm/mach-realview/realview_pb11mp.c
+1
-2
arch/arm/mach-realview/realview_pba8.c
arch/arm/mach-realview/realview_pba8.c
+1
-2
arch/arm/mach-realview/realview_pbx.c
arch/arm/mach-realview/realview_pbx.c
+1
-2
arch/arm/mach-s3c64xx/common.c
arch/arm/mach-s3c64xx/common.c
+1
-1
arch/arm/mach-s3c64xx/include/mach/regs-irq.h
arch/arm/mach-s3c64xx/include/mach/regs-irq.h
+0
-1
arch/arm/mach-s3c64xx/include/mach/tick.h
arch/arm/mach-s3c64xx/include/mach/tick.h
+2
-0
arch/arm/mach-s3c64xx/mach-anw6410.c
arch/arm/mach-s3c64xx/mach-anw6410.c
+0
-2
arch/arm/mach-s3c64xx/mach-crag6410.c
arch/arm/mach-s3c64xx/mach-crag6410.c
+0
-2
arch/arm/mach-s3c64xx/mach-hmt.c
arch/arm/mach-s3c64xx/mach-hmt.c
+0
-2
arch/arm/mach-s3c64xx/mach-mini6410.c
arch/arm/mach-s3c64xx/mach-mini6410.c
+0
-2
arch/arm/mach-s3c64xx/mach-ncp.c
arch/arm/mach-s3c64xx/mach-ncp.c
+0
-2
arch/arm/mach-s3c64xx/mach-real6410.c
arch/arm/mach-s3c64xx/mach-real6410.c
+0
-2
arch/arm/mach-s3c64xx/mach-smartq5.c
arch/arm/mach-s3c64xx/mach-smartq5.c
+0
-2
arch/arm/mach-s3c64xx/mach-smartq7.c
arch/arm/mach-s3c64xx/mach-smartq7.c
+0
-2
arch/arm/mach-s3c64xx/mach-smdk6400.c
arch/arm/mach-s3c64xx/mach-smdk6400.c
+0
-2
arch/arm/mach-s3c64xx/mach-smdk6410.c
arch/arm/mach-s3c64xx/mach-smdk6410.c
+0
-2
arch/arm/mach-s5p64x0/include/mach/regs-irq.h
arch/arm/mach-s5p64x0/include/mach/regs-irq.h
+0
-1
arch/arm/mach-s5p64x0/include/mach/tick.h
arch/arm/mach-s5p64x0/include/mach/tick.h
+0
-29
arch/arm/mach-s5p64x0/mach-smdk6440.c
arch/arm/mach-s5p64x0/mach-smdk6440.c
+0
-2
arch/arm/mach-s5p64x0/mach-smdk6450.c
arch/arm/mach-s5p64x0/mach-smdk6450.c
+0
-2
arch/arm/mach-s5pc100/include/mach/regs-irq.h
arch/arm/mach-s5pc100/include/mach/regs-irq.h
+0
-1
arch/arm/mach-s5pc100/include/mach/tick.h
arch/arm/mach-s5pc100/include/mach/tick.h
+2
-0
arch/arm/mach-s5pc100/mach-smdkc100.c
arch/arm/mach-s5pc100/mach-smdkc100.c
+0
-2
arch/arm/mach-s5pv210/include/mach/regs-irq.h
arch/arm/mach-s5pv210/include/mach/regs-irq.h
+0
-1
arch/arm/mach-s5pv210/include/mach/tick.h
arch/arm/mach-s5pv210/include/mach/tick.h
+0
-26
arch/arm/mach-s5pv210/mach-aquila.c
arch/arm/mach-s5pv210/mach-aquila.c
+0
-2
arch/arm/mach-s5pv210/mach-goni.c
arch/arm/mach-s5pv210/mach-goni.c
+0
-2
arch/arm/mach-s5pv210/mach-smdkc110.c
arch/arm/mach-s5pv210/mach-smdkc110.c
+0
-2
arch/arm/mach-s5pv210/mach-smdkv210.c
arch/arm/mach-s5pv210/mach-smdkv210.c
+0
-2
arch/arm/mach-s5pv210/mach-torbreck.c
arch/arm/mach-s5pv210/mach-torbreck.c
+0
-2
arch/arm/mach-shmobile/board-ag5evm.c
arch/arm/mach-shmobile/board-ag5evm.c
+1
-2
arch/arm/mach-shmobile/board-kota2.c
arch/arm/mach-shmobile/board-kota2.c
+1
-2
arch/arm/mach-shmobile/board-kzm9d.c
arch/arm/mach-shmobile/board-kzm9d.c
+0
-2
arch/arm/mach-shmobile/board-kzm9g.c
arch/arm/mach-shmobile/board-kzm9g.c
+1
-2
arch/arm/mach-shmobile/board-marzen.c
arch/arm/mach-shmobile/board-marzen.c
+0
-2
arch/arm/mach-shmobile/intc-r8a7779.c
arch/arm/mach-shmobile/intc-r8a7779.c
+1
-1
arch/arm/mach-shmobile/intc-sh73a0.c
arch/arm/mach-shmobile/intc-sh73a0.c
+1
-1
arch/arm/mach-shmobile/platsmp.c
arch/arm/mach-shmobile/platsmp.c
+0
-3
arch/arm/mach-shmobile/setup-emev2.c
arch/arm/mach-shmobile/setup-emev2.c
+3
-14
arch/arm/mach-shmobile/smp-emev2.c
arch/arm/mach-shmobile/smp-emev2.c
+2
-2
arch/arm/mach-shmobile/smp-r8a7779.c
arch/arm/mach-shmobile/smp-r8a7779.c
+1
-1
arch/arm/mach-shmobile/smp-sh73a0.c
arch/arm/mach-shmobile/smp-sh73a0.c
+1
-1
arch/arm/mach-socfpga/platsmp.c
arch/arm/mach-socfpga/platsmp.c
+1
-3
arch/arm/mach-socfpga/socfpga.c
arch/arm/mach-socfpga/socfpga.c
+4
-10
arch/arm/mach-spear13xx/include/mach/generic.h
arch/arm/mach-spear13xx/include/mach/generic.h
+0
-1
arch/arm/mach-spear13xx/platsmp.c
arch/arm/mach-spear13xx/platsmp.c
+1
-3
arch/arm/mach-spear13xx/spear1310.c
arch/arm/mach-spear13xx/spear1310.c
+2
-3
arch/arm/mach-spear13xx/spear1340.c
arch/arm/mach-spear13xx/spear1340.c
+2
-3
arch/arm/mach-spear13xx/spear13xx.c
arch/arm/mach-spear13xx/spear13xx.c
+1
-12
arch/arm/mach-spear3xx/include/mach/generic.h
arch/arm/mach-spear3xx/include/mach/generic.h
+0
-1
arch/arm/mach-spear3xx/spear300.c
arch/arm/mach-spear3xx/spear300.c
+2
-3
arch/arm/mach-spear3xx/spear310.c
arch/arm/mach-spear3xx/spear310.c
+2
-3
arch/arm/mach-spear3xx/spear320.c
arch/arm/mach-spear3xx/spear320.c
+2
-3
arch/arm/mach-spear3xx/spear3xx.c
arch/arm/mach-spear3xx/spear3xx.c
+0
-16
arch/arm/mach-spear6xx/spear6xx.c
arch/arm/mach-spear6xx/spear6xx.c
+2
-14
arch/arm/mach-sunxi/sunxi.c
arch/arm/mach-sunxi/sunxi.c
+0
-2
arch/arm/mach-tegra/board-dt-tegra20.c
arch/arm/mach-tegra/board-dt-tegra20.c
+0
-3
arch/arm/mach-tegra/board-dt-tegra30.c
arch/arm/mach-tegra/board-dt-tegra30.c
+0
-2
arch/arm/mach-tegra/common.c
arch/arm/mach-tegra/common.c
+2
-8
arch/arm/mach-tegra/irq.c
arch/arm/mach-tegra/irq.c
+1
-2
arch/arm/mach-tegra/platsmp.c
arch/arm/mach-tegra/platsmp.c
+1
-3
arch/arm/mach-u300/core.c
arch/arm/mach-u300/core.c
+1
-2
arch/arm/mach-ux500/board-mop500.c
arch/arm/mach-ux500/board-mop500.c
+0
-5
arch/arm/mach-ux500/cpu-db8500.c
arch/arm/mach-ux500/cpu-db8500.c
+0
-2
arch/arm/mach-ux500/cpu.c
arch/arm/mach-ux500/cpu.c
+3
-7
arch/arm/mach-ux500/platsmp.c
arch/arm/mach-ux500/platsmp.c
+2
-4
arch/arm/mach-versatile/core.c
arch/arm/mach-versatile/core.c
+1
-1
arch/arm/mach-versatile/versatile_ab.c
arch/arm/mach-versatile/versatile_ab.c
+0
-2
arch/arm/mach-versatile/versatile_dt.c
arch/arm/mach-versatile/versatile_dt.c
+0
-2
arch/arm/mach-versatile/versatile_pb.c
arch/arm/mach-versatile/versatile_pb.c
+0
-2
arch/arm/mach-vexpress/ct-ca9x4.c
arch/arm/mach-vexpress/ct-ca9x4.c
+1
-3
arch/arm/mach-vexpress/platsmp.c
arch/arm/mach-vexpress/platsmp.c
+0
-3
arch/arm/mach-vexpress/v2m.c
arch/arm/mach-vexpress/v2m.c
+2
-14
arch/arm/mach-zynq/common.c
arch/arm/mach-zynq/common.c
+1
-16
arch/arm/plat-samsung/s5p-irq-eint.c
arch/arm/plat-samsung/s5p-irq-eint.c
+1
-2
arch/arm/plat-samsung/s5p-irq.c
arch/arm/plat-samsung/s5p-irq.c
+1
-2
arch/arm/plat-versatile/platsmp.c
arch/arm/plat-versatile/platsmp.c
+2
-2
drivers/irqchip/Kconfig
drivers/irqchip/Kconfig
+27
-0
drivers/irqchip/Makefile
drivers/irqchip/Makefile
+5
-1
drivers/irqchip/irq-gic.c
drivers/irqchip/irq-gic.c
+36
-23
drivers/irqchip/irq-vic.c
drivers/irqchip/irq-vic.c
+60
-35
drivers/irqchip/irqchip.c
drivers/irqchip/irqchip.c
+30
-0
drivers/irqchip/irqchip.h
drivers/irqchip/irqchip.h
+29
-0
drivers/irqchip/spear-shirq.c
drivers/irqchip/spear-shirq.c
+5
-0
drivers/mfd/db8500-prcmu.c
drivers/mfd/db8500-prcmu.c
+1
-1
include/asm-generic/vmlinux.lds.h
include/asm-generic/vmlinux.lds.h
+11
-1
include/linux/irqchip.h
include/linux/irqchip.h
+16
-0
include/linux/irqchip/arm-gic.h
include/linux/irqchip/arm-gic.h
+3
-12
include/linux/irqchip/arm-vic.h
include/linux/irqchip/arm-vic.h
+2
-23
未找到文件。
MAINTAINERS
浏览文件 @
4f5c1c04
...
@@ -4216,6 +4216,7 @@ M: Thomas Gleixner <tglx@linutronix.de>
...
@@ -4216,6 +4216,7 @@ M: Thomas Gleixner <tglx@linutronix.de>
S: Maintained
S: Maintained
T: git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git irq/core
T: git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git irq/core
F: kernel/irq/
F: kernel/irq/
F: drivers/irqchip/
IRQ DOMAINS (IRQ NUMBER MAPPING LIBRARY)
IRQ DOMAINS (IRQ NUMBER MAPPING LIBRARY)
M: Benjamin Herrenschmidt <benh@kernel.crashing.org>
M: Benjamin Herrenschmidt <benh@kernel.crashing.org>
...
...
arch/arm/common/Kconfig
浏览文件 @
4f5c1c04
config ARM_GIC
bool
select IRQ_DOMAIN
select MULTI_IRQ_HANDLER
config GIC_NON_BANKED
bool
config ARM_VIC
bool
select IRQ_DOMAIN
select MULTI_IRQ_HANDLER
config ARM_VIC_NR
int
default 4 if ARCH_S5PV210
default 3 if ARCH_S5PC100
default 2
depends on ARM_VIC
help
The maximum number of VICs available in the system, for
power management.
config ICST
config ICST
bool
bool
...
...
arch/arm/common/Makefile
浏览文件 @
4f5c1c04
...
@@ -2,8 +2,6 @@
...
@@ -2,8 +2,6 @@
# Makefile for the linux kernel.
# Makefile for the linux kernel.
#
#
obj-$(CONFIG_ARM_GIC)
+=
gic.o
obj-$(CONFIG_ARM_VIC)
+=
vic.o
obj-$(CONFIG_ICST)
+=
icst.o
obj-$(CONFIG_ICST)
+=
icst.o
obj-$(CONFIG_SA1111)
+=
sa1111.o
obj-$(CONFIG_SA1111)
+=
sa1111.o
obj-$(CONFIG_PCI_HOST_VIA82C505)
+=
via82c505.o
obj-$(CONFIG_PCI_HOST_VIA82C505)
+=
via82c505.o
...
...
arch/arm/include/asm/mach/irq.h
浏览文件 @
4f5c1c04
...
@@ -22,6 +22,7 @@ extern int show_fiq_list(struct seq_file *, int);
...
@@ -22,6 +22,7 @@ extern int show_fiq_list(struct seq_file *, int);
#ifdef CONFIG_MULTI_IRQ_HANDLER
#ifdef CONFIG_MULTI_IRQ_HANDLER
extern
void
(
*
handle_arch_irq
)(
struct
pt_regs
*
);
extern
void
(
*
handle_arch_irq
)(
struct
pt_regs
*
);
extern
void
set_handle_irq
(
void
(
*
handle_irq
)(
struct
pt_regs
*
));
#endif
#endif
/*
/*
...
...
arch/arm/kernel/irq.c
浏览文件 @
4f5c1c04
...
@@ -117,6 +117,16 @@ void __init init_IRQ(void)
...
@@ -117,6 +117,16 @@ void __init init_IRQ(void)
machine_desc
->
init_irq
();
machine_desc
->
init_irq
();
}
}
#ifdef CONFIG_MULTI_IRQ_HANDLER
void
__init
set_handle_irq
(
void
(
*
handle_irq
)(
struct
pt_regs
*
))
{
if
(
handle_arch_irq
)
return
;
handle_arch_irq
=
handle_irq
;
}
#endif
#ifdef CONFIG_SPARSE_IRQ
#ifdef CONFIG_SPARSE_IRQ
int
__init
arch_probe_nr_irqs
(
void
)
int
__init
arch_probe_nr_irqs
(
void
)
{
{
...
...
arch/arm/kernel/smp.c
浏览文件 @
4f5c1c04
...
@@ -416,7 +416,8 @@ static void (*smp_cross_call)(const struct cpumask *, unsigned int);
...
@@ -416,7 +416,8 @@ static void (*smp_cross_call)(const struct cpumask *, unsigned int);
void
__init
set_smp_cross_call
(
void
(
*
fn
)(
const
struct
cpumask
*
,
unsigned
int
))
void
__init
set_smp_cross_call
(
void
(
*
fn
)(
const
struct
cpumask
*
,
unsigned
int
))
{
{
smp_cross_call
=
fn
;
if
(
!
smp_cross_call
)
smp_cross_call
=
fn
;
}
}
void
arch_send_call_function_ipi_mask
(
const
struct
cpumask
*
mask
)
void
arch_send_call_function_ipi_mask
(
const
struct
cpumask
*
mask
)
...
...
arch/arm/kernel/smp_twd.c
浏览文件 @
4f5c1c04
...
@@ -24,7 +24,6 @@
...
@@ -24,7 +24,6 @@
#include <asm/smp_twd.h>
#include <asm/smp_twd.h>
#include <asm/localtimer.h>
#include <asm/localtimer.h>
#include <asm/hardware/gic.h>
/* set up by the platform code */
/* set up by the platform code */
static
void
__iomem
*
twd_base
;
static
void
__iomem
*
twd_base
;
...
...
arch/arm/mach-bcm/board_bcm.c
浏览文件 @
4f5c1c04
...
@@ -11,22 +11,15 @@
...
@@ -11,22 +11,15 @@
* GNU General Public License for more details.
* GNU General Public License for more details.
*/
*/
#include <linux/of_irq.h>
#include <linux/of_platform.h>
#include <linux/of_platform.h>
#include <linux/init.h>
#include <linux/init.h>
#include <linux/device.h>
#include <linux/device.h>
#include <linux/platform_device.h>
#include <linux/platform_device.h>
#include <linux/irqchip.h>
#include <asm/mach/arch.h>
#include <asm/mach/arch.h>
#include <asm/hardware/gic.h>
#include <asm/mach/time.h>
#include <asm/mach/time.h>
static
const
struct
of_device_id
irq_match
[]
=
{
{.
compatible
=
"arm,cortex-a9-gic"
,
.
data
=
gic_of_init
,
},
{}
};
static
void
timer_init
(
void
)
static
void
timer_init
(
void
)
{
{
}
}
...
@@ -35,11 +28,6 @@ static struct sys_timer timer = {
...
@@ -35,11 +28,6 @@ static struct sys_timer timer = {
.
init
=
timer_init
,
.
init
=
timer_init
,
};
};
static
void
__init
init_irq
(
void
)
{
of_irq_init
(
irq_match
);
}
static
void
__init
board_init
(
void
)
static
void
__init
board_init
(
void
)
{
{
of_platform_populate
(
NULL
,
of_default_bus_match_table
,
NULL
,
of_platform_populate
(
NULL
,
of_default_bus_match_table
,
NULL
,
...
@@ -49,9 +37,8 @@ static void __init board_init(void)
...
@@ -49,9 +37,8 @@ static void __init board_init(void)
static
const
char
*
const
bcm11351_dt_compat
[]
=
{
"bcm,bcm11351"
,
NULL
,
};
static
const
char
*
const
bcm11351_dt_compat
[]
=
{
"bcm,bcm11351"
,
NULL
,
};
DT_MACHINE_START
(
BCM11351_DT
,
"Broadcom Application Processor"
)
DT_MACHINE_START
(
BCM11351_DT
,
"Broadcom Application Processor"
)
.
init_irq
=
i
nit_irq
,
.
init_irq
=
i
rqchip_init
,
.
timer
=
&
timer
,
.
timer
=
&
timer
,
.
init_machine
=
board_init
,
.
init_machine
=
board_init
,
.
dt_compat
=
bcm11351_dt_compat
,
.
dt_compat
=
bcm11351_dt_compat
,
.
handle_irq
=
gic_handle_irq
,
MACHINE_END
MACHINE_END
arch/arm/mach-cns3xxx/cns3420vb.c
浏览文件 @
4f5c1c04
...
@@ -28,7 +28,6 @@
...
@@ -28,7 +28,6 @@
#include <linux/usb/ohci_pdriver.h>
#include <linux/usb/ohci_pdriver.h>
#include <asm/setup.h>
#include <asm/setup.h>
#include <asm/mach-types.h>
#include <asm/mach-types.h>
#include <asm/hardware/gic.h>
#include <asm/mach/arch.h>
#include <asm/mach/arch.h>
#include <asm/mach/map.h>
#include <asm/mach/map.h>
#include <asm/mach/time.h>
#include <asm/mach/time.h>
...
@@ -251,7 +250,6 @@ MACHINE_START(CNS3420VB, "Cavium Networks CNS3420 Validation Board")
...
@@ -251,7 +250,6 @@ MACHINE_START(CNS3420VB, "Cavium Networks CNS3420 Validation Board")
.
map_io
=
cns3420_map_io
,
.
map_io
=
cns3420_map_io
,
.
init_irq
=
cns3xxx_init_irq
,
.
init_irq
=
cns3xxx_init_irq
,
.
timer
=
&
cns3xxx_timer
,
.
timer
=
&
cns3xxx_timer
,
.
handle_irq
=
gic_handle_irq
,
.
init_machine
=
cns3420_init
,
.
init_machine
=
cns3420_init
,
.
restart
=
cns3xxx_restart
,
.
restart
=
cns3xxx_restart
,
MACHINE_END
MACHINE_END
arch/arm/mach-cns3xxx/core.c
浏览文件 @
4f5c1c04
...
@@ -12,10 +12,10 @@
...
@@ -12,10 +12,10 @@
#include <linux/interrupt.h>
#include <linux/interrupt.h>
#include <linux/clockchips.h>
#include <linux/clockchips.h>
#include <linux/io.h>
#include <linux/io.h>
#include <linux/irqchip/arm-gic.h>
#include <asm/mach/map.h>
#include <asm/mach/map.h>
#include <asm/mach/time.h>
#include <asm/mach/time.h>
#include <asm/mach/irq.h>
#include <asm/mach/irq.h>
#include <asm/hardware/gic.h>
#include <asm/hardware/cache-l2x0.h>
#include <asm/hardware/cache-l2x0.h>
#include <mach/cns3xxx.h>
#include <mach/cns3xxx.h>
#include "core.h"
#include "core.h"
...
...
arch/arm/mach-ep93xx/adssphere.c
浏览文件 @
4f5c1c04
...
@@ -17,7 +17,6 @@
...
@@ -17,7 +17,6 @@
#include <mach/hardware.h>
#include <mach/hardware.h>
#include <asm/hardware/vic.h>
#include <asm/mach-types.h>
#include <asm/mach-types.h>
#include <asm/mach/arch.h>
#include <asm/mach/arch.h>
...
@@ -39,7 +38,6 @@ MACHINE_START(ADSSPHERE, "ADS Sphere board")
...
@@ -39,7 +38,6 @@ MACHINE_START(ADSSPHERE, "ADS Sphere board")
.
atag_offset
=
0x100
,
.
atag_offset
=
0x100
,
.
map_io
=
ep93xx_map_io
,
.
map_io
=
ep93xx_map_io
,
.
init_irq
=
ep93xx_init_irq
,
.
init_irq
=
ep93xx_init_irq
,
.
handle_irq
=
vic_handle_irq
,
.
timer
=
&
ep93xx_timer
,
.
timer
=
&
ep93xx_timer
,
.
init_machine
=
adssphere_init_machine
,
.
init_machine
=
adssphere_init_machine
,
.
init_late
=
ep93xx_init_late
,
.
init_late
=
ep93xx_init_late
,
...
...
arch/arm/mach-ep93xx/core.c
浏览文件 @
4f5c1c04
...
@@ -34,6 +34,7 @@
...
@@ -34,6 +34,7 @@
#include <linux/i2c-gpio.h>
#include <linux/i2c-gpio.h>
#include <linux/spi/spi.h>
#include <linux/spi/spi.h>
#include <linux/export.h>
#include <linux/export.h>
#include <linux/irqchip/arm-vic.h>
#include <mach/hardware.h>
#include <mach/hardware.h>
#include <linux/platform_data/video-ep93xx.h>
#include <linux/platform_data/video-ep93xx.h>
...
@@ -44,8 +45,6 @@
...
@@ -44,8 +45,6 @@
#include <asm/mach/map.h>
#include <asm/mach/map.h>
#include <asm/mach/time.h>
#include <asm/mach/time.h>
#include <asm/hardware/vic.h>
#include "soc.h"
#include "soc.h"
/*************************************************************************
/*************************************************************************
...
...
arch/arm/mach-ep93xx/edb93xx.c
浏览文件 @
4f5c1c04
...
@@ -39,7 +39,6 @@
...
@@ -39,7 +39,6 @@
#include <linux/platform_data/spi-ep93xx.h>
#include <linux/platform_data/spi-ep93xx.h>
#include <mach/gpio-ep93xx.h>
#include <mach/gpio-ep93xx.h>
#include <asm/hardware/vic.h>
#include <asm/mach-types.h>
#include <asm/mach-types.h>
#include <asm/mach/arch.h>
#include <asm/mach/arch.h>
...
@@ -276,7 +275,6 @@ MACHINE_START(EDB9301, "Cirrus Logic EDB9301 Evaluation Board")
...
@@ -276,7 +275,6 @@ MACHINE_START(EDB9301, "Cirrus Logic EDB9301 Evaluation Board")
.
atag_offset
=
0x100
,
.
atag_offset
=
0x100
,
.
map_io
=
ep93xx_map_io
,
.
map_io
=
ep93xx_map_io
,
.
init_irq
=
ep93xx_init_irq
,
.
init_irq
=
ep93xx_init_irq
,
.
handle_irq
=
vic_handle_irq
,
.
timer
=
&
ep93xx_timer
,
.
timer
=
&
ep93xx_timer
,
.
init_machine
=
edb93xx_init_machine
,
.
init_machine
=
edb93xx_init_machine
,
.
init_late
=
ep93xx_init_late
,
.
init_late
=
ep93xx_init_late
,
...
@@ -290,7 +288,6 @@ MACHINE_START(EDB9302, "Cirrus Logic EDB9302 Evaluation Board")
...
@@ -290,7 +288,6 @@ MACHINE_START(EDB9302, "Cirrus Logic EDB9302 Evaluation Board")
.
atag_offset
=
0x100
,
.
atag_offset
=
0x100
,
.
map_io
=
ep93xx_map_io
,
.
map_io
=
ep93xx_map_io
,
.
init_irq
=
ep93xx_init_irq
,
.
init_irq
=
ep93xx_init_irq
,
.
handle_irq
=
vic_handle_irq
,
.
timer
=
&
ep93xx_timer
,
.
timer
=
&
ep93xx_timer
,
.
init_machine
=
edb93xx_init_machine
,
.
init_machine
=
edb93xx_init_machine
,
.
init_late
=
ep93xx_init_late
,
.
init_late
=
ep93xx_init_late
,
...
@@ -304,7 +301,6 @@ MACHINE_START(EDB9302A, "Cirrus Logic EDB9302A Evaluation Board")
...
@@ -304,7 +301,6 @@ MACHINE_START(EDB9302A, "Cirrus Logic EDB9302A Evaluation Board")
.
atag_offset
=
0x100
,
.
atag_offset
=
0x100
,
.
map_io
=
ep93xx_map_io
,
.
map_io
=
ep93xx_map_io
,
.
init_irq
=
ep93xx_init_irq
,
.
init_irq
=
ep93xx_init_irq
,
.
handle_irq
=
vic_handle_irq
,
.
timer
=
&
ep93xx_timer
,
.
timer
=
&
ep93xx_timer
,
.
init_machine
=
edb93xx_init_machine
,
.
init_machine
=
edb93xx_init_machine
,
.
init_late
=
ep93xx_init_late
,
.
init_late
=
ep93xx_init_late
,
...
@@ -318,7 +314,6 @@ MACHINE_START(EDB9307, "Cirrus Logic EDB9307 Evaluation Board")
...
@@ -318,7 +314,6 @@ MACHINE_START(EDB9307, "Cirrus Logic EDB9307 Evaluation Board")
.
atag_offset
=
0x100
,
.
atag_offset
=
0x100
,
.
map_io
=
ep93xx_map_io
,
.
map_io
=
ep93xx_map_io
,
.
init_irq
=
ep93xx_init_irq
,
.
init_irq
=
ep93xx_init_irq
,
.
handle_irq
=
vic_handle_irq
,
.
timer
=
&
ep93xx_timer
,
.
timer
=
&
ep93xx_timer
,
.
init_machine
=
edb93xx_init_machine
,
.
init_machine
=
edb93xx_init_machine
,
.
init_late
=
ep93xx_init_late
,
.
init_late
=
ep93xx_init_late
,
...
@@ -332,7 +327,6 @@ MACHINE_START(EDB9307A, "Cirrus Logic EDB9307A Evaluation Board")
...
@@ -332,7 +327,6 @@ MACHINE_START(EDB9307A, "Cirrus Logic EDB9307A Evaluation Board")
.
atag_offset
=
0x100
,
.
atag_offset
=
0x100
,
.
map_io
=
ep93xx_map_io
,
.
map_io
=
ep93xx_map_io
,
.
init_irq
=
ep93xx_init_irq
,
.
init_irq
=
ep93xx_init_irq
,
.
handle_irq
=
vic_handle_irq
,
.
timer
=
&
ep93xx_timer
,
.
timer
=
&
ep93xx_timer
,
.
init_machine
=
edb93xx_init_machine
,
.
init_machine
=
edb93xx_init_machine
,
.
init_late
=
ep93xx_init_late
,
.
init_late
=
ep93xx_init_late
,
...
@@ -346,7 +340,6 @@ MACHINE_START(EDB9312, "Cirrus Logic EDB9312 Evaluation Board")
...
@@ -346,7 +340,6 @@ MACHINE_START(EDB9312, "Cirrus Logic EDB9312 Evaluation Board")
.
atag_offset
=
0x100
,
.
atag_offset
=
0x100
,
.
map_io
=
ep93xx_map_io
,
.
map_io
=
ep93xx_map_io
,
.
init_irq
=
ep93xx_init_irq
,
.
init_irq
=
ep93xx_init_irq
,
.
handle_irq
=
vic_handle_irq
,
.
timer
=
&
ep93xx_timer
,
.
timer
=
&
ep93xx_timer
,
.
init_machine
=
edb93xx_init_machine
,
.
init_machine
=
edb93xx_init_machine
,
.
init_late
=
ep93xx_init_late
,
.
init_late
=
ep93xx_init_late
,
...
@@ -360,7 +353,6 @@ MACHINE_START(EDB9315, "Cirrus Logic EDB9315 Evaluation Board")
...
@@ -360,7 +353,6 @@ MACHINE_START(EDB9315, "Cirrus Logic EDB9315 Evaluation Board")
.
atag_offset
=
0x100
,
.
atag_offset
=
0x100
,
.
map_io
=
ep93xx_map_io
,
.
map_io
=
ep93xx_map_io
,
.
init_irq
=
ep93xx_init_irq
,
.
init_irq
=
ep93xx_init_irq
,
.
handle_irq
=
vic_handle_irq
,
.
timer
=
&
ep93xx_timer
,
.
timer
=
&
ep93xx_timer
,
.
init_machine
=
edb93xx_init_machine
,
.
init_machine
=
edb93xx_init_machine
,
.
init_late
=
ep93xx_init_late
,
.
init_late
=
ep93xx_init_late
,
...
@@ -374,7 +366,6 @@ MACHINE_START(EDB9315A, "Cirrus Logic EDB9315A Evaluation Board")
...
@@ -374,7 +366,6 @@ MACHINE_START(EDB9315A, "Cirrus Logic EDB9315A Evaluation Board")
.
atag_offset
=
0x100
,
.
atag_offset
=
0x100
,
.
map_io
=
ep93xx_map_io
,
.
map_io
=
ep93xx_map_io
,
.
init_irq
=
ep93xx_init_irq
,
.
init_irq
=
ep93xx_init_irq
,
.
handle_irq
=
vic_handle_irq
,
.
timer
=
&
ep93xx_timer
,
.
timer
=
&
ep93xx_timer
,
.
init_machine
=
edb93xx_init_machine
,
.
init_machine
=
edb93xx_init_machine
,
.
init_late
=
ep93xx_init_late
,
.
init_late
=
ep93xx_init_late
,
...
...
arch/arm/mach-ep93xx/gesbc9312.c
浏览文件 @
4f5c1c04
...
@@ -17,7 +17,6 @@
...
@@ -17,7 +17,6 @@
#include <mach/hardware.h>
#include <mach/hardware.h>
#include <asm/hardware/vic.h>
#include <asm/mach-types.h>
#include <asm/mach-types.h>
#include <asm/mach/arch.h>
#include <asm/mach/arch.h>
...
@@ -39,7 +38,6 @@ MACHINE_START(GESBC9312, "Glomation GESBC-9312-sx")
...
@@ -39,7 +38,6 @@ MACHINE_START(GESBC9312, "Glomation GESBC-9312-sx")
.
atag_offset
=
0x100
,
.
atag_offset
=
0x100
,
.
map_io
=
ep93xx_map_io
,
.
map_io
=
ep93xx_map_io
,
.
init_irq
=
ep93xx_init_irq
,
.
init_irq
=
ep93xx_init_irq
,
.
handle_irq
=
vic_handle_irq
,
.
timer
=
&
ep93xx_timer
,
.
timer
=
&
ep93xx_timer
,
.
init_machine
=
gesbc9312_init_machine
,
.
init_machine
=
gesbc9312_init_machine
,
.
init_late
=
ep93xx_init_late
,
.
init_late
=
ep93xx_init_late
,
...
...
arch/arm/mach-ep93xx/micro9.c
浏览文件 @
4f5c1c04
...
@@ -18,7 +18,6 @@
...
@@ -18,7 +18,6 @@
#include <mach/hardware.h>
#include <mach/hardware.h>
#include <asm/hardware/vic.h>
#include <asm/mach-types.h>
#include <asm/mach-types.h>
#include <asm/mach/arch.h>
#include <asm/mach/arch.h>
...
@@ -82,7 +81,6 @@ MACHINE_START(MICRO9, "Contec Micro9-High")
...
@@ -82,7 +81,6 @@ MACHINE_START(MICRO9, "Contec Micro9-High")
.
atag_offset
=
0x100
,
.
atag_offset
=
0x100
,
.
map_io
=
ep93xx_map_io
,
.
map_io
=
ep93xx_map_io
,
.
init_irq
=
ep93xx_init_irq
,
.
init_irq
=
ep93xx_init_irq
,
.
handle_irq
=
vic_handle_irq
,
.
timer
=
&
ep93xx_timer
,
.
timer
=
&
ep93xx_timer
,
.
init_machine
=
micro9_init_machine
,
.
init_machine
=
micro9_init_machine
,
.
init_late
=
ep93xx_init_late
,
.
init_late
=
ep93xx_init_late
,
...
@@ -96,7 +94,6 @@ MACHINE_START(MICRO9M, "Contec Micro9-Mid")
...
@@ -96,7 +94,6 @@ MACHINE_START(MICRO9M, "Contec Micro9-Mid")
.
atag_offset
=
0x100
,
.
atag_offset
=
0x100
,
.
map_io
=
ep93xx_map_io
,
.
map_io
=
ep93xx_map_io
,
.
init_irq
=
ep93xx_init_irq
,
.
init_irq
=
ep93xx_init_irq
,
.
handle_irq
=
vic_handle_irq
,
.
timer
=
&
ep93xx_timer
,
.
timer
=
&
ep93xx_timer
,
.
init_machine
=
micro9_init_machine
,
.
init_machine
=
micro9_init_machine
,
.
init_late
=
ep93xx_init_late
,
.
init_late
=
ep93xx_init_late
,
...
@@ -110,7 +107,6 @@ MACHINE_START(MICRO9L, "Contec Micro9-Lite")
...
@@ -110,7 +107,6 @@ MACHINE_START(MICRO9L, "Contec Micro9-Lite")
.
atag_offset
=
0x100
,
.
atag_offset
=
0x100
,
.
map_io
=
ep93xx_map_io
,
.
map_io
=
ep93xx_map_io
,
.
init_irq
=
ep93xx_init_irq
,
.
init_irq
=
ep93xx_init_irq
,
.
handle_irq
=
vic_handle_irq
,
.
timer
=
&
ep93xx_timer
,
.
timer
=
&
ep93xx_timer
,
.
init_machine
=
micro9_init_machine
,
.
init_machine
=
micro9_init_machine
,
.
init_late
=
ep93xx_init_late
,
.
init_late
=
ep93xx_init_late
,
...
@@ -124,7 +120,6 @@ MACHINE_START(MICRO9S, "Contec Micro9-Slim")
...
@@ -124,7 +120,6 @@ MACHINE_START(MICRO9S, "Contec Micro9-Slim")
.
atag_offset
=
0x100
,
.
atag_offset
=
0x100
,
.
map_io
=
ep93xx_map_io
,
.
map_io
=
ep93xx_map_io
,
.
init_irq
=
ep93xx_init_irq
,
.
init_irq
=
ep93xx_init_irq
,
.
handle_irq
=
vic_handle_irq
,
.
timer
=
&
ep93xx_timer
,
.
timer
=
&
ep93xx_timer
,
.
init_machine
=
micro9_init_machine
,
.
init_machine
=
micro9_init_machine
,
.
init_late
=
ep93xx_init_late
,
.
init_late
=
ep93xx_init_late
,
...
...
arch/arm/mach-ep93xx/simone.c
浏览文件 @
4f5c1c04
...
@@ -25,7 +25,6 @@
...
@@ -25,7 +25,6 @@
#include <linux/platform_data/video-ep93xx.h>
#include <linux/platform_data/video-ep93xx.h>
#include <mach/gpio-ep93xx.h>
#include <mach/gpio-ep93xx.h>
#include <asm/hardware/vic.h>
#include <asm/mach-types.h>
#include <asm/mach-types.h>
#include <asm/mach/arch.h>
#include <asm/mach/arch.h>
...
@@ -83,7 +82,6 @@ MACHINE_START(SIM_ONE, "Simplemachines Sim.One Board")
...
@@ -83,7 +82,6 @@ MACHINE_START(SIM_ONE, "Simplemachines Sim.One Board")
.
atag_offset
=
0x100
,
.
atag_offset
=
0x100
,
.
map_io
=
ep93xx_map_io
,
.
map_io
=
ep93xx_map_io
,
.
init_irq
=
ep93xx_init_irq
,
.
init_irq
=
ep93xx_init_irq
,
.
handle_irq
=
vic_handle_irq
,
.
timer
=
&
ep93xx_timer
,
.
timer
=
&
ep93xx_timer
,
.
init_machine
=
simone_init_machine
,
.
init_machine
=
simone_init_machine
,
.
init_late
=
ep93xx_init_late
,
.
init_late
=
ep93xx_init_late
,
...
...
arch/arm/mach-ep93xx/snappercl15.c
浏览文件 @
4f5c1c04
...
@@ -31,7 +31,6 @@
...
@@ -31,7 +31,6 @@
#include <linux/platform_data/video-ep93xx.h>
#include <linux/platform_data/video-ep93xx.h>
#include <mach/gpio-ep93xx.h>
#include <mach/gpio-ep93xx.h>
#include <asm/hardware/vic.h>
#include <asm/mach-types.h>
#include <asm/mach-types.h>
#include <asm/mach/arch.h>
#include <asm/mach/arch.h>
...
@@ -176,7 +175,6 @@ MACHINE_START(SNAPPER_CL15, "Bluewater Systems Snapper CL15")
...
@@ -176,7 +175,6 @@ MACHINE_START(SNAPPER_CL15, "Bluewater Systems Snapper CL15")
.
atag_offset
=
0x100
,
.
atag_offset
=
0x100
,
.
map_io
=
ep93xx_map_io
,
.
map_io
=
ep93xx_map_io
,
.
init_irq
=
ep93xx_init_irq
,
.
init_irq
=
ep93xx_init_irq
,
.
handle_irq
=
vic_handle_irq
,
.
timer
=
&
ep93xx_timer
,
.
timer
=
&
ep93xx_timer
,
.
init_machine
=
snappercl15_init_machine
,
.
init_machine
=
snappercl15_init_machine
,
.
init_late
=
ep93xx_init_late
,
.
init_late
=
ep93xx_init_late
,
...
...
arch/arm/mach-ep93xx/ts72xx.c
浏览文件 @
4f5c1c04
...
@@ -22,7 +22,6 @@
...
@@ -22,7 +22,6 @@
#include <mach/hardware.h>
#include <mach/hardware.h>
#include <asm/hardware/vic.h>
#include <asm/mach-types.h>
#include <asm/mach-types.h>
#include <asm/mach/map.h>
#include <asm/mach/map.h>
#include <asm/mach/arch.h>
#include <asm/mach/arch.h>
...
@@ -246,7 +245,6 @@ MACHINE_START(TS72XX, "Technologic Systems TS-72xx SBC")
...
@@ -246,7 +245,6 @@ MACHINE_START(TS72XX, "Technologic Systems TS-72xx SBC")
.
atag_offset
=
0x100
,
.
atag_offset
=
0x100
,
.
map_io
=
ts72xx_map_io
,
.
map_io
=
ts72xx_map_io
,
.
init_irq
=
ep93xx_init_irq
,
.
init_irq
=
ep93xx_init_irq
,
.
handle_irq
=
vic_handle_irq
,
.
timer
=
&
ep93xx_timer
,
.
timer
=
&
ep93xx_timer
,
.
init_machine
=
ts72xx_init_machine
,
.
init_machine
=
ts72xx_init_machine
,
.
init_late
=
ep93xx_init_late
,
.
init_late
=
ep93xx_init_late
,
...
...
arch/arm/mach-ep93xx/vision_ep9307.c
浏览文件 @
4f5c1c04
...
@@ -34,7 +34,6 @@
...
@@ -34,7 +34,6 @@
#include <linux/platform_data/spi-ep93xx.h>
#include <linux/platform_data/spi-ep93xx.h>
#include <mach/gpio-ep93xx.h>
#include <mach/gpio-ep93xx.h>
#include <asm/hardware/vic.h>
#include <asm/mach-types.h>
#include <asm/mach-types.h>
#include <asm/mach/map.h>
#include <asm/mach/map.h>
#include <asm/mach/arch.h>
#include <asm/mach/arch.h>
...
@@ -364,7 +363,6 @@ MACHINE_START(VISION_EP9307, "Vision Engraving Systems EP9307")
...
@@ -364,7 +363,6 @@ MACHINE_START(VISION_EP9307, "Vision Engraving Systems EP9307")
.
atag_offset
=
0x100
,
.
atag_offset
=
0x100
,
.
map_io
=
vision_map_io
,
.
map_io
=
vision_map_io
,
.
init_irq
=
ep93xx_init_irq
,
.
init_irq
=
ep93xx_init_irq
,
.
handle_irq
=
vic_handle_irq
,
.
timer
=
&
ep93xx_timer
,
.
timer
=
&
ep93xx_timer
,
.
init_machine
=
vision_init_machine
,
.
init_machine
=
vision_init_machine
,
.
init_late
=
ep93xx_init_late
,
.
init_late
=
ep93xx_init_late
,
...
...
arch/arm/mach-exynos/common.c
浏览文件 @
4f5c1c04
...
@@ -22,12 +22,13 @@
...
@@ -22,12 +22,13 @@
#include <linux/of_irq.h>
#include <linux/of_irq.h>
#include <linux/export.h>
#include <linux/export.h>
#include <linux/irqdomain.h>
#include <linux/irqdomain.h>
#include <linux/irqchip.h>
#include <linux/of_address.h>
#include <linux/of_address.h>
#include <linux/irqchip/arm-gic.h>
#include <asm/proc-fns.h>
#include <asm/proc-fns.h>
#include <asm/exception.h>
#include <asm/exception.h>
#include <asm/hardware/cache-l2x0.h>
#include <asm/hardware/cache-l2x0.h>
#include <asm/hardware/gic.h>
#include <asm/mach/map.h>
#include <asm/mach/map.h>
#include <asm/mach/irq.h>
#include <asm/mach/irq.h>
#include <asm/cacheflush.h>
#include <asm/cacheflush.h>
...
@@ -644,8 +645,6 @@ static int __init combiner_of_init(struct device_node *np,
...
@@ -644,8 +645,6 @@ static int __init combiner_of_init(struct device_node *np,
}
}
static
const
struct
of_device_id
exynos_dt_irq_match
[]
=
{
static
const
struct
of_device_id
exynos_dt_irq_match
[]
=
{
{
.
compatible
=
"arm,cortex-a9-gic"
,
.
data
=
gic_of_init
,
},
{
.
compatible
=
"arm,cortex-a15-gic"
,
.
data
=
gic_of_init
,
},
{
.
compatible
=
"samsung,exynos4210-combiner"
,
{
.
compatible
=
"samsung,exynos4210-combiner"
,
.
data
=
combiner_of_init
,
},
.
data
=
combiner_of_init
,
},
{},
{},
...
@@ -661,8 +660,10 @@ void __init exynos4_init_irq(void)
...
@@ -661,8 +660,10 @@ void __init exynos4_init_irq(void)
if
(
!
of_have_populated_dt
())
if
(
!
of_have_populated_dt
())
gic_init_bases
(
0
,
IRQ_PPI
(
0
),
S5P_VA_GIC_DIST
,
S5P_VA_GIC_CPU
,
gic_bank_offset
,
NULL
);
gic_init_bases
(
0
,
IRQ_PPI
(
0
),
S5P_VA_GIC_DIST
,
S5P_VA_GIC_CPU
,
gic_bank_offset
,
NULL
);
#ifdef CONFIG_OF
#ifdef CONFIG_OF
else
else
{
irqchip_init
();
of_irq_init
(
exynos_dt_irq_match
);
of_irq_init
(
exynos_dt_irq_match
);
}
#endif
#endif
if
(
!
of_have_populated_dt
())
if
(
!
of_have_populated_dt
())
...
@@ -679,6 +680,7 @@ void __init exynos4_init_irq(void)
...
@@ -679,6 +680,7 @@ void __init exynos4_init_irq(void)
void
__init
exynos5_init_irq
(
void
)
void
__init
exynos5_init_irq
(
void
)
{
{
#ifdef CONFIG_OF
#ifdef CONFIG_OF
irqchip_init
();
of_irq_init
(
exynos_dt_irq_match
);
of_irq_init
(
exynos_dt_irq_match
);
#endif
#endif
/*
/*
...
...
arch/arm/mach-exynos/include/mach/regs-irq.h
浏览文件 @
4f5c1c04
...
@@ -13,7 +13,7 @@
...
@@ -13,7 +13,7 @@
#ifndef __ASM_ARCH_REGS_IRQ_H
#ifndef __ASM_ARCH_REGS_IRQ_H
#define __ASM_ARCH_REGS_IRQ_H __FILE__
#define __ASM_ARCH_REGS_IRQ_H __FILE__
#include <
asm/hardware/
gic.h>
#include <
linux/irqchip/arm-
gic.h>
#include <mach/map.h>
#include <mach/map.h>
#endif
/* __ASM_ARCH_REGS_IRQ_H */
#endif
/* __ASM_ARCH_REGS_IRQ_H */
arch/arm/mach-exynos/mach-armlex4210.c
浏览文件 @
4f5c1c04
...
@@ -16,7 +16,6 @@
...
@@ -16,7 +16,6 @@
#include <linux/smsc911x.h>
#include <linux/smsc911x.h>
#include <asm/mach/arch.h>
#include <asm/mach/arch.h>
#include <asm/hardware/gic.h>
#include <asm/mach-types.h>
#include <asm/mach-types.h>
#include <plat/cpu.h>
#include <plat/cpu.h>
...
@@ -201,7 +200,6 @@ MACHINE_START(ARMLEX4210, "ARMLEX4210")
...
@@ -201,7 +200,6 @@ MACHINE_START(ARMLEX4210, "ARMLEX4210")
.
smp
=
smp_ops
(
exynos_smp_ops
),
.
smp
=
smp_ops
(
exynos_smp_ops
),
.
init_irq
=
exynos4_init_irq
,
.
init_irq
=
exynos4_init_irq
,
.
map_io
=
armlex4210_map_io
,
.
map_io
=
armlex4210_map_io
,
.
handle_irq
=
gic_handle_irq
,
.
init_machine
=
armlex4210_machine_init
,
.
init_machine
=
armlex4210_machine_init
,
.
init_late
=
exynos_init_late
,
.
init_late
=
exynos_init_late
,
.
timer
=
&
exynos4_timer
,
.
timer
=
&
exynos4_timer
,
...
...
arch/arm/mach-exynos/mach-exynos4-dt.c
浏览文件 @
4f5c1c04
...
@@ -15,7 +15,6 @@
...
@@ -15,7 +15,6 @@
#include <linux/serial_core.h>
#include <linux/serial_core.h>
#include <asm/mach/arch.h>
#include <asm/mach/arch.h>
#include <asm/hardware/gic.h>
#include <mach/map.h>
#include <mach/map.h>
#include <plat/cpu.h>
#include <plat/cpu.h>
...
@@ -107,7 +106,6 @@ DT_MACHINE_START(EXYNOS4210_DT, "Samsung Exynos4 (Flattened Device Tree)")
...
@@ -107,7 +106,6 @@ DT_MACHINE_START(EXYNOS4210_DT, "Samsung Exynos4 (Flattened Device Tree)")
.
smp
=
smp_ops
(
exynos_smp_ops
),
.
smp
=
smp_ops
(
exynos_smp_ops
),
.
init_irq
=
exynos4_init_irq
,
.
init_irq
=
exynos4_init_irq
,
.
map_io
=
exynos4_dt_map_io
,
.
map_io
=
exynos4_dt_map_io
,
.
handle_irq
=
gic_handle_irq
,
.
init_machine
=
exynos4_dt_machine_init
,
.
init_machine
=
exynos4_dt_machine_init
,
.
init_late
=
exynos_init_late
,
.
init_late
=
exynos_init_late
,
.
timer
=
&
exynos4_timer
,
.
timer
=
&
exynos4_timer
,
...
...
arch/arm/mach-exynos/mach-exynos5-dt.c
浏览文件 @
4f5c1c04
...
@@ -16,7 +16,6 @@
...
@@ -16,7 +16,6 @@
#include <linux/io.h>
#include <linux/io.h>
#include <asm/mach/arch.h>
#include <asm/mach/arch.h>
#include <asm/hardware/gic.h>
#include <mach/map.h>
#include <mach/map.h>
#include <mach/regs-pmu.h>
#include <mach/regs-pmu.h>
...
@@ -179,7 +178,6 @@ DT_MACHINE_START(EXYNOS5_DT, "SAMSUNG EXYNOS5 (Flattened Device Tree)")
...
@@ -179,7 +178,6 @@ DT_MACHINE_START(EXYNOS5_DT, "SAMSUNG EXYNOS5 (Flattened Device Tree)")
.
init_irq
=
exynos5_init_irq
,
.
init_irq
=
exynos5_init_irq
,
.
smp
=
smp_ops
(
exynos_smp_ops
),
.
smp
=
smp_ops
(
exynos_smp_ops
),
.
map_io
=
exynos5_dt_map_io
,
.
map_io
=
exynos5_dt_map_io
,
.
handle_irq
=
gic_handle_irq
,
.
init_machine
=
exynos5_dt_machine_init
,
.
init_machine
=
exynos5_dt_machine_init
,
.
init_late
=
exynos_init_late
,
.
init_late
=
exynos_init_late
,
.
timer
=
&
exynos4_timer
,
.
timer
=
&
exynos4_timer
,
...
...
arch/arm/mach-exynos/mach-nuri.c
浏览文件 @
4f5c1c04
...
@@ -39,7 +39,6 @@
...
@@ -39,7 +39,6 @@
#include <media/v4l2-mediabus.h>
#include <media/v4l2-mediabus.h>
#include <asm/mach/arch.h>
#include <asm/mach/arch.h>
#include <asm/hardware/gic.h>
#include <asm/mach-types.h>
#include <asm/mach-types.h>
#include <plat/adc.h>
#include <plat/adc.h>
...
@@ -1379,7 +1378,6 @@ MACHINE_START(NURI, "NURI")
...
@@ -1379,7 +1378,6 @@ MACHINE_START(NURI, "NURI")
.
smp
=
smp_ops
(
exynos_smp_ops
),
.
smp
=
smp_ops
(
exynos_smp_ops
),
.
init_irq
=
exynos4_init_irq
,
.
init_irq
=
exynos4_init_irq
,
.
map_io
=
nuri_map_io
,
.
map_io
=
nuri_map_io
,
.
handle_irq
=
gic_handle_irq
,
.
init_machine
=
nuri_machine_init
,
.
init_machine
=
nuri_machine_init
,
.
init_late
=
exynos_init_late
,
.
init_late
=
exynos_init_late
,
.
timer
=
&
exynos4_timer
,
.
timer
=
&
exynos4_timer
,
...
...
arch/arm/mach-exynos/mach-origen.c
浏览文件 @
4f5c1c04
...
@@ -29,7 +29,6 @@
...
@@ -29,7 +29,6 @@
#include <linux/platform_data/usb-exynos.h>
#include <linux/platform_data/usb-exynos.h>
#include <asm/mach/arch.h>
#include <asm/mach/arch.h>
#include <asm/hardware/gic.h>
#include <asm/mach-types.h>
#include <asm/mach-types.h>
#include <video/platform_lcd.h>
#include <video/platform_lcd.h>
...
@@ -814,7 +813,6 @@ MACHINE_START(ORIGEN, "ORIGEN")
...
@@ -814,7 +813,6 @@ MACHINE_START(ORIGEN, "ORIGEN")
.
smp
=
smp_ops
(
exynos_smp_ops
),
.
smp
=
smp_ops
(
exynos_smp_ops
),
.
init_irq
=
exynos4_init_irq
,
.
init_irq
=
exynos4_init_irq
,
.
map_io
=
origen_map_io
,
.
map_io
=
origen_map_io
,
.
handle_irq
=
gic_handle_irq
,
.
init_machine
=
origen_machine_init
,
.
init_machine
=
origen_machine_init
,
.
init_late
=
exynos_init_late
,
.
init_late
=
exynos_init_late
,
.
timer
=
&
exynos4_timer
,
.
timer
=
&
exynos4_timer
,
...
...
arch/arm/mach-exynos/mach-smdk4x12.c
浏览文件 @
4f5c1c04
...
@@ -25,7 +25,6 @@
...
@@ -25,7 +25,6 @@
#include <linux/platform_data/s3c-hsotg.h>
#include <linux/platform_data/s3c-hsotg.h>
#include <asm/mach/arch.h>
#include <asm/mach/arch.h>
#include <asm/hardware/gic.h>
#include <asm/mach-types.h>
#include <asm/mach-types.h>
#include <video/samsung_fimd.h>
#include <video/samsung_fimd.h>
...
@@ -376,7 +375,6 @@ MACHINE_START(SMDK4212, "SMDK4212")
...
@@ -376,7 +375,6 @@ MACHINE_START(SMDK4212, "SMDK4212")
.
smp
=
smp_ops
(
exynos_smp_ops
),
.
smp
=
smp_ops
(
exynos_smp_ops
),
.
init_irq
=
exynos4_init_irq
,
.
init_irq
=
exynos4_init_irq
,
.
map_io
=
smdk4x12_map_io
,
.
map_io
=
smdk4x12_map_io
,
.
handle_irq
=
gic_handle_irq
,
.
init_machine
=
smdk4x12_machine_init
,
.
init_machine
=
smdk4x12_machine_init
,
.
timer
=
&
exynos4_timer
,
.
timer
=
&
exynos4_timer
,
.
restart
=
exynos4_restart
,
.
restart
=
exynos4_restart
,
...
@@ -390,7 +388,6 @@ MACHINE_START(SMDK4412, "SMDK4412")
...
@@ -390,7 +388,6 @@ MACHINE_START(SMDK4412, "SMDK4412")
.
smp
=
smp_ops
(
exynos_smp_ops
),
.
smp
=
smp_ops
(
exynos_smp_ops
),
.
init_irq
=
exynos4_init_irq
,
.
init_irq
=
exynos4_init_irq
,
.
map_io
=
smdk4x12_map_io
,
.
map_io
=
smdk4x12_map_io
,
.
handle_irq
=
gic_handle_irq
,
.
init_machine
=
smdk4x12_machine_init
,
.
init_machine
=
smdk4x12_machine_init
,
.
init_late
=
exynos_init_late
,
.
init_late
=
exynos_init_late
,
.
timer
=
&
exynos4_timer
,
.
timer
=
&
exynos4_timer
,
...
...
arch/arm/mach-exynos/mach-smdkv310.c
浏览文件 @
4f5c1c04
...
@@ -26,7 +26,6 @@
...
@@ -26,7 +26,6 @@
#include <linux/platform_data/usb-exynos.h>
#include <linux/platform_data/usb-exynos.h>
#include <asm/mach/arch.h>
#include <asm/mach/arch.h>
#include <asm/hardware/gic.h>
#include <asm/mach-types.h>
#include <asm/mach-types.h>
#include <video/platform_lcd.h>
#include <video/platform_lcd.h>
...
@@ -423,7 +422,6 @@ MACHINE_START(SMDKV310, "SMDKV310")
...
@@ -423,7 +422,6 @@ MACHINE_START(SMDKV310, "SMDKV310")
.
smp
=
smp_ops
(
exynos_smp_ops
),
.
smp
=
smp_ops
(
exynos_smp_ops
),
.
init_irq
=
exynos4_init_irq
,
.
init_irq
=
exynos4_init_irq
,
.
map_io
=
smdkv310_map_io
,
.
map_io
=
smdkv310_map_io
,
.
handle_irq
=
gic_handle_irq
,
.
init_machine
=
smdkv310_machine_init
,
.
init_machine
=
smdkv310_machine_init
,
.
timer
=
&
exynos4_timer
,
.
timer
=
&
exynos4_timer
,
.
reserve
=
&
smdkv310_reserve
,
.
reserve
=
&
smdkv310_reserve
,
...
@@ -436,7 +434,6 @@ MACHINE_START(SMDKC210, "SMDKC210")
...
@@ -436,7 +434,6 @@ MACHINE_START(SMDKC210, "SMDKC210")
.
smp
=
smp_ops
(
exynos_smp_ops
),
.
smp
=
smp_ops
(
exynos_smp_ops
),
.
init_irq
=
exynos4_init_irq
,
.
init_irq
=
exynos4_init_irq
,
.
map_io
=
smdkv310_map_io
,
.
map_io
=
smdkv310_map_io
,
.
handle_irq
=
gic_handle_irq
,
.
init_machine
=
smdkv310_machine_init
,
.
init_machine
=
smdkv310_machine_init
,
.
init_late
=
exynos_init_late
,
.
init_late
=
exynos_init_late
,
.
timer
=
&
exynos4_timer
,
.
timer
=
&
exynos4_timer
,
...
...
arch/arm/mach-exynos/mach-universal_c210.c
浏览文件 @
4f5c1c04
...
@@ -29,7 +29,6 @@
...
@@ -29,7 +29,6 @@
#include <drm/exynos_drm.h>
#include <drm/exynos_drm.h>
#include <asm/mach/arch.h>
#include <asm/mach/arch.h>
#include <asm/hardware/gic.h>
#include <asm/mach-types.h>
#include <asm/mach-types.h>
#include <video/samsung_fimd.h>
#include <video/samsung_fimd.h>
...
@@ -1151,7 +1150,6 @@ MACHINE_START(UNIVERSAL_C210, "UNIVERSAL_C210")
...
@@ -1151,7 +1150,6 @@ MACHINE_START(UNIVERSAL_C210, "UNIVERSAL_C210")
.
smp
=
smp_ops
(
exynos_smp_ops
),
.
smp
=
smp_ops
(
exynos_smp_ops
),
.
init_irq
=
exynos4_init_irq
,
.
init_irq
=
exynos4_init_irq
,
.
map_io
=
universal_map_io
,
.
map_io
=
universal_map_io
,
.
handle_irq
=
gic_handle_irq
,
.
init_machine
=
universal_machine_init
,
.
init_machine
=
universal_machine_init
,
.
init_late
=
exynos_init_late
,
.
init_late
=
exynos_init_late
,
.
timer
=
&
s5p_timer
,
.
timer
=
&
s5p_timer
,
...
...
arch/arm/mach-exynos/mct.c
浏览文件 @
4f5c1c04
...
@@ -22,7 +22,6 @@
...
@@ -22,7 +22,6 @@
#include <linux/of.h>
#include <linux/of.h>
#include <asm/arch_timer.h>
#include <asm/arch_timer.h>
#include <asm/hardware/gic.h>
#include <asm/localtimer.h>
#include <asm/localtimer.h>
#include <plat/cpu.h>
#include <plat/cpu.h>
...
...
arch/arm/mach-exynos/platsmp.c
浏览文件 @
4f5c1c04
...
@@ -20,9 +20,9 @@
...
@@ -20,9 +20,9 @@
#include <linux/jiffies.h>
#include <linux/jiffies.h>
#include <linux/smp.h>
#include <linux/smp.h>
#include <linux/io.h>
#include <linux/io.h>
#include <linux/irqchip/arm-gic.h>
#include <asm/cacheflush.h>
#include <asm/cacheflush.h>
#include <asm/hardware/gic.h>
#include <asm/smp_plat.h>
#include <asm/smp_plat.h>
#include <asm/smp_scu.h>
#include <asm/smp_scu.h>
...
@@ -149,7 +149,7 @@ static int __cpuinit exynos_boot_secondary(unsigned int cpu, struct task_struct
...
@@ -149,7 +149,7 @@ static int __cpuinit exynos_boot_secondary(unsigned int cpu, struct task_struct
__raw_writel
(
virt_to_phys
(
exynos4_secondary_startup
),
__raw_writel
(
virt_to_phys
(
exynos4_secondary_startup
),
cpu_boot_reg
(
phys_cpu
));
cpu_boot_reg
(
phys_cpu
));
gic_raise_softirq
(
cpumask_of
(
cpu
),
0
);
arch_send_wakeup_ipi_mask
(
cpumask_of
(
cpu
)
);
if
(
pen_release
==
-
1
)
if
(
pen_release
==
-
1
)
break
;
break
;
...
@@ -190,8 +190,6 @@ static void __init exynos_smp_init_cpus(void)
...
@@ -190,8 +190,6 @@ static void __init exynos_smp_init_cpus(void)
for
(
i
=
0
;
i
<
ncores
;
i
++
)
for
(
i
=
0
;
i
<
ncores
;
i
++
)
set_cpu_possible
(
i
,
true
);
set_cpu_possible
(
i
,
true
);
set_smp_cross_call
(
gic_raise_softirq
);
}
}
static
void
__init
exynos_smp_prepare_cpus
(
unsigned
int
max_cpus
)
static
void
__init
exynos_smp_prepare_cpus
(
unsigned
int
max_cpus
)
...
...
arch/arm/mach-highbank/highbank.c
浏览文件 @
4f5c1c04
...
@@ -18,6 +18,7 @@
...
@@ -18,6 +18,7 @@
#include <linux/dma-mapping.h>
#include <linux/dma-mapping.h>
#include <linux/io.h>
#include <linux/io.h>
#include <linux/irq.h>
#include <linux/irq.h>
#include <linux/irqchip.h>
#include <linux/irqdomain.h>
#include <linux/irqdomain.h>
#include <linux/of.h>
#include <linux/of.h>
#include <linux/of_irq.h>
#include <linux/of_irq.h>
...
@@ -32,7 +33,6 @@
...
@@ -32,7 +33,6 @@
#include <asm/smp_twd.h>
#include <asm/smp_twd.h>
#include <asm/hardware/arm_timer.h>
#include <asm/hardware/arm_timer.h>
#include <asm/hardware/timer-sp.h>
#include <asm/hardware/timer-sp.h>
#include <asm/hardware/gic.h>
#include <asm/hardware/cache-l2x0.h>
#include <asm/hardware/cache-l2x0.h>
#include <asm/mach/arch.h>
#include <asm/mach/arch.h>
#include <asm/mach/map.h>
#include <asm/mach/map.h>
...
@@ -66,12 +66,6 @@ void highbank_set_cpu_jump(int cpu, void *jump_addr)
...
@@ -66,12 +66,6 @@ void highbank_set_cpu_jump(int cpu, void *jump_addr)
HB_JUMP_TABLE_PHYS
(
cpu
)
+
15
);
HB_JUMP_TABLE_PHYS
(
cpu
)
+
15
);
}
}
const
static
struct
of_device_id
irq_match
[]
=
{
{
.
compatible
=
"arm,cortex-a15-gic"
,
.
data
=
gic_of_init
,
},
{
.
compatible
=
"arm,cortex-a9-gic"
,
.
data
=
gic_of_init
,
},
{}
};
#ifdef CONFIG_CACHE_L2X0
#ifdef CONFIG_CACHE_L2X0
static
void
highbank_l2x0_disable
(
void
)
static
void
highbank_l2x0_disable
(
void
)
{
{
...
@@ -82,7 +76,7 @@ static void highbank_l2x0_disable(void)
...
@@ -82,7 +76,7 @@ static void highbank_l2x0_disable(void)
static
void
__init
highbank_init_irq
(
void
)
static
void
__init
highbank_init_irq
(
void
)
{
{
of_irq_init
(
irq_match
);
irqchip_init
(
);
if
(
of_find_compatible_node
(
NULL
,
NULL
,
"arm,cortex-a9"
))
if
(
of_find_compatible_node
(
NULL
,
NULL
,
"arm,cortex-a9"
))
highbank_scu_map_io
();
highbank_scu_map_io
();
...
@@ -210,7 +204,6 @@ DT_MACHINE_START(HIGHBANK, "Highbank")
...
@@ -210,7 +204,6 @@ DT_MACHINE_START(HIGHBANK, "Highbank")
.
map_io
=
debug_ll_io_init
,
.
map_io
=
debug_ll_io_init
,
.
init_irq
=
highbank_init_irq
,
.
init_irq
=
highbank_init_irq
,
.
timer
=
&
highbank_timer
,
.
timer
=
&
highbank_timer
,
.
handle_irq
=
gic_handle_irq
,
.
init_machine
=
highbank_init
,
.
init_machine
=
highbank_init
,
.
dt_compat
=
highbank_match
,
.
dt_compat
=
highbank_match
,
.
restart
=
highbank_restart
,
.
restart
=
highbank_restart
,
...
...
arch/arm/mach-highbank/platsmp.c
浏览文件 @
4f5c1c04
...
@@ -17,9 +17,9 @@
...
@@ -17,9 +17,9 @@
#include <linux/init.h>
#include <linux/init.h>
#include <linux/smp.h>
#include <linux/smp.h>
#include <linux/io.h>
#include <linux/io.h>
#include <linux/irqchip/arm-gic.h>
#include <asm/smp_scu.h>
#include <asm/smp_scu.h>
#include <asm/hardware/gic.h>
#include "core.h"
#include "core.h"
...
@@ -33,7 +33,7 @@ static void __cpuinit highbank_secondary_init(unsigned int cpu)
...
@@ -33,7 +33,7 @@ static void __cpuinit highbank_secondary_init(unsigned int cpu)
static
int
__cpuinit
highbank_boot_secondary
(
unsigned
int
cpu
,
struct
task_struct
*
idle
)
static
int
__cpuinit
highbank_boot_secondary
(
unsigned
int
cpu
,
struct
task_struct
*
idle
)
{
{
highbank_set_cpu_jump
(
cpu
,
secondary_startup
);
highbank_set_cpu_jump
(
cpu
,
secondary_startup
);
gic_raise_softirq
(
cpumask_of
(
cpu
),
0
);
arch_send_wakeup_ipi_mask
(
cpumask_of
(
cpu
)
);
return
0
;
return
0
;
}
}
...
@@ -56,8 +56,6 @@ static void __init highbank_smp_init_cpus(void)
...
@@ -56,8 +56,6 @@ static void __init highbank_smp_init_cpus(void)
for
(
i
=
0
;
i
<
ncores
;
i
++
)
for
(
i
=
0
;
i
<
ncores
;
i
++
)
set_cpu_possible
(
i
,
true
);
set_cpu_possible
(
i
,
true
);
set_smp_cross_call
(
gic_raise_softirq
);
}
}
static
void
__init
highbank_smp_prepare_cpus
(
unsigned
int
max_cpus
)
static
void
__init
highbank_smp_prepare_cpus
(
unsigned
int
max_cpus
)
...
...
arch/arm/mach-imx/common.h
浏览文件 @
4f5c1c04
...
@@ -112,7 +112,6 @@ void tzic_handle_irq(struct pt_regs *);
...
@@ -112,7 +112,6 @@ void tzic_handle_irq(struct pt_regs *);
#define imx50_handle_irq tzic_handle_irq
#define imx50_handle_irq tzic_handle_irq
#define imx51_handle_irq tzic_handle_irq
#define imx51_handle_irq tzic_handle_irq
#define imx53_handle_irq tzic_handle_irq
#define imx53_handle_irq tzic_handle_irq
#define imx6q_handle_irq gic_handle_irq
extern
void
imx_enable_cpu
(
int
cpu
,
bool
enable
);
extern
void
imx_enable_cpu
(
int
cpu
,
bool
enable
);
extern
void
imx_set_cpu_jump
(
int
cpu
,
void
*
jump_addr
);
extern
void
imx_set_cpu_jump
(
int
cpu
,
void
*
jump_addr
);
...
...
arch/arm/mach-imx/gpc.c
浏览文件 @
4f5c1c04
...
@@ -15,7 +15,7 @@
...
@@ -15,7 +15,7 @@
#include <linux/of.h>
#include <linux/of.h>
#include <linux/of_address.h>
#include <linux/of_address.h>
#include <linux/of_irq.h>
#include <linux/of_irq.h>
#include <
asm/hardware/
gic.h>
#include <
linux/irqchip/arm-
gic.h>
#define GPC_IMR1 0x008
#define GPC_IMR1 0x008
#define GPC_PGC_CPU_PDN 0x2a0
#define GPC_PGC_CPU_PDN 0x2a0
...
...
arch/arm/mach-imx/mach-imx6q.c
浏览文件 @
4f5c1c04
...
@@ -18,6 +18,7 @@
...
@@ -18,6 +18,7 @@
#include <linux/init.h>
#include <linux/init.h>
#include <linux/io.h>
#include <linux/io.h>
#include <linux/irq.h>
#include <linux/irq.h>
#include <linux/irqchip.h>
#include <linux/of.h>
#include <linux/of.h>
#include <linux/of_address.h>
#include <linux/of_address.h>
#include <linux/of_irq.h>
#include <linux/of_irq.h>
...
@@ -29,7 +30,6 @@
...
@@ -29,7 +30,6 @@
#include <asm/cpuidle.h>
#include <asm/cpuidle.h>
#include <asm/smp_twd.h>
#include <asm/smp_twd.h>
#include <asm/hardware/cache-l2x0.h>
#include <asm/hardware/cache-l2x0.h>
#include <asm/hardware/gic.h>
#include <asm/mach/arch.h>
#include <asm/mach/arch.h>
#include <asm/mach/time.h>
#include <asm/mach/time.h>
#include <asm/system_misc.h>
#include <asm/system_misc.h>
...
@@ -221,17 +221,12 @@ static void __init imx6q_map_io(void)
...
@@ -221,17 +221,12 @@ static void __init imx6q_map_io(void)
imx6q_clock_map_io
();
imx6q_clock_map_io
();
}
}
static
const
struct
of_device_id
imx6q_irq_match
[]
__initconst
=
{
{
.
compatible
=
"arm,cortex-a9-gic"
,
.
data
=
gic_of_init
,
},
{
/* sentinel */
}
};
static
void
__init
imx6q_init_irq
(
void
)
static
void
__init
imx6q_init_irq
(
void
)
{
{
l2x0_of_init
(
0
,
~
0UL
);
l2x0_of_init
(
0
,
~
0UL
);
imx_src_init
();
imx_src_init
();
imx_gpc_init
();
imx_gpc_init
();
of_irq_init
(
imx6q_irq_match
);
irqchip_init
(
);
}
}
static
void
__init
imx6q_timer_init
(
void
)
static
void
__init
imx6q_timer_init
(
void
)
...
@@ -254,7 +249,6 @@ DT_MACHINE_START(IMX6Q, "Freescale i.MX6 Quad (Device Tree)")
...
@@ -254,7 +249,6 @@ DT_MACHINE_START(IMX6Q, "Freescale i.MX6 Quad (Device Tree)")
.
smp
=
smp_ops
(
imx_smp_ops
),
.
smp
=
smp_ops
(
imx_smp_ops
),
.
map_io
=
imx6q_map_io
,
.
map_io
=
imx6q_map_io
,
.
init_irq
=
imx6q_init_irq
,
.
init_irq
=
imx6q_init_irq
,
.
handle_irq
=
imx6q_handle_irq
,
.
timer
=
&
imx6q_timer
,
.
timer
=
&
imx6q_timer
,
.
init_machine
=
imx6q_init_machine
,
.
init_machine
=
imx6q_init_machine
,
.
init_late
=
imx6q_init_late
,
.
init_late
=
imx6q_init_late
,
...
...
arch/arm/mach-imx/platsmp.c
浏览文件 @
4f5c1c04
...
@@ -12,9 +12,9 @@
...
@@ -12,9 +12,9 @@
#include <linux/init.h>
#include <linux/init.h>
#include <linux/smp.h>
#include <linux/smp.h>
#include <linux/irqchip/arm-gic.h>
#include <asm/page.h>
#include <asm/page.h>
#include <asm/smp_scu.h>
#include <asm/smp_scu.h>
#include <asm/hardware/gic.h>
#include <asm/mach/map.h>
#include <asm/mach/map.h>
#include "common.h"
#include "common.h"
...
@@ -71,8 +71,6 @@ static void __init imx_smp_init_cpus(void)
...
@@ -71,8 +71,6 @@ static void __init imx_smp_init_cpus(void)
for
(
i
=
0
;
i
<
ncores
;
i
++
)
for
(
i
=
0
;
i
<
ncores
;
i
++
)
set_cpu_possible
(
i
,
true
);
set_cpu_possible
(
i
,
true
);
set_smp_cross_call
(
gic_raise_softirq
);
}
}
void
imx_smp_prepare
(
void
)
void
imx_smp_prepare
(
void
)
...
...
arch/arm/mach-msm/board-dt-8660.c
浏览文件 @
4f5c1c04
...
@@ -11,26 +11,15 @@
...
@@ -11,26 +11,15 @@
*/
*/
#include <linux/init.h>
#include <linux/init.h>
#include <linux/irqchip.h>
#include <linux/of.h>
#include <linux/of.h>
#include <linux/of_irq.h>
#include <linux/of_platform.h>
#include <linux/of_platform.h>
#include <asm/mach/arch.h>
#include <asm/mach/arch.h>
#include <asm/hardware/gic.h>
#include <mach/board.h>
#include <mach/board.h>
#include "common.h"
#include "common.h"
static
const
struct
of_device_id
msm_dt_gic_match
[]
__initconst
=
{
{
.
compatible
=
"qcom,msm-8660-qgic"
,
.
data
=
gic_of_init
},
{}
};
static
void
__init
msm8x60_init_irq
(
void
)
{
of_irq_init
(
msm_dt_gic_match
);
}
static
void
__init
msm8x60_init_late
(
void
)
static
void
__init
msm8x60_init_late
(
void
)
{
{
smd_debugfs_init
();
smd_debugfs_init
();
...
@@ -55,8 +44,7 @@ static const char *msm8x60_fluid_match[] __initdata = {
...
@@ -55,8 +44,7 @@ static const char *msm8x60_fluid_match[] __initdata = {
DT_MACHINE_START
(
MSM_DT
,
"Qualcomm MSM (Flattened Device Tree)"
)
DT_MACHINE_START
(
MSM_DT
,
"Qualcomm MSM (Flattened Device Tree)"
)
.
smp
=
smp_ops
(
msm_smp_ops
),
.
smp
=
smp_ops
(
msm_smp_ops
),
.
map_io
=
msm_map_msm8x60_io
,
.
map_io
=
msm_map_msm8x60_io
,
.
init_irq
=
msm8x60_init_irq
,
.
init_irq
=
irqchip_init
,
.
handle_irq
=
gic_handle_irq
,
.
init_machine
=
msm8x60_dt_init
,
.
init_machine
=
msm8x60_dt_init
,
.
init_late
=
msm8x60_init_late
,
.
init_late
=
msm8x60_init_late
,
.
timer
=
&
msm_dt_timer
,
.
timer
=
&
msm_dt_timer
,
...
...
arch/arm/mach-msm/board-dt-8960.c
浏览文件 @
4f5c1c04
...
@@ -11,24 +11,13 @@
...
@@ -11,24 +11,13 @@
*/
*/
#include <linux/init.h>
#include <linux/init.h>
#include <linux/
of_irq
.h>
#include <linux/
irqchip
.h>
#include <linux/of_platform.h>
#include <linux/of_platform.h>
#include <asm/hardware/gic.h>
#include <asm/mach/arch.h>
#include <asm/mach/arch.h>
#include "common.h"
#include "common.h"
static
const
struct
of_device_id
msm_dt_gic_match
[]
__initconst
=
{
{
.
compatible
=
"qcom,msm-qgic2"
,
.
data
=
gic_of_init
},
{
}
};
static
void
__init
msm_dt_init_irq
(
void
)
{
of_irq_init
(
msm_dt_gic_match
);
}
static
void
__init
msm_dt_init
(
void
)
static
void
__init
msm_dt_init
(
void
)
{
{
of_platform_populate
(
NULL
,
of_default_bus_match_table
,
NULL
,
NULL
);
of_platform_populate
(
NULL
,
of_default_bus_match_table
,
NULL
,
NULL
);
...
@@ -42,9 +31,8 @@ static const char * const msm8960_dt_match[] __initconst = {
...
@@ -42,9 +31,8 @@ static const char * const msm8960_dt_match[] __initconst = {
DT_MACHINE_START
(
MSM8960_DT
,
"Qualcomm MSM (Flattened Device Tree)"
)
DT_MACHINE_START
(
MSM8960_DT
,
"Qualcomm MSM (Flattened Device Tree)"
)
.
smp
=
smp_ops
(
msm_smp_ops
),
.
smp
=
smp_ops
(
msm_smp_ops
),
.
map_io
=
msm_map_msm8960_io
,
.
map_io
=
msm_map_msm8960_io
,
.
init_irq
=
msm_dt_init_irq
,
.
init_irq
=
irqchip_init
,
.
timer
=
&
msm_dt_timer
,
.
timer
=
&
msm_dt_timer
,
.
init_machine
=
msm_dt_init
,
.
init_machine
=
msm_dt_init
,
.
dt_compat
=
msm8960_dt_match
,
.
dt_compat
=
msm8960_dt_match
,
.
handle_irq
=
gic_handle_irq
,
MACHINE_END
MACHINE_END
arch/arm/mach-msm/platsmp.c
浏览文件 @
4f5c1c04
...
@@ -15,8 +15,8 @@
...
@@ -15,8 +15,8 @@
#include <linux/jiffies.h>
#include <linux/jiffies.h>
#include <linux/smp.h>
#include <linux/smp.h>
#include <linux/io.h>
#include <linux/io.h>
#include <linux/irqchip/arm-gic.h>
#include <asm/hardware/gic.h>
#include <asm/cacheflush.h>
#include <asm/cacheflush.h>
#include <asm/cputype.h>
#include <asm/cputype.h>
#include <asm/mach-types.h>
#include <asm/mach-types.h>
...
@@ -115,7 +115,7 @@ static int __cpuinit msm_boot_secondary(unsigned int cpu, struct task_struct *id
...
@@ -115,7 +115,7 @@ static int __cpuinit msm_boot_secondary(unsigned int cpu, struct task_struct *id
* the boot monitor to read the system wide flags register,
* the boot monitor to read the system wide flags register,
* and branch to the address found there.
* and branch to the address found there.
*/
*/
gic_raise_softirq
(
cpumask_of
(
cpu
),
0
);
arch_send_wakeup_ipi_mask
(
cpumask_of
(
cpu
)
);
timeout
=
jiffies
+
(
1
*
HZ
);
timeout
=
jiffies
+
(
1
*
HZ
);
while
(
time_before
(
jiffies
,
timeout
))
{
while
(
time_before
(
jiffies
,
timeout
))
{
...
@@ -153,8 +153,6 @@ static void __init msm_smp_init_cpus(void)
...
@@ -153,8 +153,6 @@ static void __init msm_smp_init_cpus(void)
for
(
i
=
0
;
i
<
ncores
;
i
++
)
for
(
i
=
0
;
i
<
ncores
;
i
++
)
set_cpu_possible
(
i
,
true
);
set_cpu_possible
(
i
,
true
);
set_smp_cross_call
(
gic_raise_softirq
);
}
}
static
void
__init
msm_smp_prepare_cpus
(
unsigned
int
max_cpus
)
static
void
__init
msm_smp_prepare_cpus
(
unsigned
int
max_cpus
)
...
...
arch/arm/mach-msm/timer.c
浏览文件 @
4f5c1c04
...
@@ -25,7 +25,6 @@
...
@@ -25,7 +25,6 @@
#include <linux/of_irq.h>
#include <linux/of_irq.h>
#include <asm/mach/time.h>
#include <asm/mach/time.h>
#include <asm/hardware/gic.h>
#include <asm/localtimer.h>
#include <asm/localtimer.h>
#include <asm/sched_clock.h>
#include <asm/sched_clock.h>
...
...
arch/arm/mach-netx/generic.c
浏览文件 @
4f5c1c04
...
@@ -23,9 +23,9 @@
...
@@ -23,9 +23,9 @@
#include <linux/module.h>
#include <linux/module.h>
#include <linux/platform_device.h>
#include <linux/platform_device.h>
#include <linux/io.h>
#include <linux/io.h>
#include <linux/irqchip/arm-vic.h>
#include <mach/hardware.h>
#include <mach/hardware.h>
#include <asm/mach/map.h>
#include <asm/mach/map.h>
#include <asm/hardware/vic.h>
#include <mach/netx-regs.h>
#include <mach/netx-regs.h>
#include <asm/mach/irq.h>
#include <asm/mach/irq.h>
...
...
arch/arm/mach-netx/nxdb500.c
浏览文件 @
4f5c1c04
...
@@ -28,7 +28,6 @@
...
@@ -28,7 +28,6 @@
#include <mach/hardware.h>
#include <mach/hardware.h>
#include <asm/mach-types.h>
#include <asm/mach-types.h>
#include <asm/mach/arch.h>
#include <asm/mach/arch.h>
#include <asm/hardware/vic.h>
#include <mach/netx-regs.h>
#include <mach/netx-regs.h>
#include <linux/platform_data/eth-netx.h>
#include <linux/platform_data/eth-netx.h>
...
@@ -204,7 +203,6 @@ MACHINE_START(NXDB500, "Hilscher nxdb500")
...
@@ -204,7 +203,6 @@ MACHINE_START(NXDB500, "Hilscher nxdb500")
.
atag_offset
=
0x100
,
.
atag_offset
=
0x100
,
.
map_io
=
netx_map_io
,
.
map_io
=
netx_map_io
,
.
init_irq
=
netx_init_irq
,
.
init_irq
=
netx_init_irq
,
.
handle_irq
=
vic_handle_irq
,
.
timer
=
&
netx_timer
,
.
timer
=
&
netx_timer
,
.
init_machine
=
nxdb500_init
,
.
init_machine
=
nxdb500_init
,
.
restart
=
netx_restart
,
.
restart
=
netx_restart
,
...
...
arch/arm/mach-netx/nxdkn.c
浏览文件 @
4f5c1c04
...
@@ -28,7 +28,6 @@
...
@@ -28,7 +28,6 @@
#include <mach/hardware.h>
#include <mach/hardware.h>
#include <asm/mach-types.h>
#include <asm/mach-types.h>
#include <asm/mach/arch.h>
#include <asm/mach/arch.h>
#include <asm/hardware/vic.h>
#include <mach/netx-regs.h>
#include <mach/netx-regs.h>
#include <linux/platform_data/eth-netx.h>
#include <linux/platform_data/eth-netx.h>
...
@@ -97,7 +96,6 @@ MACHINE_START(NXDKN, "Hilscher nxdkn")
...
@@ -97,7 +96,6 @@ MACHINE_START(NXDKN, "Hilscher nxdkn")
.
atag_offset
=
0x100
,
.
atag_offset
=
0x100
,
.
map_io
=
netx_map_io
,
.
map_io
=
netx_map_io
,
.
init_irq
=
netx_init_irq
,
.
init_irq
=
netx_init_irq
,
.
handle_irq
=
vic_handle_irq
,
.
timer
=
&
netx_timer
,
.
timer
=
&
netx_timer
,
.
init_machine
=
nxdkn_init
,
.
init_machine
=
nxdkn_init
,
.
restart
=
netx_restart
,
.
restart
=
netx_restart
,
...
...
arch/arm/mach-netx/nxeb500hmi.c
浏览文件 @
4f5c1c04
...
@@ -28,7 +28,6 @@
...
@@ -28,7 +28,6 @@
#include <mach/hardware.h>
#include <mach/hardware.h>
#include <asm/mach-types.h>
#include <asm/mach-types.h>
#include <asm/mach/arch.h>
#include <asm/mach/arch.h>
#include <asm/hardware/vic.h>
#include <mach/netx-regs.h>
#include <mach/netx-regs.h>
#include <linux/platform_data/eth-netx.h>
#include <linux/platform_data/eth-netx.h>
...
@@ -181,7 +180,6 @@ MACHINE_START(NXEB500HMI, "Hilscher nxeb500hmi")
...
@@ -181,7 +180,6 @@ MACHINE_START(NXEB500HMI, "Hilscher nxeb500hmi")
.
atag_offset
=
0x100
,
.
atag_offset
=
0x100
,
.
map_io
=
netx_map_io
,
.
map_io
=
netx_map_io
,
.
init_irq
=
netx_init_irq
,
.
init_irq
=
netx_init_irq
,
.
handle_irq
=
vic_handle_irq
,
.
timer
=
&
netx_timer
,
.
timer
=
&
netx_timer
,
.
init_machine
=
nxeb500hmi_init
,
.
init_machine
=
nxeb500hmi_init
,
.
restart
=
netx_restart
,
.
restart
=
netx_restart
,
...
...
arch/arm/mach-nomadik/board-nhk8815.c
浏览文件 @
4f5c1c04
...
@@ -27,7 +27,6 @@
...
@@ -27,7 +27,6 @@
#include <linux/pinctrl/machine.h>
#include <linux/pinctrl/machine.h>
#include <linux/platform_data/pinctrl-nomadik.h>
#include <linux/platform_data/pinctrl-nomadik.h>
#include <linux/platform_data/clocksource-nomadik-mtu.h>
#include <linux/platform_data/clocksource-nomadik-mtu.h>
#include <asm/hardware/vic.h>
#include <asm/sizes.h>
#include <asm/sizes.h>
#include <asm/mach-types.h>
#include <asm/mach-types.h>
#include <asm/mach/arch.h>
#include <asm/mach/arch.h>
...
@@ -352,7 +351,6 @@ MACHINE_START(NOMADIK, "NHK8815")
...
@@ -352,7 +351,6 @@ MACHINE_START(NOMADIK, "NHK8815")
.
atag_offset
=
0x100
,
.
atag_offset
=
0x100
,
.
map_io
=
cpu8815_map_io
,
.
map_io
=
cpu8815_map_io
,
.
init_irq
=
cpu8815_init_irq
,
.
init_irq
=
cpu8815_init_irq
,
.
handle_irq
=
vic_handle_irq
,
.
timer
=
&
nomadik_timer
,
.
timer
=
&
nomadik_timer
,
.
init_machine
=
nhk8815_platform_init
,
.
init_machine
=
nhk8815_platform_init
,
.
restart
=
cpu8815_restart
,
.
restart
=
cpu8815_restart
,
...
...
arch/arm/mach-nomadik/cpu-8815.c
浏览文件 @
4f5c1c04
...
@@ -25,13 +25,13 @@
...
@@ -25,13 +25,13 @@
#include <linux/slab.h>
#include <linux/slab.h>
#include <linux/irq.h>
#include <linux/irq.h>
#include <linux/dma-mapping.h>
#include <linux/dma-mapping.h>
#include <linux/irqchip/arm-vic.h>
#include <linux/platform_data/clk-nomadik.h>
#include <linux/platform_data/clk-nomadik.h>
#include <linux/platform_data/pinctrl-nomadik.h>
#include <linux/platform_data/pinctrl-nomadik.h>
#include <mach/hardware.h>
#include <mach/hardware.h>
#include <mach/irqs.h>
#include <mach/irqs.h>
#include <asm/mach/map.h>
#include <asm/mach/map.h>
#include <asm/hardware/vic.h>
#include <asm/cacheflush.h>
#include <asm/cacheflush.h>
#include <asm/hardware/cache-l2x0.h>
#include <asm/hardware/cache-l2x0.h>
...
...
arch/arm/mach-omap2/board-4430sdp.c
浏览文件 @
4f5c1c04
...
@@ -26,10 +26,10 @@
...
@@ -26,10 +26,10 @@
#include <linux/regulator/fixed.h>
#include <linux/regulator/fixed.h>
#include <linux/leds.h>
#include <linux/leds.h>
#include <linux/leds_pwm.h>
#include <linux/leds_pwm.h>
#include <linux/irqchip/arm-gic.h>
#include <linux/platform_data/omap4-keypad.h>
#include <linux/platform_data/omap4-keypad.h>
#include <linux/usb/musb.h>
#include <linux/usb/musb.h>
#include <asm/hardware/gic.h>
#include <asm/mach-types.h>
#include <asm/mach-types.h>
#include <asm/mach/arch.h>
#include <asm/mach/arch.h>
#include <asm/mach/map.h>
#include <asm/mach/map.h>
...
@@ -722,7 +722,6 @@ MACHINE_START(OMAP_4430SDP, "OMAP4430 4430SDP board")
...
@@ -722,7 +722,6 @@ MACHINE_START(OMAP_4430SDP, "OMAP4430 4430SDP board")
.
map_io
=
omap4_map_io
,
.
map_io
=
omap4_map_io
,
.
init_early
=
omap4430_init_early
,
.
init_early
=
omap4430_init_early
,
.
init_irq
=
gic_init_irq
,
.
init_irq
=
gic_init_irq
,
.
handle_irq
=
gic_handle_irq
,
.
init_machine
=
omap_4430sdp_init
,
.
init_machine
=
omap_4430sdp_init
,
.
init_late
=
omap4430_init_late
,
.
init_late
=
omap4430_init_late
,
.
timer
=
&
omap4_timer
,
.
timer
=
&
omap4_timer
,
...
...
arch/arm/mach-omap2/board-generic.c
浏览文件 @
4f5c1c04
...
@@ -16,7 +16,6 @@
...
@@ -16,7 +16,6 @@
#include <linux/of_platform.h>
#include <linux/of_platform.h>
#include <linux/irqdomain.h>
#include <linux/irqdomain.h>
#include <asm/hardware/gic.h>
#include <asm/mach/arch.h>
#include <asm/mach/arch.h>
#include "common.h"
#include "common.h"
...
@@ -156,7 +155,6 @@ DT_MACHINE_START(OMAP4_DT, "Generic OMAP4 (Flattened Device Tree)")
...
@@ -156,7 +155,6 @@ DT_MACHINE_START(OMAP4_DT, "Generic OMAP4 (Flattened Device Tree)")
.
map_io
=
omap4_map_io
,
.
map_io
=
omap4_map_io
,
.
init_early
=
omap4430_init_early
,
.
init_early
=
omap4430_init_early
,
.
init_irq
=
omap_gic_of_init
,
.
init_irq
=
omap_gic_of_init
,
.
handle_irq
=
gic_handle_irq
,
.
init_machine
=
omap_generic_init
,
.
init_machine
=
omap_generic_init
,
.
init_late
=
omap4430_init_late
,
.
init_late
=
omap4430_init_late
,
.
timer
=
&
omap4_timer
,
.
timer
=
&
omap4_timer
,
...
@@ -177,7 +175,6 @@ DT_MACHINE_START(OMAP5_DT, "Generic OMAP5 (Flattened Device Tree)")
...
@@ -177,7 +175,6 @@ DT_MACHINE_START(OMAP5_DT, "Generic OMAP5 (Flattened Device Tree)")
.
map_io
=
omap5_map_io
,
.
map_io
=
omap5_map_io
,
.
init_early
=
omap5_init_early
,
.
init_early
=
omap5_init_early
,
.
init_irq
=
omap_gic_of_init
,
.
init_irq
=
omap_gic_of_init
,
.
handle_irq
=
gic_handle_irq
,
.
init_machine
=
omap_generic_init
,
.
init_machine
=
omap_generic_init
,
.
timer
=
&
omap5_timer
,
.
timer
=
&
omap5_timer
,
.
dt_compat
=
omap5_boards_compat
,
.
dt_compat
=
omap5_boards_compat
,
...
...
arch/arm/mach-omap2/board-omap4panda.c
浏览文件 @
4f5c1c04
...
@@ -31,9 +31,9 @@
...
@@ -31,9 +31,9 @@
#include <linux/ti_wilink_st.h>
#include <linux/ti_wilink_st.h>
#include <linux/usb/musb.h>
#include <linux/usb/musb.h>
#include <linux/wl12xx.h>
#include <linux/wl12xx.h>
#include <linux/irqchip/arm-gic.h>
#include <linux/platform_data/omap-abe-twl6040.h>
#include <linux/platform_data/omap-abe-twl6040.h>
#include <asm/hardware/gic.h>
#include <asm/mach-types.h>
#include <asm/mach-types.h>
#include <asm/mach/arch.h>
#include <asm/mach/arch.h>
#include <asm/mach/map.h>
#include <asm/mach/map.h>
...
@@ -459,7 +459,6 @@ MACHINE_START(OMAP4_PANDA, "OMAP4 Panda board")
...
@@ -459,7 +459,6 @@ MACHINE_START(OMAP4_PANDA, "OMAP4 Panda board")
.
map_io
=
omap4_map_io
,
.
map_io
=
omap4_map_io
,
.
init_early
=
omap4430_init_early
,
.
init_early
=
omap4430_init_early
,
.
init_irq
=
gic_init_irq
,
.
init_irq
=
gic_init_irq
,
.
handle_irq
=
gic_handle_irq
,
.
init_machine
=
omap4_panda_init
,
.
init_machine
=
omap4_panda_init
,
.
init_late
=
omap4430_init_late
,
.
init_late
=
omap4430_init_late
,
.
timer
=
&
omap4_timer
,
.
timer
=
&
omap4_timer
,
...
...
arch/arm/mach-omap2/omap-smp.c
浏览文件 @
4f5c1c04
...
@@ -19,9 +19,9 @@
...
@@ -19,9 +19,9 @@
#include <linux/device.h>
#include <linux/device.h>
#include <linux/smp.h>
#include <linux/smp.h>
#include <linux/io.h>
#include <linux/io.h>
#include <linux/irqchip/arm-gic.h>
#include <asm/cacheflush.h>
#include <asm/cacheflush.h>
#include <asm/hardware/gic.h>
#include <asm/smp_scu.h>
#include <asm/smp_scu.h>
#include "omap-secure.h"
#include "omap-secure.h"
...
@@ -157,7 +157,7 @@ static int __cpuinit omap4_boot_secondary(unsigned int cpu, struct task_struct *
...
@@ -157,7 +157,7 @@ static int __cpuinit omap4_boot_secondary(unsigned int cpu, struct task_struct *
booted
=
true
;
booted
=
true
;
}
}
gic_raise_softirq
(
cpumask_of
(
cpu
),
0
);
arch_send_wakeup_ipi_mask
(
cpumask_of
(
cpu
)
);
/*
/*
* Now the secondary core is starting up let it run its
* Now the secondary core is starting up let it run its
...
@@ -231,8 +231,6 @@ static void __init omap4_smp_init_cpus(void)
...
@@ -231,8 +231,6 @@ static void __init omap4_smp_init_cpus(void)
for
(
i
=
0
;
i
<
ncores
;
i
++
)
for
(
i
=
0
;
i
<
ncores
;
i
++
)
set_cpu_possible
(
i
,
true
);
set_cpu_possible
(
i
,
true
);
set_smp_cross_call
(
gic_raise_softirq
);
}
}
static
void
__init
omap4_smp_prepare_cpus
(
unsigned
int
max_cpus
)
static
void
__init
omap4_smp_prepare_cpus
(
unsigned
int
max_cpus
)
...
...
arch/arm/mach-omap2/omap-wakeupgen.c
浏览文件 @
4f5c1c04
...
@@ -24,8 +24,7 @@
...
@@ -24,8 +24,7 @@
#include <linux/cpu.h>
#include <linux/cpu.h>
#include <linux/notifier.h>
#include <linux/notifier.h>
#include <linux/cpu_pm.h>
#include <linux/cpu_pm.h>
#include <linux/irqchip/arm-gic.h>
#include <asm/hardware/gic.h>
#include "omap-wakeupgen.h"
#include "omap-wakeupgen.h"
#include "omap-secure.h"
#include "omap-secure.h"
...
...
arch/arm/mach-omap2/omap4-common.c
浏览文件 @
4f5c1c04
...
@@ -15,13 +15,14 @@
...
@@ -15,13 +15,14 @@
#include <linux/init.h>
#include <linux/init.h>
#include <linux/io.h>
#include <linux/io.h>
#include <linux/irq.h>
#include <linux/irq.h>
#include <linux/irqchip.h>
#include <linux/platform_device.h>
#include <linux/platform_device.h>
#include <linux/memblock.h>
#include <linux/memblock.h>
#include <linux/of_irq.h>
#include <linux/of_irq.h>
#include <linux/of_platform.h>
#include <linux/of_platform.h>
#include <linux/export.h>
#include <linux/export.h>
#include <linux/irqchip/arm-gic.h>
#include <asm/hardware/gic.h>
#include <asm/hardware/cache-l2x0.h>
#include <asm/hardware/cache-l2x0.h>
#include <asm/mach/map.h>
#include <asm/mach/map.h>
#include <asm/memblock.h>
#include <asm/memblock.h>
...
@@ -255,16 +256,10 @@ static int __init omap4_sar_ram_init(void)
...
@@ -255,16 +256,10 @@ static int __init omap4_sar_ram_init(void)
}
}
early_initcall
(
omap4_sar_ram_init
);
early_initcall
(
omap4_sar_ram_init
);
static
struct
of_device_id
irq_match
[]
__initdata
=
{
{
.
compatible
=
"arm,cortex-a9-gic"
,
.
data
=
gic_of_init
,
},
{
.
compatible
=
"arm,cortex-a15-gic"
,
.
data
=
gic_of_init
,
},
{
}
};
void
__init
omap_gic_of_init
(
void
)
void
__init
omap_gic_of_init
(
void
)
{
{
omap_wakeupgen_init
();
omap_wakeupgen_init
();
of_irq_init
(
irq_match
);
irqchip_init
(
);
}
}
#if defined(CONFIG_MMC_OMAP_HS) || defined(CONFIG_MMC_OMAP_HS_MODULE)
#if defined(CONFIG_MMC_OMAP_HS) || defined(CONFIG_MMC_OMAP_HS_MODULE)
...
...
arch/arm/mach-picoxcell/common.c
浏览文件 @
4f5c1c04
...
@@ -9,6 +9,7 @@
...
@@ -9,6 +9,7 @@
*/
*/
#include <linux/delay.h>
#include <linux/delay.h>
#include <linux/irq.h>
#include <linux/irq.h>
#include <linux/irqchip.h>
#include <linux/irqdomain.h>
#include <linux/irqdomain.h>
#include <linux/of.h>
#include <linux/of.h>
#include <linux/of_address.h>
#include <linux/of_address.h>
...
@@ -17,7 +18,6 @@
...
@@ -17,7 +18,6 @@
#include <linux/dw_apb_timer.h>
#include <linux/dw_apb_timer.h>
#include <asm/mach/arch.h>
#include <asm/mach/arch.h>
#include <asm/hardware/vic.h>
#include <asm/mach/map.h>
#include <asm/mach/map.h>
#include "common.h"
#include "common.h"
...
@@ -70,16 +70,6 @@ static const char *picoxcell_dt_match[] = {
...
@@ -70,16 +70,6 @@ static const char *picoxcell_dt_match[] = {
NULL
NULL
};
};
static
const
struct
of_device_id
vic_of_match
[]
__initconst
=
{
{
.
compatible
=
"arm,pl192-vic"
,
.
data
=
vic_of_init
,
},
{
/* Sentinel */
}
};
static
void
__init
picoxcell_init_irq
(
void
)
{
of_irq_init
(
vic_of_match
);
}
static
void
picoxcell_wdt_restart
(
char
mode
,
const
char
*
cmd
)
static
void
picoxcell_wdt_restart
(
char
mode
,
const
char
*
cmd
)
{
{
/*
/*
...
@@ -97,8 +87,7 @@ static void picoxcell_wdt_restart(char mode, const char *cmd)
...
@@ -97,8 +87,7 @@ static void picoxcell_wdt_restart(char mode, const char *cmd)
DT_MACHINE_START
(
PICOXCELL
,
"Picochip picoXcell"
)
DT_MACHINE_START
(
PICOXCELL
,
"Picochip picoXcell"
)
.
map_io
=
picoxcell_map_io
,
.
map_io
=
picoxcell_map_io
,
.
nr_irqs
=
NR_IRQS_LEGACY
,
.
nr_irqs
=
NR_IRQS_LEGACY
,
.
init_irq
=
picoxcell_init_irq
,
.
init_irq
=
irqchip_init
,
.
handle_irq
=
vic_handle_irq
,
.
timer
=
&
dw_apb_timer
,
.
timer
=
&
dw_apb_timer
,
.
init_machine
=
picoxcell_init_machine
,
.
init_machine
=
picoxcell_init_machine
,
.
dt_compat
=
picoxcell_dt_match
,
.
dt_compat
=
picoxcell_dt_match
,
...
...
arch/arm/mach-realview/core.c
浏览文件 @
4f5c1c04
...
@@ -42,7 +42,6 @@
...
@@ -42,7 +42,6 @@
#include <asm/mach/irq.h>
#include <asm/mach/irq.h>
#include <asm/mach/map.h>
#include <asm/mach/map.h>
#include <asm/hardware/gic.h>
#include <mach/platform.h>
#include <mach/platform.h>
#include <mach/irqs.h>
#include <mach/irqs.h>
...
...
arch/arm/mach-realview/platsmp.c
浏览文件 @
4f5c1c04
...
@@ -14,7 +14,6 @@
...
@@ -14,7 +14,6 @@
#include <linux/io.h>
#include <linux/io.h>
#include <mach/hardware.h>
#include <mach/hardware.h>
#include <asm/hardware/gic.h>
#include <asm/mach-types.h>
#include <asm/mach-types.h>
#include <asm/smp_scu.h>
#include <asm/smp_scu.h>
...
@@ -59,8 +58,6 @@ static void __init realview_smp_init_cpus(void)
...
@@ -59,8 +58,6 @@ static void __init realview_smp_init_cpus(void)
for
(
i
=
0
;
i
<
ncores
;
i
++
)
for
(
i
=
0
;
i
<
ncores
;
i
++
)
set_cpu_possible
(
i
,
true
);
set_cpu_possible
(
i
,
true
);
set_smp_cross_call
(
gic_raise_softirq
);
}
}
static
void
__init
realview_smp_prepare_cpus
(
unsigned
int
max_cpus
)
static
void
__init
realview_smp_prepare_cpus
(
unsigned
int
max_cpus
)
...
...
arch/arm/mach-realview/realview_eb.c
浏览文件 @
4f5c1c04
...
@@ -27,13 +27,13 @@
...
@@ -27,13 +27,13 @@
#include <linux/amba/mmci.h>
#include <linux/amba/mmci.h>
#include <linux/amba/pl022.h>
#include <linux/amba/pl022.h>
#include <linux/io.h>
#include <linux/io.h>
#include <linux/irqchip/arm-gic.h>
#include <linux/platform_data/clk-realview.h>
#include <linux/platform_data/clk-realview.h>
#include <mach/hardware.h>
#include <mach/hardware.h>
#include <asm/irq.h>
#include <asm/irq.h>
#include <asm/mach-types.h>
#include <asm/mach-types.h>
#include <asm/pgtable.h>
#include <asm/pgtable.h>
#include <asm/hardware/gic.h>
#include <asm/hardware/cache-l2x0.h>
#include <asm/hardware/cache-l2x0.h>
#include <asm/smp_twd.h>
#include <asm/smp_twd.h>
...
@@ -473,7 +473,6 @@ MACHINE_START(REALVIEW_EB, "ARM-RealView EB")
...
@@ -473,7 +473,6 @@ MACHINE_START(REALVIEW_EB, "ARM-RealView EB")
.
init_early
=
realview_init_early
,
.
init_early
=
realview_init_early
,
.
init_irq
=
gic_init_irq
,
.
init_irq
=
gic_init_irq
,
.
timer
=
&
realview_eb_timer
,
.
timer
=
&
realview_eb_timer
,
.
handle_irq
=
gic_handle_irq
,
.
init_machine
=
realview_eb_init
,
.
init_machine
=
realview_eb_init
,
#ifdef CONFIG_ZONE_DMA
#ifdef CONFIG_ZONE_DMA
.
dma_zone_size
=
SZ_256M
,
.
dma_zone_size
=
SZ_256M
,
...
...
arch/arm/mach-realview/realview_pb1176.c
浏览文件 @
4f5c1c04
...
@@ -29,13 +29,13 @@
...
@@ -29,13 +29,13 @@
#include <linux/mtd/physmap.h>
#include <linux/mtd/physmap.h>
#include <linux/mtd/partitions.h>
#include <linux/mtd/partitions.h>
#include <linux/io.h>
#include <linux/io.h>
#include <linux/irqchip/arm-gic.h>
#include <linux/platform_data/clk-realview.h>
#include <linux/platform_data/clk-realview.h>
#include <mach/hardware.h>
#include <mach/hardware.h>
#include <asm/irq.h>
#include <asm/irq.h>
#include <asm/mach-types.h>
#include <asm/mach-types.h>
#include <asm/pgtable.h>
#include <asm/pgtable.h>
#include <asm/hardware/gic.h>
#include <asm/hardware/cache-l2x0.h>
#include <asm/hardware/cache-l2x0.h>
#include <asm/mach/arch.h>
#include <asm/mach/arch.h>
...
@@ -385,7 +385,6 @@ MACHINE_START(REALVIEW_PB1176, "ARM-RealView PB1176")
...
@@ -385,7 +385,6 @@ MACHINE_START(REALVIEW_PB1176, "ARM-RealView PB1176")
.
init_early
=
realview_init_early
,
.
init_early
=
realview_init_early
,
.
init_irq
=
gic_init_irq
,
.
init_irq
=
gic_init_irq
,
.
timer
=
&
realview_pb1176_timer
,
.
timer
=
&
realview_pb1176_timer
,
.
handle_irq
=
gic_handle_irq
,
.
init_machine
=
realview_pb1176_init
,
.
init_machine
=
realview_pb1176_init
,
#ifdef CONFIG_ZONE_DMA
#ifdef CONFIG_ZONE_DMA
.
dma_zone_size
=
SZ_256M
,
.
dma_zone_size
=
SZ_256M
,
...
...
arch/arm/mach-realview/realview_pb11mp.c
浏览文件 @
4f5c1c04
...
@@ -27,13 +27,13 @@
...
@@ -27,13 +27,13 @@
#include <linux/amba/mmci.h>
#include <linux/amba/mmci.h>
#include <linux/amba/pl022.h>
#include <linux/amba/pl022.h>
#include <linux/io.h>
#include <linux/io.h>
#include <linux/irqchip/arm-gic.h>
#include <linux/platform_data/clk-realview.h>
#include <linux/platform_data/clk-realview.h>
#include <mach/hardware.h>
#include <mach/hardware.h>
#include <asm/irq.h>
#include <asm/irq.h>
#include <asm/mach-types.h>
#include <asm/mach-types.h>
#include <asm/pgtable.h>
#include <asm/pgtable.h>
#include <asm/hardware/gic.h>
#include <asm/hardware/cache-l2x0.h>
#include <asm/hardware/cache-l2x0.h>
#include <asm/smp_twd.h>
#include <asm/smp_twd.h>
...
@@ -368,7 +368,6 @@ MACHINE_START(REALVIEW_PB11MP, "ARM-RealView PB11MPCore")
...
@@ -368,7 +368,6 @@ MACHINE_START(REALVIEW_PB11MP, "ARM-RealView PB11MPCore")
.
init_early
=
realview_init_early
,
.
init_early
=
realview_init_early
,
.
init_irq
=
gic_init_irq
,
.
init_irq
=
gic_init_irq
,
.
timer
=
&
realview_pb11mp_timer
,
.
timer
=
&
realview_pb11mp_timer
,
.
handle_irq
=
gic_handle_irq
,
.
init_machine
=
realview_pb11mp_init
,
.
init_machine
=
realview_pb11mp_init
,
#ifdef CONFIG_ZONE_DMA
#ifdef CONFIG_ZONE_DMA
.
dma_zone_size
=
SZ_256M
,
.
dma_zone_size
=
SZ_256M
,
...
...
arch/arm/mach-realview/realview_pba8.c
浏览文件 @
4f5c1c04
...
@@ -27,12 +27,12 @@
...
@@ -27,12 +27,12 @@
#include <linux/amba/mmci.h>
#include <linux/amba/mmci.h>
#include <linux/amba/pl022.h>
#include <linux/amba/pl022.h>
#include <linux/io.h>
#include <linux/io.h>
#include <linux/irqchip/arm-gic.h>
#include <linux/platform_data/clk-realview.h>
#include <linux/platform_data/clk-realview.h>
#include <asm/irq.h>
#include <asm/irq.h>
#include <asm/mach-types.h>
#include <asm/mach-types.h>
#include <asm/pgtable.h>
#include <asm/pgtable.h>
#include <asm/hardware/gic.h>
#include <asm/mach/arch.h>
#include <asm/mach/arch.h>
#include <asm/mach/map.h>
#include <asm/mach/map.h>
...
@@ -309,7 +309,6 @@ MACHINE_START(REALVIEW_PBA8, "ARM-RealView PB-A8")
...
@@ -309,7 +309,6 @@ MACHINE_START(REALVIEW_PBA8, "ARM-RealView PB-A8")
.
init_early
=
realview_init_early
,
.
init_early
=
realview_init_early
,
.
init_irq
=
gic_init_irq
,
.
init_irq
=
gic_init_irq
,
.
timer
=
&
realview_pba8_timer
,
.
timer
=
&
realview_pba8_timer
,
.
handle_irq
=
gic_handle_irq
,
.
init_machine
=
realview_pba8_init
,
.
init_machine
=
realview_pba8_init
,
#ifdef CONFIG_ZONE_DMA
#ifdef CONFIG_ZONE_DMA
.
dma_zone_size
=
SZ_256M
,
.
dma_zone_size
=
SZ_256M
,
...
...
arch/arm/mach-realview/realview_pbx.c
浏览文件 @
4f5c1c04
...
@@ -26,13 +26,13 @@
...
@@ -26,13 +26,13 @@
#include <linux/amba/mmci.h>
#include <linux/amba/mmci.h>
#include <linux/amba/pl022.h>
#include <linux/amba/pl022.h>
#include <linux/io.h>
#include <linux/io.h>
#include <linux/irqchip/arm-gic.h>
#include <linux/platform_data/clk-realview.h>
#include <linux/platform_data/clk-realview.h>
#include <asm/irq.h>
#include <asm/irq.h>
#include <asm/mach-types.h>
#include <asm/mach-types.h>
#include <asm/smp_twd.h>
#include <asm/smp_twd.h>
#include <asm/pgtable.h>
#include <asm/pgtable.h>
#include <asm/hardware/gic.h>
#include <asm/hardware/cache-l2x0.h>
#include <asm/hardware/cache-l2x0.h>
#include <asm/mach/arch.h>
#include <asm/mach/arch.h>
...
@@ -405,7 +405,6 @@ MACHINE_START(REALVIEW_PBX, "ARM-RealView PBX")
...
@@ -405,7 +405,6 @@ MACHINE_START(REALVIEW_PBX, "ARM-RealView PBX")
.
init_early
=
realview_init_early
,
.
init_early
=
realview_init_early
,
.
init_irq
=
gic_init_irq
,
.
init_irq
=
gic_init_irq
,
.
timer
=
&
realview_pbx_timer
,
.
timer
=
&
realview_pbx_timer
,
.
handle_irq
=
gic_handle_irq
,
.
init_machine
=
realview_pbx_init
,
.
init_machine
=
realview_pbx_init
,
#ifdef CONFIG_ZONE_DMA
#ifdef CONFIG_ZONE_DMA
.
dma_zone_size
=
SZ_256M
,
.
dma_zone_size
=
SZ_256M
,
...
...
arch/arm/mach-s3c64xx/common.c
浏览文件 @
4f5c1c04
...
@@ -25,10 +25,10 @@
...
@@ -25,10 +25,10 @@
#include <linux/dma-mapping.h>
#include <linux/dma-mapping.h>
#include <linux/irq.h>
#include <linux/irq.h>
#include <linux/gpio.h>
#include <linux/gpio.h>
#include <linux/irqchip/arm-vic.h>
#include <asm/mach/arch.h>
#include <asm/mach/arch.h>
#include <asm/mach/map.h>
#include <asm/mach/map.h>
#include <asm/hardware/vic.h>
#include <asm/system_misc.h>
#include <asm/system_misc.h>
#include <mach/map.h>
#include <mach/map.h>
...
...
arch/arm/mach-s3c64xx/include/mach/regs-irq.h
浏览文件 @
4f5c1c04
...
@@ -15,6 +15,5 @@
...
@@ -15,6 +15,5 @@
#ifndef __ASM_ARCH_REGS_IRQ_H
#ifndef __ASM_ARCH_REGS_IRQ_H
#define __ASM_ARCH_REGS_IRQ_H __FILE__
#define __ASM_ARCH_REGS_IRQ_H __FILE__
#include <asm/hardware/vic.h>
#endif
/* __ASM_ARCH_6400_REGS_IRQ_H */
#endif
/* __ASM_ARCH_6400_REGS_IRQ_H */
arch/arm/mach-s3c64xx/include/mach/tick.h
浏览文件 @
4f5c1c04
...
@@ -15,6 +15,8 @@
...
@@ -15,6 +15,8 @@
#ifndef __ASM_ARCH_TICK_H
#ifndef __ASM_ARCH_TICK_H
#define __ASM_ARCH_TICK_H __FILE__
#define __ASM_ARCH_TICK_H __FILE__
#include <linux/irqchip/arm-vic.h>
/* note, the timer interrutps turn up in 2 places, the vic and then
/* note, the timer interrutps turn up in 2 places, the vic and then
* the timer block. We take the VIC as the base at the moment.
* the timer block. We take the VIC as the base at the moment.
*/
*/
...
...
arch/arm/mach-s3c64xx/mach-anw6410.c
浏览文件 @
4f5c1c04
...
@@ -31,7 +31,6 @@
...
@@ -31,7 +31,6 @@
#include <video/platform_lcd.h>
#include <video/platform_lcd.h>
#include <video/samsung_fimd.h>
#include <video/samsung_fimd.h>
#include <asm/hardware/vic.h>
#include <asm/mach/arch.h>
#include <asm/mach/arch.h>
#include <asm/mach/map.h>
#include <asm/mach/map.h>
#include <asm/mach/irq.h>
#include <asm/mach/irq.h>
...
@@ -230,7 +229,6 @@ MACHINE_START(ANW6410, "A&W6410")
...
@@ -230,7 +229,6 @@ MACHINE_START(ANW6410, "A&W6410")
.
atag_offset
=
0x100
,
.
atag_offset
=
0x100
,
.
init_irq
=
s3c6410_init_irq
,
.
init_irq
=
s3c6410_init_irq
,
.
handle_irq
=
vic_handle_irq
,
.
map_io
=
anw6410_map_io
,
.
map_io
=
anw6410_map_io
,
.
init_machine
=
anw6410_machine_init
,
.
init_machine
=
anw6410_machine_init
,
.
init_late
=
s3c64xx_init_late
,
.
init_late
=
s3c64xx_init_late
,
...
...
arch/arm/mach-s3c64xx/mach-crag6410.c
浏览文件 @
4f5c1c04
...
@@ -42,7 +42,6 @@
...
@@ -42,7 +42,6 @@
#include <sound/wm1250-ev1.h>
#include <sound/wm1250-ev1.h>
#include <asm/hardware/vic.h>
#include <asm/mach/arch.h>
#include <asm/mach/arch.h>
#include <asm/mach-types.h>
#include <asm/mach-types.h>
...
@@ -867,7 +866,6 @@ MACHINE_START(WLF_CRAGG_6410, "Wolfson Cragganmore 6410")
...
@@ -867,7 +866,6 @@ MACHINE_START(WLF_CRAGG_6410, "Wolfson Cragganmore 6410")
/* Maintainer: Mark Brown <broonie@opensource.wolfsonmicro.com> */
/* Maintainer: Mark Brown <broonie@opensource.wolfsonmicro.com> */
.
atag_offset
=
0x100
,
.
atag_offset
=
0x100
,
.
init_irq
=
s3c6410_init_irq
,
.
init_irq
=
s3c6410_init_irq
,
.
handle_irq
=
vic_handle_irq
,
.
map_io
=
crag6410_map_io
,
.
map_io
=
crag6410_map_io
,
.
init_machine
=
crag6410_machine_init
,
.
init_machine
=
crag6410_machine_init
,
.
init_late
=
s3c64xx_init_late
,
.
init_late
=
s3c64xx_init_late
,
...
...
arch/arm/mach-s3c64xx/mach-hmt.c
浏览文件 @
4f5c1c04
...
@@ -30,7 +30,6 @@
...
@@ -30,7 +30,6 @@
#include <mach/hardware.h>
#include <mach/hardware.h>
#include <mach/map.h>
#include <mach/map.h>
#include <asm/hardware/vic.h>
#include <asm/irq.h>
#include <asm/irq.h>
#include <asm/mach-types.h>
#include <asm/mach-types.h>
...
@@ -273,7 +272,6 @@ MACHINE_START(HMT, "Airgoo-HMT")
...
@@ -273,7 +272,6 @@ MACHINE_START(HMT, "Airgoo-HMT")
/* Maintainer: Peter Korsgaard <jacmet@sunsite.dk> */
/* Maintainer: Peter Korsgaard <jacmet@sunsite.dk> */
.
atag_offset
=
0x100
,
.
atag_offset
=
0x100
,
.
init_irq
=
s3c6410_init_irq
,
.
init_irq
=
s3c6410_init_irq
,
.
handle_irq
=
vic_handle_irq
,
.
map_io
=
hmt_map_io
,
.
map_io
=
hmt_map_io
,
.
init_machine
=
hmt_machine_init
,
.
init_machine
=
hmt_machine_init
,
.
init_late
=
s3c64xx_init_late
,
.
init_late
=
s3c64xx_init_late
,
...
...
arch/arm/mach-s3c64xx/mach-mini6410.c
浏览文件 @
4f5c1c04
...
@@ -24,7 +24,6 @@
...
@@ -24,7 +24,6 @@
#include <linux/serial_core.h>
#include <linux/serial_core.h>
#include <linux/types.h>
#include <linux/types.h>
#include <asm/hardware/vic.h>
#include <asm/mach-types.h>
#include <asm/mach-types.h>
#include <asm/mach/arch.h>
#include <asm/mach/arch.h>
#include <asm/mach/map.h>
#include <asm/mach/map.h>
...
@@ -352,7 +351,6 @@ MACHINE_START(MINI6410, "MINI6410")
...
@@ -352,7 +351,6 @@ MACHINE_START(MINI6410, "MINI6410")
/* Maintainer: Darius Augulis <augulis.darius@gmail.com> */
/* Maintainer: Darius Augulis <augulis.darius@gmail.com> */
.
atag_offset
=
0x100
,
.
atag_offset
=
0x100
,
.
init_irq
=
s3c6410_init_irq
,
.
init_irq
=
s3c6410_init_irq
,
.
handle_irq
=
vic_handle_irq
,
.
map_io
=
mini6410_map_io
,
.
map_io
=
mini6410_map_io
,
.
init_machine
=
mini6410_machine_init
,
.
init_machine
=
mini6410_machine_init
,
.
init_late
=
s3c64xx_init_late
,
.
init_late
=
s3c64xx_init_late
,
...
...
arch/arm/mach-s3c64xx/mach-ncp.c
浏览文件 @
4f5c1c04
...
@@ -26,7 +26,6 @@
...
@@ -26,7 +26,6 @@
#include <video/platform_lcd.h>
#include <video/platform_lcd.h>
#include <video/samsung_fimd.h>
#include <video/samsung_fimd.h>
#include <asm/hardware/vic.h>
#include <asm/mach/arch.h>
#include <asm/mach/arch.h>
#include <asm/mach/map.h>
#include <asm/mach/map.h>
#include <asm/mach/irq.h>
#include <asm/mach/irq.h>
...
@@ -101,7 +100,6 @@ MACHINE_START(NCP, "NCP")
...
@@ -101,7 +100,6 @@ MACHINE_START(NCP, "NCP")
/* Maintainer: Samsung Electronics */
/* Maintainer: Samsung Electronics */
.
atag_offset
=
0x100
,
.
atag_offset
=
0x100
,
.
init_irq
=
s3c6410_init_irq
,
.
init_irq
=
s3c6410_init_irq
,
.
handle_irq
=
vic_handle_irq
,
.
map_io
=
ncp_map_io
,
.
map_io
=
ncp_map_io
,
.
init_machine
=
ncp_machine_init
,
.
init_machine
=
ncp_machine_init
,
.
init_late
=
s3c64xx_init_late
,
.
init_late
=
s3c64xx_init_late
,
...
...
arch/arm/mach-s3c64xx/mach-real6410.c
浏览文件 @
4f5c1c04
...
@@ -25,7 +25,6 @@
...
@@ -25,7 +25,6 @@
#include <linux/serial_core.h>
#include <linux/serial_core.h>
#include <linux/types.h>
#include <linux/types.h>
#include <asm/hardware/vic.h>
#include <asm/mach-types.h>
#include <asm/mach-types.h>
#include <asm/mach/arch.h>
#include <asm/mach/arch.h>
#include <asm/mach/map.h>
#include <asm/mach/map.h>
...
@@ -331,7 +330,6 @@ MACHINE_START(REAL6410, "REAL6410")
...
@@ -331,7 +330,6 @@ MACHINE_START(REAL6410, "REAL6410")
.
atag_offset
=
0x100
,
.
atag_offset
=
0x100
,
.
init_irq
=
s3c6410_init_irq
,
.
init_irq
=
s3c6410_init_irq
,
.
handle_irq
=
vic_handle_irq
,
.
map_io
=
real6410_map_io
,
.
map_io
=
real6410_map_io
,
.
init_machine
=
real6410_machine_init
,
.
init_machine
=
real6410_machine_init
,
.
init_late
=
s3c64xx_init_late
,
.
init_late
=
s3c64xx_init_late
,
...
...
arch/arm/mach-s3c64xx/mach-smartq5.c
浏览文件 @
4f5c1c04
...
@@ -17,7 +17,6 @@
...
@@ -17,7 +17,6 @@
#include <linux/leds.h>
#include <linux/leds.h>
#include <linux/platform_device.h>
#include <linux/platform_device.h>
#include <asm/hardware/vic.h>
#include <asm/mach-types.h>
#include <asm/mach-types.h>
#include <asm/mach/arch.h>
#include <asm/mach/arch.h>
...
@@ -153,7 +152,6 @@ MACHINE_START(SMARTQ5, "SmartQ 5")
...
@@ -153,7 +152,6 @@ MACHINE_START(SMARTQ5, "SmartQ 5")
/* Maintainer: Maurus Cuelenaere <mcuelenaere AT gmail DOT com> */
/* Maintainer: Maurus Cuelenaere <mcuelenaere AT gmail DOT com> */
.
atag_offset
=
0x100
,
.
atag_offset
=
0x100
,
.
init_irq
=
s3c6410_init_irq
,
.
init_irq
=
s3c6410_init_irq
,
.
handle_irq
=
vic_handle_irq
,
.
map_io
=
smartq_map_io
,
.
map_io
=
smartq_map_io
,
.
init_machine
=
smartq5_machine_init
,
.
init_machine
=
smartq5_machine_init
,
.
init_late
=
s3c64xx_init_late
,
.
init_late
=
s3c64xx_init_late
,
...
...
arch/arm/mach-s3c64xx/mach-smartq7.c
浏览文件 @
4f5c1c04
...
@@ -17,7 +17,6 @@
...
@@ -17,7 +17,6 @@
#include <linux/leds.h>
#include <linux/leds.h>
#include <linux/platform_device.h>
#include <linux/platform_device.h>
#include <asm/hardware/vic.h>
#include <asm/mach-types.h>
#include <asm/mach-types.h>
#include <asm/mach/arch.h>
#include <asm/mach/arch.h>
...
@@ -169,7 +168,6 @@ MACHINE_START(SMARTQ7, "SmartQ 7")
...
@@ -169,7 +168,6 @@ MACHINE_START(SMARTQ7, "SmartQ 7")
/* Maintainer: Maurus Cuelenaere <mcuelenaere AT gmail DOT com> */
/* Maintainer: Maurus Cuelenaere <mcuelenaere AT gmail DOT com> */
.
atag_offset
=
0x100
,
.
atag_offset
=
0x100
,
.
init_irq
=
s3c6410_init_irq
,
.
init_irq
=
s3c6410_init_irq
,
.
handle_irq
=
vic_handle_irq
,
.
map_io
=
smartq_map_io
,
.
map_io
=
smartq_map_io
,
.
init_machine
=
smartq7_machine_init
,
.
init_machine
=
smartq7_machine_init
,
.
init_late
=
s3c64xx_init_late
,
.
init_late
=
s3c64xx_init_late
,
...
...
arch/arm/mach-s3c64xx/mach-smdk6400.c
浏览文件 @
4f5c1c04
...
@@ -22,7 +22,6 @@
...
@@ -22,7 +22,6 @@
#include <asm/mach-types.h>
#include <asm/mach-types.h>
#include <asm/hardware/vic.h>
#include <asm/mach/arch.h>
#include <asm/mach/arch.h>
#include <asm/mach/map.h>
#include <asm/mach/map.h>
#include <asm/mach/irq.h>
#include <asm/mach/irq.h>
...
@@ -90,7 +89,6 @@ MACHINE_START(SMDK6400, "SMDK6400")
...
@@ -90,7 +89,6 @@ MACHINE_START(SMDK6400, "SMDK6400")
.
atag_offset
=
0x100
,
.
atag_offset
=
0x100
,
.
init_irq
=
s3c6400_init_irq
,
.
init_irq
=
s3c6400_init_irq
,
.
handle_irq
=
vic_handle_irq
,
.
map_io
=
smdk6400_map_io
,
.
map_io
=
smdk6400_map_io
,
.
init_machine
=
smdk6400_machine_init
,
.
init_machine
=
smdk6400_machine_init
,
.
init_late
=
s3c64xx_init_late
,
.
init_late
=
s3c64xx_init_late
,
...
...
arch/arm/mach-s3c64xx/mach-smdk6410.c
浏览文件 @
4f5c1c04
...
@@ -45,7 +45,6 @@
...
@@ -45,7 +45,6 @@
#include <video/platform_lcd.h>
#include <video/platform_lcd.h>
#include <video/samsung_fimd.h>
#include <video/samsung_fimd.h>
#include <asm/hardware/vic.h>
#include <asm/mach/arch.h>
#include <asm/mach/arch.h>
#include <asm/mach/map.h>
#include <asm/mach/map.h>
#include <asm/mach/irq.h>
#include <asm/mach/irq.h>
...
@@ -700,7 +699,6 @@ MACHINE_START(SMDK6410, "SMDK6410")
...
@@ -700,7 +699,6 @@ MACHINE_START(SMDK6410, "SMDK6410")
.
atag_offset
=
0x100
,
.
atag_offset
=
0x100
,
.
init_irq
=
s3c6410_init_irq
,
.
init_irq
=
s3c6410_init_irq
,
.
handle_irq
=
vic_handle_irq
,
.
map_io
=
smdk6410_map_io
,
.
map_io
=
smdk6410_map_io
,
.
init_machine
=
smdk6410_machine_init
,
.
init_machine
=
smdk6410_machine_init
,
.
init_late
=
s3c64xx_init_late
,
.
init_late
=
s3c64xx_init_late
,
...
...
arch/arm/mach-s5p64x0/include/mach/regs-irq.h
浏览文件 @
4f5c1c04
...
@@ -13,7 +13,6 @@
...
@@ -13,7 +13,6 @@
#ifndef __ASM_ARCH_REGS_IRQ_H
#ifndef __ASM_ARCH_REGS_IRQ_H
#define __ASM_ARCH_REGS_IRQ_H __FILE__
#define __ASM_ARCH_REGS_IRQ_H __FILE__
#include <asm/hardware/vic.h>
#include <mach/map.h>
#include <mach/map.h>
#endif
/* __ASM_ARCH_REGS_IRQ_H */
#endif
/* __ASM_ARCH_REGS_IRQ_H */
arch/arm/mach-s5p64x0/include/mach/tick.h
已删除
100644 → 0
浏览文件 @
37a42fca
/* linux/arch/arm/mach-s5p64x0/include/mach/tick.h
*
* Copyright (c) 2009-2010 Samsung Electronics Co., Ltd.
* http://www.samsung.com
*
* Copyright 2008 Openmoko, Inc.
* Copyright 2008 Simtec Electronics
* http://armlinux.simtec.co.uk/
* Ben Dooks <ben@simtec.co.uk>
*
* S5P64X0 - Timer tick support definitions
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
#ifndef __ASM_ARCH_TICK_H
#define __ASM_ARCH_TICK_H __FILE__
static
inline
u32
s3c24xx_ostimer_pending
(
void
)
{
u32
pend
=
__raw_readl
(
VA_VIC0
+
VIC_RAW_STATUS
);
return
pend
&
(
1
<<
(
IRQ_TIMER4_VIC
-
S5P_IRQ_VIC0
(
0
)));
}
#define TICK_MAX (0xffffffff)
#endif
/* __ASM_ARCH_TICK_H */
arch/arm/mach-s5p64x0/mach-smdk6440.c
浏览文件 @
4f5c1c04
...
@@ -29,7 +29,6 @@
...
@@ -29,7 +29,6 @@
#include <video/platform_lcd.h>
#include <video/platform_lcd.h>
#include <video/samsung_fimd.h>
#include <video/samsung_fimd.h>
#include <asm/hardware/vic.h>
#include <asm/mach/arch.h>
#include <asm/mach/arch.h>
#include <asm/mach/map.h>
#include <asm/mach/map.h>
#include <asm/irq.h>
#include <asm/irq.h>
...
@@ -272,7 +271,6 @@ MACHINE_START(SMDK6440, "SMDK6440")
...
@@ -272,7 +271,6 @@ MACHINE_START(SMDK6440, "SMDK6440")
.
atag_offset
=
0x100
,
.
atag_offset
=
0x100
,
.
init_irq
=
s5p6440_init_irq
,
.
init_irq
=
s5p6440_init_irq
,
.
handle_irq
=
vic_handle_irq
,
.
map_io
=
smdk6440_map_io
,
.
map_io
=
smdk6440_map_io
,
.
init_machine
=
smdk6440_machine_init
,
.
init_machine
=
smdk6440_machine_init
,
.
timer
=
&
s5p_timer
,
.
timer
=
&
s5p_timer
,
...
...
arch/arm/mach-s5p64x0/mach-smdk6450.c
浏览文件 @
4f5c1c04
...
@@ -29,7 +29,6 @@
...
@@ -29,7 +29,6 @@
#include <video/platform_lcd.h>
#include <video/platform_lcd.h>
#include <video/samsung_fimd.h>
#include <video/samsung_fimd.h>
#include <asm/hardware/vic.h>
#include <asm/mach/arch.h>
#include <asm/mach/arch.h>
#include <asm/mach/map.h>
#include <asm/mach/map.h>
#include <asm/irq.h>
#include <asm/irq.h>
...
@@ -291,7 +290,6 @@ MACHINE_START(SMDK6450, "SMDK6450")
...
@@ -291,7 +290,6 @@ MACHINE_START(SMDK6450, "SMDK6450")
.
atag_offset
=
0x100
,
.
atag_offset
=
0x100
,
.
init_irq
=
s5p6450_init_irq
,
.
init_irq
=
s5p6450_init_irq
,
.
handle_irq
=
vic_handle_irq
,
.
map_io
=
smdk6450_map_io
,
.
map_io
=
smdk6450_map_io
,
.
init_machine
=
smdk6450_machine_init
,
.
init_machine
=
smdk6450_machine_init
,
.
timer
=
&
s5p_timer
,
.
timer
=
&
s5p_timer
,
...
...
arch/arm/mach-s5pc100/include/mach/regs-irq.h
浏览文件 @
4f5c1c04
...
@@ -14,6 +14,5 @@
...
@@ -14,6 +14,5 @@
#define __ASM_ARCH_REGS_IRQ_H __FILE__
#define __ASM_ARCH_REGS_IRQ_H __FILE__
#include <mach/map.h>
#include <mach/map.h>
#include <asm/hardware/vic.h>
#endif
/* __ASM_ARCH_REGS_IRQ_H */
#endif
/* __ASM_ARCH_REGS_IRQ_H */
arch/arm/mach-s5pc100/include/mach/tick.h
浏览文件 @
4f5c1c04
...
@@ -15,6 +15,8 @@
...
@@ -15,6 +15,8 @@
#ifndef __ASM_ARCH_TICK_H
#ifndef __ASM_ARCH_TICK_H
#define __ASM_ARCH_TICK_H __FILE__
#define __ASM_ARCH_TICK_H __FILE__
#include <linux/irqchip/arm-vic.h>
/* note, the timer interrutps turn up in 2 places, the vic and then
/* note, the timer interrutps turn up in 2 places, the vic and then
* the timer block. We take the VIC as the base at the moment.
* the timer block. We take the VIC as the base at the moment.
*/
*/
...
...
arch/arm/mach-s5pc100/mach-smdkc100.c
浏览文件 @
4f5c1c04
...
@@ -25,7 +25,6 @@
...
@@ -25,7 +25,6 @@
#include <linux/input.h>
#include <linux/input.h>
#include <linux/pwm_backlight.h>
#include <linux/pwm_backlight.h>
#include <asm/hardware/vic.h>
#include <asm/mach/arch.h>
#include <asm/mach/arch.h>
#include <asm/mach/map.h>
#include <asm/mach/map.h>
...
@@ -254,7 +253,6 @@ MACHINE_START(SMDKC100, "SMDKC100")
...
@@ -254,7 +253,6 @@ MACHINE_START(SMDKC100, "SMDKC100")
/* Maintainer: Byungho Min <bhmin@samsung.com> */
/* Maintainer: Byungho Min <bhmin@samsung.com> */
.
atag_offset
=
0x100
,
.
atag_offset
=
0x100
,
.
init_irq
=
s5pc100_init_irq
,
.
init_irq
=
s5pc100_init_irq
,
.
handle_irq
=
vic_handle_irq
,
.
map_io
=
smdkc100_map_io
,
.
map_io
=
smdkc100_map_io
,
.
init_machine
=
smdkc100_machine_init
,
.
init_machine
=
smdkc100_machine_init
,
.
timer
=
&
s3c24xx_timer
,
.
timer
=
&
s3c24xx_timer
,
...
...
arch/arm/mach-s5pv210/include/mach/regs-irq.h
浏览文件 @
4f5c1c04
...
@@ -13,7 +13,6 @@
...
@@ -13,7 +13,6 @@
#ifndef __ASM_ARCH_REGS_IRQ_H
#ifndef __ASM_ARCH_REGS_IRQ_H
#define __ASM_ARCH_REGS_IRQ_H __FILE__
#define __ASM_ARCH_REGS_IRQ_H __FILE__
#include <asm/hardware/vic.h>
#include <mach/map.h>
#include <mach/map.h>
#endif
/* __ASM_ARCH_REGS_IRQ_H */
#endif
/* __ASM_ARCH_REGS_IRQ_H */
arch/arm/mach-s5pv210/include/mach/tick.h
已删除
100644 → 0
浏览文件 @
37a42fca
/* linux/arch/arm/mach-s5pv210/include/mach/tick.h
*
* Copyright (c) 2009 Samsung Electronics Co., Ltd.
* http://www.samsung.com/
*
* Based on arch/arm/mach-s3c6400/include/mach/tick.h
*
* S5PV210 - Timer tick support definitions
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
#ifndef __ASM_ARCH_TICK_H
#define __ASM_ARCH_TICK_H __FILE__
static
inline
u32
s3c24xx_ostimer_pending
(
void
)
{
u32
pend
=
__raw_readl
(
VA_VIC0
+
VIC_RAW_STATUS
);
return
pend
&
(
1
<<
(
IRQ_TIMER4_VIC
-
S5P_IRQ_VIC0
(
0
)));
}
#define TICK_MAX (0xffffffff)
#endif
/* __ASM_ARCH_TICK_H */
arch/arm/mach-s5pv210/mach-aquila.c
浏览文件 @
4f5c1c04
...
@@ -22,7 +22,6 @@
...
@@ -22,7 +22,6 @@
#include <linux/input.h>
#include <linux/input.h>
#include <linux/gpio.h>
#include <linux/gpio.h>
#include <asm/hardware/vic.h>
#include <asm/mach/arch.h>
#include <asm/mach/arch.h>
#include <asm/mach/map.h>
#include <asm/mach/map.h>
#include <asm/setup.h>
#include <asm/setup.h>
...
@@ -685,7 +684,6 @@ MACHINE_START(AQUILA, "Aquila")
...
@@ -685,7 +684,6 @@ MACHINE_START(AQUILA, "Aquila")
Kyungmin Park <kyungmin.park@samsung.com> */
Kyungmin Park <kyungmin.park@samsung.com> */
.
atag_offset
=
0x100
,
.
atag_offset
=
0x100
,
.
init_irq
=
s5pv210_init_irq
,
.
init_irq
=
s5pv210_init_irq
,
.
handle_irq
=
vic_handle_irq
,
.
map_io
=
aquila_map_io
,
.
map_io
=
aquila_map_io
,
.
init_machine
=
aquila_machine_init
,
.
init_machine
=
aquila_machine_init
,
.
timer
=
&
s5p_timer
,
.
timer
=
&
s5p_timer
,
...
...
arch/arm/mach-s5pv210/mach-goni.c
浏览文件 @
4f5c1c04
...
@@ -29,7 +29,6 @@
...
@@ -29,7 +29,6 @@
#include <linux/interrupt.h>
#include <linux/interrupt.h>
#include <linux/platform_data/s3c-hsotg.h>
#include <linux/platform_data/s3c-hsotg.h>
#include <asm/hardware/vic.h>
#include <asm/mach/arch.h>
#include <asm/mach/arch.h>
#include <asm/mach/map.h>
#include <asm/mach/map.h>
#include <asm/setup.h>
#include <asm/setup.h>
...
@@ -972,7 +971,6 @@ MACHINE_START(GONI, "GONI")
...
@@ -972,7 +971,6 @@ MACHINE_START(GONI, "GONI")
/* Maintainers: Kyungmin Park <kyungmin.park@samsung.com> */
/* Maintainers: Kyungmin Park <kyungmin.park@samsung.com> */
.
atag_offset
=
0x100
,
.
atag_offset
=
0x100
,
.
init_irq
=
s5pv210_init_irq
,
.
init_irq
=
s5pv210_init_irq
,
.
handle_irq
=
vic_handle_irq
,
.
map_io
=
goni_map_io
,
.
map_io
=
goni_map_io
,
.
init_machine
=
goni_machine_init
,
.
init_machine
=
goni_machine_init
,
.
timer
=
&
s5p_timer
,
.
timer
=
&
s5p_timer
,
...
...
arch/arm/mach-s5pv210/mach-smdkc110.c
浏览文件 @
4f5c1c04
...
@@ -15,7 +15,6 @@
...
@@ -15,7 +15,6 @@
#include <linux/i2c.h>
#include <linux/i2c.h>
#include <linux/device.h>
#include <linux/device.h>
#include <asm/hardware/vic.h>
#include <asm/mach/arch.h>
#include <asm/mach/arch.h>
#include <asm/mach/map.h>
#include <asm/mach/map.h>
#include <asm/setup.h>
#include <asm/setup.h>
...
@@ -152,7 +151,6 @@ MACHINE_START(SMDKC110, "SMDKC110")
...
@@ -152,7 +151,6 @@ MACHINE_START(SMDKC110, "SMDKC110")
/* Maintainer: Kukjin Kim <kgene.kim@samsung.com> */
/* Maintainer: Kukjin Kim <kgene.kim@samsung.com> */
.
atag_offset
=
0x100
,
.
atag_offset
=
0x100
,
.
init_irq
=
s5pv210_init_irq
,
.
init_irq
=
s5pv210_init_irq
,
.
handle_irq
=
vic_handle_irq
,
.
map_io
=
smdkc110_map_io
,
.
map_io
=
smdkc110_map_io
,
.
init_machine
=
smdkc110_machine_init
,
.
init_machine
=
smdkc110_machine_init
,
.
timer
=
&
s5p_timer
,
.
timer
=
&
s5p_timer
,
...
...
arch/arm/mach-s5pv210/mach-smdkv210.c
浏览文件 @
4f5c1c04
...
@@ -21,7 +21,6 @@
...
@@ -21,7 +21,6 @@
#include <linux/pwm_backlight.h>
#include <linux/pwm_backlight.h>
#include <linux/platform_data/s3c-hsotg.h>
#include <linux/platform_data/s3c-hsotg.h>
#include <asm/hardware/vic.h>
#include <asm/mach/arch.h>
#include <asm/mach/arch.h>
#include <asm/mach/map.h>
#include <asm/mach/map.h>
#include <asm/setup.h>
#include <asm/setup.h>
...
@@ -328,7 +327,6 @@ MACHINE_START(SMDKV210, "SMDKV210")
...
@@ -328,7 +327,6 @@ MACHINE_START(SMDKV210, "SMDKV210")
/* Maintainer: Kukjin Kim <kgene.kim@samsung.com> */
/* Maintainer: Kukjin Kim <kgene.kim@samsung.com> */
.
atag_offset
=
0x100
,
.
atag_offset
=
0x100
,
.
init_irq
=
s5pv210_init_irq
,
.
init_irq
=
s5pv210_init_irq
,
.
handle_irq
=
vic_handle_irq
,
.
map_io
=
smdkv210_map_io
,
.
map_io
=
smdkv210_map_io
,
.
init_machine
=
smdkv210_machine_init
,
.
init_machine
=
smdkv210_machine_init
,
.
timer
=
&
s5p_timer
,
.
timer
=
&
s5p_timer
,
...
...
arch/arm/mach-s5pv210/mach-torbreck.c
浏览文件 @
4f5c1c04
...
@@ -14,7 +14,6 @@
...
@@ -14,7 +14,6 @@
#include <linux/init.h>
#include <linux/init.h>
#include <linux/serial_core.h>
#include <linux/serial_core.h>
#include <asm/hardware/vic.h>
#include <asm/mach/arch.h>
#include <asm/mach/arch.h>
#include <asm/mach/map.h>
#include <asm/mach/map.h>
#include <asm/setup.h>
#include <asm/setup.h>
...
@@ -129,7 +128,6 @@ MACHINE_START(TORBRECK, "TORBRECK")
...
@@ -129,7 +128,6 @@ MACHINE_START(TORBRECK, "TORBRECK")
/* Maintainer: Hyunchul Ko <ghcstop@gmail.com> */
/* Maintainer: Hyunchul Ko <ghcstop@gmail.com> */
.
atag_offset
=
0x100
,
.
atag_offset
=
0x100
,
.
init_irq
=
s5pv210_init_irq
,
.
init_irq
=
s5pv210_init_irq
,
.
handle_irq
=
vic_handle_irq
,
.
map_io
=
torbreck_map_io
,
.
map_io
=
torbreck_map_io
,
.
init_machine
=
torbreck_machine_init
,
.
init_machine
=
torbreck_machine_init
,
.
timer
=
&
s5p_timer
,
.
timer
=
&
s5p_timer
,
...
...
arch/arm/mach-shmobile/board-ag5evm.c
浏览文件 @
4f5c1c04
...
@@ -40,6 +40,7 @@
...
@@ -40,6 +40,7 @@
#include <linux/mmc/sh_mobile_sdhi.h>
#include <linux/mmc/sh_mobile_sdhi.h>
#include <linux/mfd/tmio.h>
#include <linux/mfd/tmio.h>
#include <linux/sh_clk.h>
#include <linux/sh_clk.h>
#include <linux/irqchip/arm-gic.h>
#include <video/sh_mobile_lcdc.h>
#include <video/sh_mobile_lcdc.h>
#include <video/sh_mipi_dsi.h>
#include <video/sh_mipi_dsi.h>
#include <sound/sh_fsi.h>
#include <sound/sh_fsi.h>
...
@@ -49,7 +50,6 @@
...
@@ -49,7 +50,6 @@
#include <mach/common.h>
#include <mach/common.h>
#include <asm/mach-types.h>
#include <asm/mach-types.h>
#include <asm/mach/arch.h>
#include <asm/mach/arch.h>
#include <asm/hardware/gic.h>
#include <asm/hardware/cache-l2x0.h>
#include <asm/hardware/cache-l2x0.h>
#include <asm/traps.h>
#include <asm/traps.h>
...
@@ -668,7 +668,6 @@ MACHINE_START(AG5EVM, "ag5evm")
...
@@ -668,7 +668,6 @@ MACHINE_START(AG5EVM, "ag5evm")
.
init_early
=
sh73a0_add_early_devices
,
.
init_early
=
sh73a0_add_early_devices
,
.
nr_irqs
=
NR_IRQS_LEGACY
,
.
nr_irqs
=
NR_IRQS_LEGACY
,
.
init_irq
=
sh73a0_init_irq
,
.
init_irq
=
sh73a0_init_irq
,
.
handle_irq
=
gic_handle_irq
,
.
init_machine
=
ag5evm_init
,
.
init_machine
=
ag5evm_init
,
.
init_late
=
shmobile_init_late
,
.
init_late
=
shmobile_init_late
,
.
timer
=
&
shmobile_timer
,
.
timer
=
&
shmobile_timer
,
...
...
arch/arm/mach-shmobile/board-kota2.c
浏览文件 @
4f5c1c04
...
@@ -35,6 +35,7 @@
...
@@ -35,6 +35,7 @@
#include <linux/input/sh_keysc.h>
#include <linux/input/sh_keysc.h>
#include <linux/gpio_keys.h>
#include <linux/gpio_keys.h>
#include <linux/leds.h>
#include <linux/leds.h>
#include <linux/irqchip/arm-gic.h>
#include <linux/platform_data/leds-renesas-tpu.h>
#include <linux/platform_data/leds-renesas-tpu.h>
#include <linux/mmc/host.h>
#include <linux/mmc/host.h>
#include <linux/mmc/sh_mmcif.h>
#include <linux/mmc/sh_mmcif.h>
...
@@ -47,7 +48,6 @@
...
@@ -47,7 +48,6 @@
#include <asm/mach-types.h>
#include <asm/mach-types.h>
#include <asm/mach/arch.h>
#include <asm/mach/arch.h>
#include <asm/mach/time.h>
#include <asm/mach/time.h>
#include <asm/hardware/gic.h>
#include <asm/hardware/cache-l2x0.h>
#include <asm/hardware/cache-l2x0.h>
#include <asm/traps.h>
#include <asm/traps.h>
...
@@ -550,7 +550,6 @@ MACHINE_START(KOTA2, "kota2")
...
@@ -550,7 +550,6 @@ MACHINE_START(KOTA2, "kota2")
.
init_early
=
sh73a0_add_early_devices
,
.
init_early
=
sh73a0_add_early_devices
,
.
nr_irqs
=
NR_IRQS_LEGACY
,
.
nr_irqs
=
NR_IRQS_LEGACY
,
.
init_irq
=
sh73a0_init_irq
,
.
init_irq
=
sh73a0_init_irq
,
.
handle_irq
=
gic_handle_irq
,
.
init_machine
=
kota2_init
,
.
init_machine
=
kota2_init
,
.
init_late
=
shmobile_init_late
,
.
init_late
=
shmobile_init_late
,
.
timer
=
&
shmobile_timer
,
.
timer
=
&
shmobile_timer
,
...
...
arch/arm/mach-shmobile/board-kzm9d.c
浏览文件 @
4f5c1c04
...
@@ -28,7 +28,6 @@
...
@@ -28,7 +28,6 @@
#include <mach/emev2.h>
#include <mach/emev2.h>
#include <asm/mach-types.h>
#include <asm/mach-types.h>
#include <asm/mach/arch.h>
#include <asm/mach/arch.h>
#include <asm/hardware/gic.h>
/* Dummy supplies, where voltage doesn't matter */
/* Dummy supplies, where voltage doesn't matter */
static
struct
regulator_consumer_supply
dummy_supplies
[]
=
{
static
struct
regulator_consumer_supply
dummy_supplies
[]
=
{
...
@@ -89,7 +88,6 @@ DT_MACHINE_START(KZM9D_DT, "kzm9d")
...
@@ -89,7 +88,6 @@ DT_MACHINE_START(KZM9D_DT, "kzm9d")
.
init_early
=
emev2_add_early_devices
,
.
init_early
=
emev2_add_early_devices
,
.
nr_irqs
=
NR_IRQS_LEGACY
,
.
nr_irqs
=
NR_IRQS_LEGACY
,
.
init_irq
=
emev2_init_irq
,
.
init_irq
=
emev2_init_irq
,
.
handle_irq
=
gic_handle_irq
,
.
init_machine
=
kzm9d_add_standard_devices
,
.
init_machine
=
kzm9d_add_standard_devices
,
.
init_late
=
shmobile_init_late
,
.
init_late
=
shmobile_init_late
,
.
timer
=
&
shmobile_timer
,
.
timer
=
&
shmobile_timer
,
...
...
arch/arm/mach-shmobile/board-kzm9g.c
浏览文件 @
4f5c1c04
...
@@ -25,6 +25,7 @@
...
@@ -25,6 +25,7 @@
#include <linux/i2c.h>
#include <linux/i2c.h>
#include <linux/i2c/pcf857x.h>
#include <linux/i2c/pcf857x.h>
#include <linux/input.h>
#include <linux/input.h>
#include <linux/irqchip/arm-gic.h>
#include <linux/mmc/host.h>
#include <linux/mmc/host.h>
#include <linux/mmc/sh_mmcif.h>
#include <linux/mmc/sh_mmcif.h>
#include <linux/mmc/sh_mobile_sdhi.h>
#include <linux/mmc/sh_mobile_sdhi.h>
...
@@ -42,7 +43,6 @@
...
@@ -42,7 +43,6 @@
#include <mach/sh73a0.h>
#include <mach/sh73a0.h>
#include <mach/common.h>
#include <mach/common.h>
#include <asm/hardware/cache-l2x0.h>
#include <asm/hardware/cache-l2x0.h>
#include <asm/hardware/gic.h>
#include <asm/mach-types.h>
#include <asm/mach-types.h>
#include <asm/mach/arch.h>
#include <asm/mach/arch.h>
#include <video/sh_mobile_lcdc.h>
#include <video/sh_mobile_lcdc.h>
...
@@ -792,7 +792,6 @@ DT_MACHINE_START(KZM9G_DT, "kzm9g")
...
@@ -792,7 +792,6 @@ DT_MACHINE_START(KZM9G_DT, "kzm9g")
.
init_early
=
sh73a0_add_early_devices
,
.
init_early
=
sh73a0_add_early_devices
,
.
nr_irqs
=
NR_IRQS_LEGACY
,
.
nr_irqs
=
NR_IRQS_LEGACY
,
.
init_irq
=
sh73a0_init_irq
,
.
init_irq
=
sh73a0_init_irq
,
.
handle_irq
=
gic_handle_irq
,
.
init_machine
=
kzm_init
,
.
init_machine
=
kzm_init
,
.
init_late
=
shmobile_init_late
,
.
init_late
=
shmobile_init_late
,
.
timer
=
&
shmobile_timer
,
.
timer
=
&
shmobile_timer
,
...
...
arch/arm/mach-shmobile/board-marzen.c
浏览文件 @
4f5c1c04
...
@@ -44,7 +44,6 @@
...
@@ -44,7 +44,6 @@
#include <mach/irqs.h>
#include <mach/irqs.h>
#include <asm/mach-types.h>
#include <asm/mach-types.h>
#include <asm/mach/arch.h>
#include <asm/mach/arch.h>
#include <asm/hardware/gic.h>
#include <asm/traps.h>
#include <asm/traps.h>
/* Fixed 3.3V regulator to be used by SDHI0 */
/* Fixed 3.3V regulator to be used by SDHI0 */
...
@@ -382,7 +381,6 @@ MACHINE_START(MARZEN, "marzen")
...
@@ -382,7 +381,6 @@ MACHINE_START(MARZEN, "marzen")
.
init_early
=
r8a7779_add_early_devices
,
.
init_early
=
r8a7779_add_early_devices
,
.
nr_irqs
=
NR_IRQS_LEGACY
,
.
nr_irqs
=
NR_IRQS_LEGACY
,
.
init_irq
=
r8a7779_init_irq
,
.
init_irq
=
r8a7779_init_irq
,
.
handle_irq
=
gic_handle_irq
,
.
init_machine
=
marzen_init
,
.
init_machine
=
marzen_init
,
.
init_late
=
marzen_init_late
,
.
init_late
=
marzen_init_late
,
.
timer
=
&
shmobile_timer
,
.
timer
=
&
shmobile_timer
,
...
...
arch/arm/mach-shmobile/intc-r8a7779.c
浏览文件 @
4f5c1c04
...
@@ -22,10 +22,10 @@
...
@@ -22,10 +22,10 @@
#include <linux/interrupt.h>
#include <linux/interrupt.h>
#include <linux/irq.h>
#include <linux/irq.h>
#include <linux/io.h>
#include <linux/io.h>
#include <linux/irqchip/arm-gic.h>
#include <mach/common.h>
#include <mach/common.h>
#include <mach/intc.h>
#include <mach/intc.h>
#include <mach/r8a7779.h>
#include <mach/r8a7779.h>
#include <asm/hardware/gic.h>
#include <asm/mach-types.h>
#include <asm/mach-types.h>
#include <asm/mach/arch.h>
#include <asm/mach/arch.h>
...
...
arch/arm/mach-shmobile/intc-sh73a0.c
浏览文件 @
4f5c1c04
...
@@ -23,10 +23,10 @@
...
@@ -23,10 +23,10 @@
#include <linux/irq.h>
#include <linux/irq.h>
#include <linux/io.h>
#include <linux/io.h>
#include <linux/sh_intc.h>
#include <linux/sh_intc.h>
#include <linux/irqchip/arm-gic.h>
#include <mach/intc.h>
#include <mach/intc.h>
#include <mach/irqs.h>
#include <mach/irqs.h>
#include <mach/sh73a0.h>
#include <mach/sh73a0.h>
#include <asm/hardware/gic.h>
#include <asm/mach-types.h>
#include <asm/mach-types.h>
#include <asm/mach/arch.h>
#include <asm/mach/arch.h>
...
...
arch/arm/mach-shmobile/platsmp.c
浏览文件 @
4f5c1c04
...
@@ -12,7 +12,6 @@
...
@@ -12,7 +12,6 @@
*/
*/
#include <linux/init.h>
#include <linux/init.h>
#include <linux/smp.h>
#include <linux/smp.h>
#include <asm/hardware/gic.h>
void
__init
shmobile_smp_init_cpus
(
unsigned
int
ncores
)
void
__init
shmobile_smp_init_cpus
(
unsigned
int
ncores
)
{
{
...
@@ -26,6 +25,4 @@ void __init shmobile_smp_init_cpus(unsigned int ncores)
...
@@ -26,6 +25,4 @@ void __init shmobile_smp_init_cpus(unsigned int ncores)
for
(
i
=
0
;
i
<
ncores
;
i
++
)
for
(
i
=
0
;
i
<
ncores
;
i
++
)
set_cpu_possible
(
i
,
true
);
set_cpu_possible
(
i
,
true
);
set_smp_cross_call
(
gic_raise_softirq
);
}
}
arch/arm/mach-shmobile/setup-emev2.c
浏览文件 @
4f5c1c04
...
@@ -20,13 +20,14 @@
...
@@ -20,13 +20,14 @@
#include <linux/init.h>
#include <linux/init.h>
#include <linux/interrupt.h>
#include <linux/interrupt.h>
#include <linux/irq.h>
#include <linux/irq.h>
#include <linux/irqchip.h>
#include <linux/platform_device.h>
#include <linux/platform_device.h>
#include <linux/platform_data/gpio-em.h>
#include <linux/platform_data/gpio-em.h>
#include <linux/of_platform.h>
#include <linux/of_platform.h>
#include <linux/delay.h>
#include <linux/delay.h>
#include <linux/input.h>
#include <linux/input.h>
#include <linux/io.h>
#include <linux/io.h>
#include <linux/
of_irq
.h>
#include <linux/
irqchip/arm-gic
.h>
#include <mach/hardware.h>
#include <mach/hardware.h>
#include <mach/common.h>
#include <mach/common.h>
#include <mach/emev2.h>
#include <mach/emev2.h>
...
@@ -35,7 +36,6 @@
...
@@ -35,7 +36,6 @@
#include <asm/mach/arch.h>
#include <asm/mach/arch.h>
#include <asm/mach/map.h>
#include <asm/mach/map.h>
#include <asm/mach/time.h>
#include <asm/mach/time.h>
#include <asm/hardware/gic.h>
static
struct
map_desc
emev2_io_desc
[]
__initdata
=
{
static
struct
map_desc
emev2_io_desc
[]
__initdata
=
{
#ifdef CONFIG_SMP
#ifdef CONFIG_SMP
...
@@ -445,27 +445,16 @@ void __init emev2_add_standard_devices_dt(void)
...
@@ -445,27 +445,16 @@ void __init emev2_add_standard_devices_dt(void)
emev2_auxdata_lookup
,
NULL
);
emev2_auxdata_lookup
,
NULL
);
}
}
static
const
struct
of_device_id
emev2_dt_irq_match
[]
=
{
{
.
compatible
=
"arm,cortex-a9-gic"
,
.
data
=
gic_of_init
,
},
{},
};
static
const
char
*
emev2_boards_compat_dt
[]
__initdata
=
{
static
const
char
*
emev2_boards_compat_dt
[]
__initdata
=
{
"renesas,emev2"
,
"renesas,emev2"
,
NULL
,
NULL
,
};
};
void
__init
emev2_init_irq_dt
(
void
)
{
of_irq_init
(
emev2_dt_irq_match
);
}
DT_MACHINE_START
(
EMEV2_DT
,
"Generic Emma Mobile EV2 (Flattened Device Tree)"
)
DT_MACHINE_START
(
EMEV2_DT
,
"Generic Emma Mobile EV2 (Flattened Device Tree)"
)
.
smp
=
smp_ops
(
emev2_smp_ops
),
.
smp
=
smp_ops
(
emev2_smp_ops
),
.
init_early
=
emev2_init_delay
,
.
init_early
=
emev2_init_delay
,
.
nr_irqs
=
NR_IRQS_LEGACY
,
.
nr_irqs
=
NR_IRQS_LEGACY
,
.
init_irq
=
emev2_init_irq_dt
,
.
init_irq
=
irqchip_init
,
.
handle_irq
=
gic_handle_irq
,
.
init_machine
=
emev2_add_standard_devices_dt
,
.
init_machine
=
emev2_add_standard_devices_dt
,
.
timer
=
&
shmobile_timer
,
.
timer
=
&
shmobile_timer
,
.
dt_compat
=
emev2_boards_compat_dt
,
.
dt_compat
=
emev2_boards_compat_dt
,
...
...
arch/arm/mach-shmobile/smp-emev2.c
浏览文件 @
4f5c1c04
...
@@ -23,11 +23,11 @@
...
@@ -23,11 +23,11 @@
#include <linux/spinlock.h>
#include <linux/spinlock.h>
#include <linux/io.h>
#include <linux/io.h>
#include <linux/delay.h>
#include <linux/delay.h>
#include <linux/irqchip/arm-gic.h>
#include <mach/common.h>
#include <mach/common.h>
#include <mach/emev2.h>
#include <mach/emev2.h>
#include <asm/smp_plat.h>
#include <asm/smp_plat.h>
#include <asm/smp_scu.h>
#include <asm/smp_scu.h>
#include <asm/hardware/gic.h>
#include <asm/cacheflush.h>
#include <asm/cacheflush.h>
#define EMEV2_SCU_BASE 0x1e000000
#define EMEV2_SCU_BASE 0x1e000000
...
@@ -100,7 +100,7 @@ static int __cpuinit emev2_boot_secondary(unsigned int cpu, struct task_struct *
...
@@ -100,7 +100,7 @@ static int __cpuinit emev2_boot_secondary(unsigned int cpu, struct task_struct *
/* Tell ROM loader about our vector (in headsmp.S) */
/* Tell ROM loader about our vector (in headsmp.S) */
emev2_set_boot_vector
(
__pa
(
shmobile_secondary_vector
));
emev2_set_boot_vector
(
__pa
(
shmobile_secondary_vector
));
gic_raise_softirq
(
cpumask_of
(
cpu
),
0
);
arch_send_wakeup_ipi_mask
(
cpumask_of
(
cpu
)
);
return
0
;
return
0
;
}
}
...
...
arch/arm/mach-shmobile/smp-r8a7779.c
浏览文件 @
4f5c1c04
...
@@ -23,12 +23,12 @@
...
@@ -23,12 +23,12 @@
#include <linux/spinlock.h>
#include <linux/spinlock.h>
#include <linux/io.h>
#include <linux/io.h>
#include <linux/delay.h>
#include <linux/delay.h>
#include <linux/irqchip/arm-gic.h>
#include <mach/common.h>
#include <mach/common.h>
#include <mach/r8a7779.h>
#include <mach/r8a7779.h>
#include <asm/smp_plat.h>
#include <asm/smp_plat.h>
#include <asm/smp_scu.h>
#include <asm/smp_scu.h>
#include <asm/smp_twd.h>
#include <asm/smp_twd.h>
#include <asm/hardware/gic.h>
#define AVECR IOMEM(0xfe700040)
#define AVECR IOMEM(0xfe700040)
...
...
arch/arm/mach-shmobile/smp-sh73a0.c
浏览文件 @
4f5c1c04
...
@@ -23,12 +23,12 @@
...
@@ -23,12 +23,12 @@
#include <linux/spinlock.h>
#include <linux/spinlock.h>
#include <linux/io.h>
#include <linux/io.h>
#include <linux/delay.h>
#include <linux/delay.h>
#include <linux/irqchip/arm-gic.h>
#include <mach/common.h>
#include <mach/common.h>
#include <asm/smp_plat.h>
#include <asm/smp_plat.h>
#include <mach/sh73a0.h>
#include <mach/sh73a0.h>
#include <asm/smp_scu.h>
#include <asm/smp_scu.h>
#include <asm/smp_twd.h>
#include <asm/smp_twd.h>
#include <asm/hardware/gic.h>
#define WUPCR IOMEM(0xe6151010)
#define WUPCR IOMEM(0xe6151010)
#define SRESCR IOMEM(0xe6151018)
#define SRESCR IOMEM(0xe6151018)
...
...
arch/arm/mach-socfpga/platsmp.c
浏览文件 @
4f5c1c04
...
@@ -22,9 +22,9 @@
...
@@ -22,9 +22,9 @@
#include <linux/io.h>
#include <linux/io.h>
#include <linux/of.h>
#include <linux/of.h>
#include <linux/of_address.h>
#include <linux/of_address.h>
#include <linux/irqchip/arm-gic.h>
#include <asm/cacheflush.h>
#include <asm/cacheflush.h>
#include <asm/hardware/gic.h>
#include <asm/smp_scu.h>
#include <asm/smp_scu.h>
#include <asm/smp_plat.h>
#include <asm/smp_plat.h>
...
@@ -83,8 +83,6 @@ static void __init socfpga_smp_init_cpus(void)
...
@@ -83,8 +83,6 @@ static void __init socfpga_smp_init_cpus(void)
for
(
i
=
0
;
i
<
ncores
;
i
++
)
for
(
i
=
0
;
i
<
ncores
;
i
++
)
set_cpu_possible
(
i
,
true
);
set_cpu_possible
(
i
,
true
);
set_smp_cross_call
(
gic_raise_softirq
);
}
}
static
void
__init
socfpga_smp_prepare_cpus
(
unsigned
int
max_cpus
)
static
void
__init
socfpga_smp_prepare_cpus
(
unsigned
int
max_cpus
)
...
...
arch/arm/mach-socfpga/socfpga.c
浏览文件 @
4f5c1c04
...
@@ -15,12 +15,12 @@
...
@@ -15,12 +15,12 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
*/
#include <linux/dw_apb_timer.h>
#include <linux/dw_apb_timer.h>
#include <linux/irqchip.h>
#include <linux/of_address.h>
#include <linux/of_address.h>
#include <linux/of_irq.h>
#include <linux/of_irq.h>
#include <linux/of_platform.h>
#include <linux/of_platform.h>
#include <asm/hardware/cache-l2x0.h>
#include <asm/hardware/cache-l2x0.h>
#include <asm/hardware/gic.h>
#include <asm/mach/arch.h>
#include <asm/mach/arch.h>
#include <asm/mach/map.h>
#include <asm/mach/map.h>
...
@@ -62,11 +62,6 @@ static void __init socfpga_map_io(void)
...
@@ -62,11 +62,6 @@ static void __init socfpga_map_io(void)
early_printk
(
"Early printk initialized
\n
"
);
early_printk
(
"Early printk initialized
\n
"
);
}
}
const
static
struct
of_device_id
irq_match
[]
=
{
{
.
compatible
=
"arm,cortex-a9-gic"
,
.
data
=
gic_of_init
,
},
{}
};
void
__init
socfpga_sysmgr_init
(
void
)
void
__init
socfpga_sysmgr_init
(
void
)
{
{
struct
device_node
*
np
;
struct
device_node
*
np
;
...
@@ -78,9 +73,9 @@ void __init socfpga_sysmgr_init(void)
...
@@ -78,9 +73,9 @@ void __init socfpga_sysmgr_init(void)
rst_manager_base_addr
=
of_iomap
(
np
,
0
);
rst_manager_base_addr
=
of_iomap
(
np
,
0
);
}
}
static
void
__init
gic
_init_irq
(
void
)
static
void
__init
socfpga
_init_irq
(
void
)
{
{
of_irq_init
(
irq_match
);
irqchip_init
(
);
socfpga_sysmgr_init
();
socfpga_sysmgr_init
();
}
}
...
@@ -105,8 +100,7 @@ static const char *altera_dt_match[] = {
...
@@ -105,8 +100,7 @@ static const char *altera_dt_match[] = {
DT_MACHINE_START
(
SOCFPGA
,
"Altera SOCFPGA"
)
DT_MACHINE_START
(
SOCFPGA
,
"Altera SOCFPGA"
)
.
smp
=
smp_ops
(
socfpga_smp_ops
),
.
smp
=
smp_ops
(
socfpga_smp_ops
),
.
map_io
=
socfpga_map_io
,
.
map_io
=
socfpga_map_io
,
.
init_irq
=
gic_init_irq
,
.
init_irq
=
socfpga_init_irq
,
.
handle_irq
=
gic_handle_irq
,
.
timer
=
&
dw_apb_timer
,
.
timer
=
&
dw_apb_timer
,
.
init_machine
=
socfpga_cyclone5_init
,
.
init_machine
=
socfpga_cyclone5_init
,
.
restart
=
socfpga_cyclone5_restart
,
.
restart
=
socfpga_cyclone5_restart
,
...
...
arch/arm/mach-spear13xx/include/mach/generic.h
浏览文件 @
4f5c1c04
...
@@ -28,7 +28,6 @@ extern struct dw_dma_slave nand_write_dma_priv;
...
@@ -28,7 +28,6 @@ extern struct dw_dma_slave nand_write_dma_priv;
/* Add spear13xx family function declarations here */
/* Add spear13xx family function declarations here */
void
__init
spear_setup_of_timer
(
void
);
void
__init
spear_setup_of_timer
(
void
);
void
__init
spear13xx_map_io
(
void
);
void
__init
spear13xx_map_io
(
void
);
void
__init
spear13xx_dt_init_irq
(
void
);
void
__init
spear13xx_l2x0_init
(
void
);
void
__init
spear13xx_l2x0_init
(
void
);
bool
dw_dma_filter
(
struct
dma_chan
*
chan
,
void
*
slave
);
bool
dw_dma_filter
(
struct
dma_chan
*
chan
,
void
*
slave
);
void
spear_restart
(
char
,
const
char
*
);
void
spear_restart
(
char
,
const
char
*
);
...
...
arch/arm/mach-spear13xx/platsmp.c
浏览文件 @
4f5c1c04
...
@@ -15,8 +15,8 @@
...
@@ -15,8 +15,8 @@
#include <linux/jiffies.h>
#include <linux/jiffies.h>
#include <linux/io.h>
#include <linux/io.h>
#include <linux/smp.h>
#include <linux/smp.h>
#include <linux/irqchip/arm-gic.h>
#include <asm/cacheflush.h>
#include <asm/cacheflush.h>
#include <asm/hardware/gic.h>
#include <asm/smp_scu.h>
#include <asm/smp_scu.h>
#include <mach/spear.h>
#include <mach/spear.h>
#include <mach/generic.h>
#include <mach/generic.h>
...
@@ -104,8 +104,6 @@ static void __init spear13xx_smp_init_cpus(void)
...
@@ -104,8 +104,6 @@ static void __init spear13xx_smp_init_cpus(void)
for
(
i
=
0
;
i
<
ncores
;
i
++
)
for
(
i
=
0
;
i
<
ncores
;
i
++
)
set_cpu_possible
(
i
,
true
);
set_cpu_possible
(
i
,
true
);
set_smp_cross_call
(
gic_raise_softirq
);
}
}
static
void
__init
spear13xx_smp_prepare_cpus
(
unsigned
int
max_cpus
)
static
void
__init
spear13xx_smp_prepare_cpus
(
unsigned
int
max_cpus
)
...
...
arch/arm/mach-spear13xx/spear1310.c
浏览文件 @
4f5c1c04
...
@@ -14,9 +14,9 @@
...
@@ -14,9 +14,9 @@
#define pr_fmt(fmt) "SPEAr1310: " fmt
#define pr_fmt(fmt) "SPEAr1310: " fmt
#include <linux/amba/pl022.h>
#include <linux/amba/pl022.h>
#include <linux/irqchip.h>
#include <linux/of_platform.h>
#include <linux/of_platform.h>
#include <linux/pata_arasan_cf_data.h>
#include <linux/pata_arasan_cf_data.h>
#include <asm/hardware/gic.h>
#include <asm/mach/arch.h>
#include <asm/mach/arch.h>
#include <asm/mach/map.h>
#include <asm/mach/map.h>
#include <mach/generic.h>
#include <mach/generic.h>
...
@@ -90,8 +90,7 @@ static void __init spear1310_map_io(void)
...
@@ -90,8 +90,7 @@ static void __init spear1310_map_io(void)
DT_MACHINE_START
(
SPEAR1310_DT
,
"ST SPEAr1310 SoC with Flattened Device Tree"
)
DT_MACHINE_START
(
SPEAR1310_DT
,
"ST SPEAr1310 SoC with Flattened Device Tree"
)
.
smp
=
smp_ops
(
spear13xx_smp_ops
),
.
smp
=
smp_ops
(
spear13xx_smp_ops
),
.
map_io
=
spear1310_map_io
,
.
map_io
=
spear1310_map_io
,
.
init_irq
=
spear13xx_dt_init_irq
,
.
init_irq
=
irqchip_init
,
.
handle_irq
=
gic_handle_irq
,
.
timer
=
&
spear13xx_timer
,
.
timer
=
&
spear13xx_timer
,
.
init_machine
=
spear1310_dt_init
,
.
init_machine
=
spear1310_dt_init
,
.
restart
=
spear_restart
,
.
restart
=
spear_restart
,
...
...
arch/arm/mach-spear13xx/spear1340.c
浏览文件 @
4f5c1c04
...
@@ -18,7 +18,7 @@
...
@@ -18,7 +18,7 @@
#include <linux/delay.h>
#include <linux/delay.h>
#include <linux/dw_dmac.h>
#include <linux/dw_dmac.h>
#include <linux/of_platform.h>
#include <linux/of_platform.h>
#include <
asm/hardware/gic
.h>
#include <
linux/irqchip
.h>
#include <asm/mach/arch.h>
#include <asm/mach/arch.h>
#include <mach/dma.h>
#include <mach/dma.h>
#include <mach/generic.h>
#include <mach/generic.h>
...
@@ -184,8 +184,7 @@ static const char * const spear1340_dt_board_compat[] = {
...
@@ -184,8 +184,7 @@ static const char * const spear1340_dt_board_compat[] = {
DT_MACHINE_START
(
SPEAR1340_DT
,
"ST SPEAr1340 SoC with Flattened Device Tree"
)
DT_MACHINE_START
(
SPEAR1340_DT
,
"ST SPEAr1340 SoC with Flattened Device Tree"
)
.
smp
=
smp_ops
(
spear13xx_smp_ops
),
.
smp
=
smp_ops
(
spear13xx_smp_ops
),
.
map_io
=
spear13xx_map_io
,
.
map_io
=
spear13xx_map_io
,
.
init_irq
=
spear13xx_dt_init_irq
,
.
init_irq
=
irqchip_init
,
.
handle_irq
=
gic_handle_irq
,
.
timer
=
&
spear13xx_timer
,
.
timer
=
&
spear13xx_timer
,
.
init_machine
=
spear1340_dt_init
,
.
init_machine
=
spear1340_dt_init
,
.
restart
=
spear_restart
,
.
restart
=
spear_restart
,
...
...
arch/arm/mach-spear13xx/spear13xx.c
浏览文件 @
4f5c1c04
...
@@ -17,9 +17,8 @@
...
@@ -17,9 +17,8 @@
#include <linux/clk.h>
#include <linux/clk.h>
#include <linux/dw_dmac.h>
#include <linux/dw_dmac.h>
#include <linux/err.h>
#include <linux/err.h>
#include <linux/of
_irq
.h>
#include <linux/of.h>
#include <asm/hardware/cache-l2x0.h>
#include <asm/hardware/cache-l2x0.h>
#include <asm/hardware/gic.h>
#include <asm/mach/map.h>
#include <asm/mach/map.h>
#include <asm/smp_twd.h>
#include <asm/smp_twd.h>
#include <mach/dma.h>
#include <mach/dma.h>
...
@@ -186,13 +185,3 @@ static void __init spear13xx_timer_init(void)
...
@@ -186,13 +185,3 @@ static void __init spear13xx_timer_init(void)
struct
sys_timer
spear13xx_timer
=
{
struct
sys_timer
spear13xx_timer
=
{
.
init
=
spear13xx_timer_init
,
.
init
=
spear13xx_timer_init
,
};
};
static
const
struct
of_device_id
gic_of_match
[]
__initconst
=
{
{
.
compatible
=
"arm,cortex-a9-gic"
,
.
data
=
gic_of_init
},
{
/* Sentinel */
}
};
void
__init
spear13xx_dt_init_irq
(
void
)
{
of_irq_init
(
gic_of_match
);
}
arch/arm/mach-spear3xx/include/mach/generic.h
浏览文件 @
4f5c1c04
...
@@ -30,7 +30,6 @@ extern struct pl08x_platform_data pl080_plat_data;
...
@@ -30,7 +30,6 @@ extern struct pl08x_platform_data pl080_plat_data;
void
__init
spear_setup_of_timer
(
void
);
void
__init
spear_setup_of_timer
(
void
);
void
__init
spear3xx_clk_init
(
void
);
void
__init
spear3xx_clk_init
(
void
);
void
__init
spear3xx_map_io
(
void
);
void
__init
spear3xx_map_io
(
void
);
void
__init
spear3xx_dt_init_irq
(
void
);
void
spear_restart
(
char
,
const
char
*
);
void
spear_restart
(
char
,
const
char
*
);
...
...
arch/arm/mach-spear3xx/spear300.c
浏览文件 @
4f5c1c04
...
@@ -14,8 +14,8 @@
...
@@ -14,8 +14,8 @@
#define pr_fmt(fmt) "SPEAr300: " fmt
#define pr_fmt(fmt) "SPEAr300: " fmt
#include <linux/amba/pl08x.h>
#include <linux/amba/pl08x.h>
#include <linux/irqchip.h>
#include <linux/of_platform.h>
#include <linux/of_platform.h>
#include <asm/hardware/vic.h>
#include <asm/mach/arch.h>
#include <asm/mach/arch.h>
#include <mach/generic.h>
#include <mach/generic.h>
#include <mach/spear.h>
#include <mach/spear.h>
...
@@ -212,8 +212,7 @@ static void __init spear300_map_io(void)
...
@@ -212,8 +212,7 @@ static void __init spear300_map_io(void)
DT_MACHINE_START
(
SPEAR300_DT
,
"ST SPEAr300 SoC with Flattened Device Tree"
)
DT_MACHINE_START
(
SPEAR300_DT
,
"ST SPEAr300 SoC with Flattened Device Tree"
)
.
map_io
=
spear300_map_io
,
.
map_io
=
spear300_map_io
,
.
init_irq
=
spear3xx_dt_init_irq
,
.
init_irq
=
irqchip_init
,
.
handle_irq
=
vic_handle_irq
,
.
timer
=
&
spear3xx_timer
,
.
timer
=
&
spear3xx_timer
,
.
init_machine
=
spear300_dt_init
,
.
init_machine
=
spear300_dt_init
,
.
restart
=
spear_restart
,
.
restart
=
spear_restart
,
...
...
arch/arm/mach-spear3xx/spear310.c
浏览文件 @
4f5c1c04
...
@@ -15,8 +15,8 @@
...
@@ -15,8 +15,8 @@
#include <linux/amba/pl08x.h>
#include <linux/amba/pl08x.h>
#include <linux/amba/serial.h>
#include <linux/amba/serial.h>
#include <linux/irqchip.h>
#include <linux/of_platform.h>
#include <linux/of_platform.h>
#include <asm/hardware/vic.h>
#include <asm/mach/arch.h>
#include <asm/mach/arch.h>
#include <mach/generic.h>
#include <mach/generic.h>
#include <mach/spear.h>
#include <mach/spear.h>
...
@@ -254,8 +254,7 @@ static void __init spear310_map_io(void)
...
@@ -254,8 +254,7 @@ static void __init spear310_map_io(void)
DT_MACHINE_START
(
SPEAR310_DT
,
"ST SPEAr310 SoC with Flattened Device Tree"
)
DT_MACHINE_START
(
SPEAR310_DT
,
"ST SPEAr310 SoC with Flattened Device Tree"
)
.
map_io
=
spear310_map_io
,
.
map_io
=
spear310_map_io
,
.
init_irq
=
spear3xx_dt_init_irq
,
.
init_irq
=
irqchip_init
,
.
handle_irq
=
vic_handle_irq
,
.
timer
=
&
spear3xx_timer
,
.
timer
=
&
spear3xx_timer
,
.
init_machine
=
spear310_dt_init
,
.
init_machine
=
spear310_dt_init
,
.
restart
=
spear_restart
,
.
restart
=
spear_restart
,
...
...
arch/arm/mach-spear3xx/spear320.c
浏览文件 @
4f5c1c04
...
@@ -16,8 +16,8 @@
...
@@ -16,8 +16,8 @@
#include <linux/amba/pl022.h>
#include <linux/amba/pl022.h>
#include <linux/amba/pl08x.h>
#include <linux/amba/pl08x.h>
#include <linux/amba/serial.h>
#include <linux/amba/serial.h>
#include <linux/irqchip.h>
#include <linux/of_platform.h>
#include <linux/of_platform.h>
#include <asm/hardware/vic.h>
#include <asm/mach/arch.h>
#include <asm/mach/arch.h>
#include <mach/generic.h>
#include <mach/generic.h>
#include <mach/spear.h>
#include <mach/spear.h>
...
@@ -268,8 +268,7 @@ static void __init spear320_map_io(void)
...
@@ -268,8 +268,7 @@ static void __init spear320_map_io(void)
DT_MACHINE_START
(
SPEAR320_DT
,
"ST SPEAr320 SoC with Flattened Device Tree"
)
DT_MACHINE_START
(
SPEAR320_DT
,
"ST SPEAr320 SoC with Flattened Device Tree"
)
.
map_io
=
spear320_map_io
,
.
map_io
=
spear320_map_io
,
.
init_irq
=
spear3xx_dt_init_irq
,
.
init_irq
=
irqchip_init
,
.
handle_irq
=
vic_handle_irq
,
.
timer
=
&
spear3xx_timer
,
.
timer
=
&
spear3xx_timer
,
.
init_machine
=
spear320_dt_init
,
.
init_machine
=
spear320_dt_init
,
.
restart
=
spear_restart
,
.
restart
=
spear_restart
,
...
...
arch/arm/mach-spear3xx/spear3xx.c
浏览文件 @
4f5c1c04
...
@@ -15,11 +15,8 @@
...
@@ -15,11 +15,8 @@
#include <linux/amba/pl022.h>
#include <linux/amba/pl022.h>
#include <linux/amba/pl08x.h>
#include <linux/amba/pl08x.h>
#include <linux/irqchip/spear-shirq.h>
#include <linux/of_irq.h>
#include <linux/io.h>
#include <linux/io.h>
#include <asm/hardware/pl080.h>
#include <asm/hardware/pl080.h>
#include <asm/hardware/vic.h>
#include <plat/pl080.h>
#include <plat/pl080.h>
#include <mach/generic.h>
#include <mach/generic.h>
#include <mach/spear.h>
#include <mach/spear.h>
...
@@ -119,16 +116,3 @@ static void __init spear3xx_timer_init(void)
...
@@ -119,16 +116,3 @@ static void __init spear3xx_timer_init(void)
struct
sys_timer
spear3xx_timer
=
{
struct
sys_timer
spear3xx_timer
=
{
.
init
=
spear3xx_timer_init
,
.
init
=
spear3xx_timer_init
,
};
};
static
const
struct
of_device_id
vic_of_match
[]
__initconst
=
{
{
.
compatible
=
"arm,pl190-vic"
,
.
data
=
vic_of_init
,
},
{
.
compatible
=
"st,spear300-shirq"
,
.
data
=
spear300_shirq_of_init
,
},
{
.
compatible
=
"st,spear310-shirq"
,
.
data
=
spear310_shirq_of_init
,
},
{
.
compatible
=
"st,spear320-shirq"
,
.
data
=
spear320_shirq_of_init
,
},
{
/* Sentinel */
}
};
void
__init
spear3xx_dt_init_irq
(
void
)
{
of_irq_init
(
vic_of_match
);
}
arch/arm/mach-spear6xx/spear6xx.c
浏览文件 @
4f5c1c04
...
@@ -16,12 +16,11 @@
...
@@ -16,12 +16,11 @@
#include <linux/amba/pl08x.h>
#include <linux/amba/pl08x.h>
#include <linux/clk.h>
#include <linux/clk.h>
#include <linux/err.h>
#include <linux/err.h>
#include <linux/irqchip.h>
#include <linux/of.h>
#include <linux/of.h>
#include <linux/of_address.h>
#include <linux/of_address.h>
#include <linux/of_irq.h>
#include <linux/of_platform.h>
#include <linux/of_platform.h>
#include <asm/hardware/pl080.h>
#include <asm/hardware/pl080.h>
#include <asm/hardware/vic.h>
#include <asm/mach/arch.h>
#include <asm/mach/arch.h>
#include <asm/mach/time.h>
#include <asm/mach/time.h>
#include <asm/mach/map.h>
#include <asm/mach/map.h>
...
@@ -425,20 +424,9 @@ static const char *spear600_dt_board_compat[] = {
...
@@ -425,20 +424,9 @@ static const char *spear600_dt_board_compat[] = {
NULL
NULL
};
};
static
const
struct
of_device_id
vic_of_match
[]
__initconst
=
{
{
.
compatible
=
"arm,pl190-vic"
,
.
data
=
vic_of_init
,
},
{
/* Sentinel */
}
};
static
void
__init
spear6xx_dt_init_irq
(
void
)
{
of_irq_init
(
vic_of_match
);
}
DT_MACHINE_START
(
SPEAR600_DT
,
"ST SPEAr600 (Flattened Device Tree)"
)
DT_MACHINE_START
(
SPEAR600_DT
,
"ST SPEAr600 (Flattened Device Tree)"
)
.
map_io
=
spear6xx_map_io
,
.
map_io
=
spear6xx_map_io
,
.
init_irq
=
spear6xx_dt_init_irq
,
.
init_irq
=
irqchip_init
,
.
handle_irq
=
vic_handle_irq
,
.
timer
=
&
spear6xx_timer
,
.
timer
=
&
spear6xx_timer
,
.
init_machine
=
spear600_dt_init
,
.
init_machine
=
spear600_dt_init
,
.
restart
=
spear_restart
,
.
restart
=
spear_restart
,
...
...
arch/arm/mach-sunxi/sunxi.c
浏览文件 @
4f5c1c04
...
@@ -21,8 +21,6 @@
...
@@ -21,8 +21,6 @@
#include <linux/irqchip/sunxi.h>
#include <linux/irqchip/sunxi.h>
#include <asm/hardware/vic.h>
#include <asm/mach/arch.h>
#include <asm/mach/arch.h>
#include <asm/mach/map.h>
#include <asm/mach/map.h>
...
...
arch/arm/mach-tegra/board-dt-tegra20.c
浏览文件 @
4f5c1c04
...
@@ -25,7 +25,6 @@
...
@@ -25,7 +25,6 @@
#include <linux/of.h>
#include <linux/of.h>
#include <linux/of_address.h>
#include <linux/of_address.h>
#include <linux/of_fdt.h>
#include <linux/of_fdt.h>
#include <linux/of_irq.h>
#include <linux/of_platform.h>
#include <linux/of_platform.h>
#include <linux/pda_power.h>
#include <linux/pda_power.h>
#include <linux/platform_data/tegra_usb.h>
#include <linux/platform_data/tegra_usb.h>
...
@@ -34,7 +33,6 @@
...
@@ -34,7 +33,6 @@
#include <linux/i2c-tegra.h>
#include <linux/i2c-tegra.h>
#include <linux/usb/tegra_usb_phy.h>
#include <linux/usb/tegra_usb_phy.h>
#include <asm/hardware/gic.h>
#include <asm/mach-types.h>
#include <asm/mach-types.h>
#include <asm/mach/arch.h>
#include <asm/mach/arch.h>
#include <asm/mach/time.h>
#include <asm/mach/time.h>
...
@@ -202,7 +200,6 @@ DT_MACHINE_START(TEGRA_DT, "nVidia Tegra20 (Flattened Device Tree)")
...
@@ -202,7 +200,6 @@ DT_MACHINE_START(TEGRA_DT, "nVidia Tegra20 (Flattened Device Tree)")
.
smp
=
smp_ops
(
tegra_smp_ops
),
.
smp
=
smp_ops
(
tegra_smp_ops
),
.
init_early
=
tegra20_init_early
,
.
init_early
=
tegra20_init_early
,
.
init_irq
=
tegra_dt_init_irq
,
.
init_irq
=
tegra_dt_init_irq
,
.
handle_irq
=
gic_handle_irq
,
.
timer
=
&
tegra_sys_timer
,
.
timer
=
&
tegra_sys_timer
,
.
init_machine
=
tegra_dt_init
,
.
init_machine
=
tegra_dt_init
,
.
init_late
=
tegra_dt_init_late
,
.
init_late
=
tegra_dt_init_late
,
...
...
arch/arm/mach-tegra/board-dt-tegra30.c
浏览文件 @
4f5c1c04
...
@@ -31,7 +31,6 @@
...
@@ -31,7 +31,6 @@
#include <linux/of_platform.h>
#include <linux/of_platform.h>
#include <asm/mach/arch.h>
#include <asm/mach/arch.h>
#include <asm/hardware/gic.h>
#include "board.h"
#include "board.h"
#include "clock.h"
#include "clock.h"
...
@@ -112,7 +111,6 @@ DT_MACHINE_START(TEGRA30_DT, "NVIDIA Tegra30 (Flattened Device Tree)")
...
@@ -112,7 +111,6 @@ DT_MACHINE_START(TEGRA30_DT, "NVIDIA Tegra30 (Flattened Device Tree)")
.
map_io
=
tegra_map_common_io
,
.
map_io
=
tegra_map_common_io
,
.
init_early
=
tegra30_init_early
,
.
init_early
=
tegra30_init_early
,
.
init_irq
=
tegra_dt_init_irq
,
.
init_irq
=
tegra_dt_init_irq
,
.
handle_irq
=
gic_handle_irq
,
.
timer
=
&
tegra_sys_timer
,
.
timer
=
&
tegra_sys_timer
,
.
init_machine
=
tegra30_dt_init
,
.
init_machine
=
tegra30_dt_init
,
.
init_late
=
tegra_init_late
,
.
init_late
=
tegra_init_late
,
...
...
arch/arm/mach-tegra/common.c
浏览文件 @
4f5c1c04
...
@@ -21,10 +21,9 @@
...
@@ -21,10 +21,9 @@
#include <linux/io.h>
#include <linux/io.h>
#include <linux/clk.h>
#include <linux/clk.h>
#include <linux/delay.h>
#include <linux/delay.h>
#include <linux/
of_irq
.h>
#include <linux/
irqchip
.h>
#include <asm/hardware/cache-l2x0.h>
#include <asm/hardware/cache-l2x0.h>
#include <asm/hardware/gic.h>
#include <mach/powergate.h>
#include <mach/powergate.h>
...
@@ -57,15 +56,10 @@ u32 tegra_uart_config[4] = {
...
@@ -57,15 +56,10 @@ u32 tegra_uart_config[4] = {
};
};
#ifdef CONFIG_OF
#ifdef CONFIG_OF
static
const
struct
of_device_id
tegra_dt_irq_match
[]
__initconst
=
{
{
.
compatible
=
"arm,cortex-a9-gic"
,
.
data
=
gic_of_init
},
{
}
};
void
__init
tegra_dt_init_irq
(
void
)
void
__init
tegra_dt_init_irq
(
void
)
{
{
tegra_init_irq
();
tegra_init_irq
();
of_irq_init
(
tegra_dt_irq_match
);
irqchip_init
(
);
}
}
#endif
#endif
...
...
arch/arm/mach-tegra/irq.c
浏览文件 @
4f5c1c04
...
@@ -22,8 +22,7 @@
...
@@ -22,8 +22,7 @@
#include <linux/irq.h>
#include <linux/irq.h>
#include <linux/io.h>
#include <linux/io.h>
#include <linux/of.h>
#include <linux/of.h>
#include <linux/irqchip/arm-gic.h>
#include <asm/hardware/gic.h>
#include "board.h"
#include "board.h"
#include "iomap.h"
#include "iomap.h"
...
...
arch/arm/mach-tegra/platsmp.c
浏览文件 @
4f5c1c04
...
@@ -18,9 +18,9 @@
...
@@ -18,9 +18,9 @@
#include <linux/jiffies.h>
#include <linux/jiffies.h>
#include <linux/smp.h>
#include <linux/smp.h>
#include <linux/io.h>
#include <linux/io.h>
#include <linux/irqchip/arm-gic.h>
#include <asm/cacheflush.h>
#include <asm/cacheflush.h>
#include <asm/hardware/gic.h>
#include <asm/mach-types.h>
#include <asm/mach-types.h>
#include <asm/smp_scu.h>
#include <asm/smp_scu.h>
...
@@ -159,8 +159,6 @@ static void __init tegra_smp_init_cpus(void)
...
@@ -159,8 +159,6 @@ static void __init tegra_smp_init_cpus(void)
for
(
i
=
0
;
i
<
ncores
;
i
++
)
for
(
i
=
0
;
i
<
ncores
;
i
++
)
set_cpu_possible
(
i
,
true
);
set_cpu_possible
(
i
,
true
);
set_smp_cross_call
(
gic_raise_softirq
);
}
}
static
void
__init
tegra_smp_prepare_cpus
(
unsigned
int
max_cpus
)
static
void
__init
tegra_smp_prepare_cpus
(
unsigned
int
max_cpus
)
...
...
arch/arm/mach-u300/core.c
浏览文件 @
4f5c1c04
...
@@ -31,11 +31,11 @@
...
@@ -31,11 +31,11 @@
#include <linux/dma-mapping.h>
#include <linux/dma-mapping.h>
#include <linux/platform_data/clk-u300.h>
#include <linux/platform_data/clk-u300.h>
#include <linux/platform_data/pinctrl-coh901.h>
#include <linux/platform_data/pinctrl-coh901.h>
#include <linux/irqchip/arm-vic.h>
#include <asm/types.h>
#include <asm/types.h>
#include <asm/setup.h>
#include <asm/setup.h>
#include <asm/memory.h>
#include <asm/memory.h>
#include <asm/hardware/vic.h>
#include <asm/mach/map.h>
#include <asm/mach/map.h>
#include <asm/mach-types.h>
#include <asm/mach-types.h>
#include <asm/mach/arch.h>
#include <asm/mach/arch.h>
...
@@ -1779,7 +1779,6 @@ MACHINE_START(U300, "Ericsson AB U335 S335/B335 Prototype Board")
...
@@ -1779,7 +1779,6 @@ MACHINE_START(U300, "Ericsson AB U335 S335/B335 Prototype Board")
.
map_io
=
u300_map_io
,
.
map_io
=
u300_map_io
,
.
nr_irqs
=
0
,
.
nr_irqs
=
0
,
.
init_irq
=
u300_init_irq
,
.
init_irq
=
u300_init_irq
,
.
handle_irq
=
vic_handle_irq
,
.
timer
=
&
u300_timer
,
.
timer
=
&
u300_timer
,
.
init_machine
=
u300_init_machine
,
.
init_machine
=
u300_init_machine
,
.
restart
=
u300_restart
,
.
restart
=
u300_restart
,
...
...
arch/arm/mach-ux500/board-mop500.c
浏览文件 @
4f5c1c04
...
@@ -40,7 +40,6 @@
...
@@ -40,7 +40,6 @@
#include <asm/mach-types.h>
#include <asm/mach-types.h>
#include <asm/mach/arch.h>
#include <asm/mach/arch.h>
#include <asm/hardware/gic.h>
#include <mach/hardware.h>
#include <mach/hardware.h>
#include <mach/setup.h>
#include <mach/setup.h>
...
@@ -752,7 +751,6 @@ MACHINE_START(U8500, "ST-Ericsson MOP500 platform")
...
@@ -752,7 +751,6 @@ MACHINE_START(U8500, "ST-Ericsson MOP500 platform")
.
init_irq
=
ux500_init_irq
,
.
init_irq
=
ux500_init_irq
,
/* we re-use nomadik timer here */
/* we re-use nomadik timer here */
.
timer
=
&
ux500_timer
,
.
timer
=
&
ux500_timer
,
.
handle_irq
=
gic_handle_irq
,
.
init_machine
=
mop500_init_machine
,
.
init_machine
=
mop500_init_machine
,
.
init_late
=
ux500_init_late
,
.
init_late
=
ux500_init_late
,
MACHINE_END
MACHINE_END
...
@@ -762,7 +760,6 @@ MACHINE_START(U8520, "ST-Ericsson U8520 Platform HREFP520")
...
@@ -762,7 +760,6 @@ MACHINE_START(U8520, "ST-Ericsson U8520 Platform HREFP520")
.
map_io
=
u8500_map_io
,
.
map_io
=
u8500_map_io
,
.
init_irq
=
ux500_init_irq
,
.
init_irq
=
ux500_init_irq
,
.
timer
=
&
ux500_timer
,
.
timer
=
&
ux500_timer
,
.
handle_irq
=
gic_handle_irq
,
.
init_machine
=
mop500_init_machine
,
.
init_machine
=
mop500_init_machine
,
.
init_late
=
ux500_init_late
,
.
init_late
=
ux500_init_late
,
MACHINE_END
MACHINE_END
...
@@ -773,7 +770,6 @@ MACHINE_START(HREFV60, "ST-Ericsson U8500 Platform HREFv60+")
...
@@ -773,7 +770,6 @@ MACHINE_START(HREFV60, "ST-Ericsson U8500 Platform HREFv60+")
.
map_io
=
u8500_map_io
,
.
map_io
=
u8500_map_io
,
.
init_irq
=
ux500_init_irq
,
.
init_irq
=
ux500_init_irq
,
.
timer
=
&
ux500_timer
,
.
timer
=
&
ux500_timer
,
.
handle_irq
=
gic_handle_irq
,
.
init_machine
=
hrefv60_init_machine
,
.
init_machine
=
hrefv60_init_machine
,
.
init_late
=
ux500_init_late
,
.
init_late
=
ux500_init_late
,
MACHINE_END
MACHINE_END
...
@@ -785,7 +781,6 @@ MACHINE_START(SNOWBALL, "Calao Systems Snowball platform")
...
@@ -785,7 +781,6 @@ MACHINE_START(SNOWBALL, "Calao Systems Snowball platform")
.
init_irq
=
ux500_init_irq
,
.
init_irq
=
ux500_init_irq
,
/* we re-use nomadik timer here */
/* we re-use nomadik timer here */
.
timer
=
&
ux500_timer
,
.
timer
=
&
ux500_timer
,
.
handle_irq
=
gic_handle_irq
,
.
init_machine
=
snowball_init_machine
,
.
init_machine
=
snowball_init_machine
,
.
init_late
=
NULL
,
.
init_late
=
NULL
,
MACHINE_END
MACHINE_END
arch/arm/mach-ux500/cpu-db8500.c
浏览文件 @
4f5c1c04
...
@@ -27,7 +27,6 @@
...
@@ -27,7 +27,6 @@
#include <asm/pmu.h>
#include <asm/pmu.h>
#include <asm/mach/map.h>
#include <asm/mach/map.h>
#include <asm/mach/arch.h>
#include <asm/mach/arch.h>
#include <asm/hardware/gic.h>
#include <mach/hardware.h>
#include <mach/hardware.h>
#include <mach/setup.h>
#include <mach/setup.h>
...
@@ -342,7 +341,6 @@ DT_MACHINE_START(U8500_DT, "ST-Ericsson Ux5x0 platform (Device Tree Support)")
...
@@ -342,7 +341,6 @@ DT_MACHINE_START(U8500_DT, "ST-Ericsson Ux5x0 platform (Device Tree Support)")
.
init_irq
=
ux500_init_irq
,
.
init_irq
=
ux500_init_irq
,
/* we re-use nomadik timer here */
/* we re-use nomadik timer here */
.
timer
=
&
ux500_timer
,
.
timer
=
&
ux500_timer
,
.
handle_irq
=
gic_handle_irq
,
.
init_machine
=
u8500_init_machine
,
.
init_machine
=
u8500_init_machine
,
.
init_late
=
NULL
,
.
init_late
=
NULL
,
.
dt_compat
=
stericsson_dt_platform_compat
,
.
dt_compat
=
stericsson_dt_platform_compat
,
...
...
arch/arm/mach-ux500/cpu.c
浏览文件 @
4f5c1c04
...
@@ -17,9 +17,10 @@
...
@@ -17,9 +17,10 @@
#include <linux/of.h>
#include <linux/of.h>
#include <linux/of_irq.h>
#include <linux/of_irq.h>
#include <linux/irq.h>
#include <linux/irq.h>
#include <linux/irqchip.h>
#include <linux/irqchip/arm-gic.h>
#include <linux/platform_data/clk-ux500.h>
#include <linux/platform_data/clk-ux500.h>
#include <asm/hardware/gic.h>
#include <asm/mach/map.h>
#include <asm/mach/map.h>
#include <mach/hardware.h>
#include <mach/hardware.h>
...
@@ -42,11 +43,6 @@ void __iomem *_PRCMU_BASE;
...
@@ -42,11 +43,6 @@ void __iomem *_PRCMU_BASE;
* This feels fragile because it depends on the gpio device getting probed
* This feels fragile because it depends on the gpio device getting probed
* _before_ any device uses the gpio interrupts.
* _before_ any device uses the gpio interrupts.
*/
*/
static
const
struct
of_device_id
ux500_dt_irq_match
[]
=
{
{
.
compatible
=
"arm,cortex-a9-gic"
,
.
data
=
gic_of_init
,
},
{},
};
void
__init
ux500_init_irq
(
void
)
void
__init
ux500_init_irq
(
void
)
{
{
void
__iomem
*
dist_base
;
void
__iomem
*
dist_base
;
...
@@ -62,7 +58,7 @@ void __init ux500_init_irq(void)
...
@@ -62,7 +58,7 @@ void __init ux500_init_irq(void)
#ifdef CONFIG_OF
#ifdef CONFIG_OF
if
(
of_have_populated_dt
())
if
(
of_have_populated_dt
())
of_irq_init
(
ux500_dt_irq_match
);
irqchip_init
(
);
else
else
#endif
#endif
gic_init
(
0
,
29
,
dist_base
,
cpu_base
);
gic_init
(
0
,
29
,
dist_base
,
cpu_base
);
...
...
arch/arm/mach-ux500/platsmp.c
浏览文件 @
4f5c1c04
...
@@ -16,9 +16,9 @@
...
@@ -16,9 +16,9 @@
#include <linux/device.h>
#include <linux/device.h>
#include <linux/smp.h>
#include <linux/smp.h>
#include <linux/io.h>
#include <linux/io.h>
#include <linux/irqchip/arm-gic.h>
#include <asm/cacheflush.h>
#include <asm/cacheflush.h>
#include <asm/hardware/gic.h>
#include <asm/smp_plat.h>
#include <asm/smp_plat.h>
#include <asm/smp_scu.h>
#include <asm/smp_scu.h>
#include <mach/hardware.h>
#include <mach/hardware.h>
...
@@ -91,7 +91,7 @@ static int __cpuinit ux500_boot_secondary(unsigned int cpu, struct task_struct *
...
@@ -91,7 +91,7 @@ static int __cpuinit ux500_boot_secondary(unsigned int cpu, struct task_struct *
*/
*/
write_pen_release
(
cpu_logical_map
(
cpu
));
write_pen_release
(
cpu_logical_map
(
cpu
));
smp_send_reschedule
(
cpu
);
arch_send_wakeup_ipi_mask
(
cpumask_of
(
cpu
)
);
timeout
=
jiffies
+
(
1
*
HZ
);
timeout
=
jiffies
+
(
1
*
HZ
);
while
(
time_before
(
jiffies
,
timeout
))
{
while
(
time_before
(
jiffies
,
timeout
))
{
...
@@ -155,8 +155,6 @@ static void __init ux500_smp_init_cpus(void)
...
@@ -155,8 +155,6 @@ static void __init ux500_smp_init_cpus(void)
for
(
i
=
0
;
i
<
ncores
;
i
++
)
for
(
i
=
0
;
i
<
ncores
;
i
++
)
set_cpu_possible
(
i
,
true
);
set_cpu_possible
(
i
,
true
);
set_smp_cross_call
(
gic_raise_softirq
);
}
}
static
void
__init
ux500_smp_prepare_cpus
(
unsigned
int
max_cpus
)
static
void
__init
ux500_smp_prepare_cpus
(
unsigned
int
max_cpus
)
...
...
arch/arm/mach-versatile/core.c
浏览文件 @
4f5c1c04
...
@@ -32,6 +32,7 @@
...
@@ -32,6 +32,7 @@
#include <linux/amba/mmci.h>
#include <linux/amba/mmci.h>
#include <linux/amba/pl022.h>
#include <linux/amba/pl022.h>
#include <linux/io.h>
#include <linux/io.h>
#include <linux/irqchip/arm-vic.h>
#include <linux/irqchip/versatile-fpga.h>
#include <linux/irqchip/versatile-fpga.h>
#include <linux/gfp.h>
#include <linux/gfp.h>
#include <linux/clkdev.h>
#include <linux/clkdev.h>
...
@@ -40,7 +41,6 @@
...
@@ -40,7 +41,6 @@
#include <asm/irq.h>
#include <asm/irq.h>
#include <asm/hardware/arm_timer.h>
#include <asm/hardware/arm_timer.h>
#include <asm/hardware/icst.h>
#include <asm/hardware/icst.h>
#include <asm/hardware/vic.h>
#include <asm/mach-types.h>
#include <asm/mach-types.h>
#include <asm/mach/arch.h>
#include <asm/mach/arch.h>
...
...
arch/arm/mach-versatile/versatile_ab.c
浏览文件 @
4f5c1c04
...
@@ -26,7 +26,6 @@
...
@@ -26,7 +26,6 @@
#include <mach/hardware.h>
#include <mach/hardware.h>
#include <asm/irq.h>
#include <asm/irq.h>
#include <asm/hardware/vic.h>
#include <asm/mach-types.h>
#include <asm/mach-types.h>
#include <asm/mach/arch.h>
#include <asm/mach/arch.h>
...
@@ -39,7 +38,6 @@ MACHINE_START(VERSATILE_AB, "ARM-Versatile AB")
...
@@ -39,7 +38,6 @@ MACHINE_START(VERSATILE_AB, "ARM-Versatile AB")
.
map_io
=
versatile_map_io
,
.
map_io
=
versatile_map_io
,
.
init_early
=
versatile_init_early
,
.
init_early
=
versatile_init_early
,
.
init_irq
=
versatile_init_irq
,
.
init_irq
=
versatile_init_irq
,
.
handle_irq
=
vic_handle_irq
,
.
timer
=
&
versatile_timer
,
.
timer
=
&
versatile_timer
,
.
init_machine
=
versatile_init
,
.
init_machine
=
versatile_init
,
.
restart
=
versatile_restart
,
.
restart
=
versatile_restart
,
...
...
arch/arm/mach-versatile/versatile_dt.c
浏览文件 @
4f5c1c04
...
@@ -24,7 +24,6 @@
...
@@ -24,7 +24,6 @@
#include <linux/init.h>
#include <linux/init.h>
#include <linux/of_irq.h>
#include <linux/of_irq.h>
#include <linux/of_platform.h>
#include <linux/of_platform.h>
#include <asm/hardware/vic.h>
#include <asm/mach-types.h>
#include <asm/mach-types.h>
#include <asm/mach/arch.h>
#include <asm/mach/arch.h>
...
@@ -46,7 +45,6 @@ DT_MACHINE_START(VERSATILE_PB, "ARM-Versatile (Device Tree Support)")
...
@@ -46,7 +45,6 @@ DT_MACHINE_START(VERSATILE_PB, "ARM-Versatile (Device Tree Support)")
.
map_io
=
versatile_map_io
,
.
map_io
=
versatile_map_io
,
.
init_early
=
versatile_init_early
,
.
init_early
=
versatile_init_early
,
.
init_irq
=
versatile_init_irq
,
.
init_irq
=
versatile_init_irq
,
.
handle_irq
=
vic_handle_irq
,
.
timer
=
&
versatile_timer
,
.
timer
=
&
versatile_timer
,
.
init_machine
=
versatile_dt_init
,
.
init_machine
=
versatile_dt_init
,
.
dt_compat
=
versatile_dt_match
,
.
dt_compat
=
versatile_dt_match
,
...
...
arch/arm/mach-versatile/versatile_pb.c
浏览文件 @
4f5c1c04
...
@@ -27,7 +27,6 @@
...
@@ -27,7 +27,6 @@
#include <linux/io.h>
#include <linux/io.h>
#include <mach/hardware.h>
#include <mach/hardware.h>
#include <asm/hardware/vic.h>
#include <asm/irq.h>
#include <asm/irq.h>
#include <asm/mach-types.h>
#include <asm/mach-types.h>
...
@@ -107,7 +106,6 @@ MACHINE_START(VERSATILE_PB, "ARM-Versatile PB")
...
@@ -107,7 +106,6 @@ MACHINE_START(VERSATILE_PB, "ARM-Versatile PB")
.
map_io
=
versatile_map_io
,
.
map_io
=
versatile_map_io
,
.
init_early
=
versatile_init_early
,
.
init_early
=
versatile_init_early
,
.
init_irq
=
versatile_init_irq
,
.
init_irq
=
versatile_init_irq
,
.
handle_irq
=
vic_handle_irq
,
.
timer
=
&
versatile_timer
,
.
timer
=
&
versatile_timer
,
.
init_machine
=
versatile_pb_init
,
.
init_machine
=
versatile_pb_init
,
.
restart
=
versatile_restart
,
.
restart
=
versatile_restart
,
...
...
arch/arm/mach-vexpress/ct-ca9x4.c
浏览文件 @
4f5c1c04
...
@@ -10,10 +10,10 @@
...
@@ -10,10 +10,10 @@
#include <linux/amba/clcd.h>
#include <linux/amba/clcd.h>
#include <linux/clkdev.h>
#include <linux/clkdev.h>
#include <linux/vexpress.h>
#include <linux/vexpress.h>
#include <linux/irqchip/arm-gic.h>
#include <asm/hardware/arm_timer.h>
#include <asm/hardware/arm_timer.h>
#include <asm/hardware/cache-l2x0.h>
#include <asm/hardware/cache-l2x0.h>
#include <asm/hardware/gic.h>
#include <asm/smp_scu.h>
#include <asm/smp_scu.h>
#include <asm/smp_twd.h>
#include <asm/smp_twd.h>
...
@@ -182,8 +182,6 @@ static void __init ct_ca9x4_init_cpu_map(void)
...
@@ -182,8 +182,6 @@ static void __init ct_ca9x4_init_cpu_map(void)
for
(
i
=
0
;
i
<
ncores
;
++
i
)
for
(
i
=
0
;
i
<
ncores
;
++
i
)
set_cpu_possible
(
i
,
true
);
set_cpu_possible
(
i
,
true
);
set_smp_cross_call
(
gic_raise_softirq
);
}
}
static
void
__init
ct_ca9x4_smp_enable
(
unsigned
int
max_cpus
)
static
void
__init
ct_ca9x4_smp_enable
(
unsigned
int
max_cpus
)
...
...
arch/arm/mach-vexpress/platsmp.c
浏览文件 @
4f5c1c04
...
@@ -16,7 +16,6 @@
...
@@ -16,7 +16,6 @@
#include <linux/vexpress.h>
#include <linux/vexpress.h>
#include <asm/smp_scu.h>
#include <asm/smp_scu.h>
#include <asm/hardware/gic.h>
#include <asm/mach/map.h>
#include <asm/mach/map.h>
#include <mach/motherboard.h>
#include <mach/motherboard.h>
...
@@ -128,8 +127,6 @@ static void __init vexpress_dt_smp_init_cpus(void)
...
@@ -128,8 +127,6 @@ static void __init vexpress_dt_smp_init_cpus(void)
for
(
i
=
0
;
i
<
ncores
;
++
i
)
for
(
i
=
0
;
i
<
ncores
;
++
i
)
set_cpu_possible
(
i
,
true
);
set_cpu_possible
(
i
,
true
);
set_smp_cross_call
(
gic_raise_softirq
);
}
}
static
void
__init
vexpress_dt_smp_prepare_cpus
(
unsigned
int
max_cpus
)
static
void
__init
vexpress_dt_smp_prepare_cpus
(
unsigned
int
max_cpus
)
...
...
arch/arm/mach-vexpress/v2m.c
浏览文件 @
4f5c1c04
...
@@ -7,6 +7,7 @@
...
@@ -7,6 +7,7 @@
#include <linux/io.h>
#include <linux/io.h>
#include <linux/smp.h>
#include <linux/smp.h>
#include <linux/init.h>
#include <linux/init.h>
#include <linux/irqchip.h>
#include <linux/of_address.h>
#include <linux/of_address.h>
#include <linux/of_fdt.h>
#include <linux/of_fdt.h>
#include <linux/of_irq.h>
#include <linux/of_irq.h>
...
@@ -30,7 +31,6 @@
...
@@ -30,7 +31,6 @@
#include <asm/mach/time.h>
#include <asm/mach/time.h>
#include <asm/hardware/arm_timer.h>
#include <asm/hardware/arm_timer.h>
#include <asm/hardware/cache-l2x0.h>
#include <asm/hardware/cache-l2x0.h>
#include <asm/hardware/gic.h>
#include <asm/hardware/timer-sp.h>
#include <asm/hardware/timer-sp.h>
#include <mach/ct-ca9x4.h>
#include <mach/ct-ca9x4.h>
...
@@ -377,7 +377,6 @@ MACHINE_START(VEXPRESS, "ARM-Versatile Express")
...
@@ -377,7 +377,6 @@ MACHINE_START(VEXPRESS, "ARM-Versatile Express")
.
init_early
=
v2m_init_early
,
.
init_early
=
v2m_init_early
,
.
init_irq
=
v2m_init_irq
,
.
init_irq
=
v2m_init_irq
,
.
timer
=
&
v2m_timer
,
.
timer
=
&
v2m_timer
,
.
handle_irq
=
gic_handle_irq
,
.
init_machine
=
v2m_init
,
.
init_machine
=
v2m_init
,
.
restart
=
vexpress_restart
,
.
restart
=
vexpress_restart
,
MACHINE_END
MACHINE_END
...
@@ -434,16 +433,6 @@ void __init v2m_dt_init_early(void)
...
@@ -434,16 +433,6 @@ void __init v2m_dt_init_early(void)
}
}
}
}
static
struct
of_device_id
vexpress_irq_match
[]
__initdata
=
{
{
.
compatible
=
"arm,cortex-a9-gic"
,
.
data
=
gic_of_init
,
},
{}
};
static
void
__init
v2m_dt_init_irq
(
void
)
{
of_irq_init
(
vexpress_irq_match
);
}
static
void
__init
v2m_dt_timer_init
(
void
)
static
void
__init
v2m_dt_timer_init
(
void
)
{
{
struct
device_node
*
node
=
NULL
;
struct
device_node
*
node
=
NULL
;
...
@@ -497,9 +486,8 @@ DT_MACHINE_START(VEXPRESS_DT, "ARM-Versatile Express")
...
@@ -497,9 +486,8 @@ DT_MACHINE_START(VEXPRESS_DT, "ARM-Versatile Express")
.
smp
=
smp_ops
(
vexpress_smp_ops
),
.
smp
=
smp_ops
(
vexpress_smp_ops
),
.
map_io
=
v2m_dt_map_io
,
.
map_io
=
v2m_dt_map_io
,
.
init_early
=
v2m_dt_init_early
,
.
init_early
=
v2m_dt_init_early
,
.
init_irq
=
v2m_dt_init_irq
,
.
init_irq
=
irqchip_init
,
.
timer
=
&
v2m_dt_timer
,
.
timer
=
&
v2m_dt_timer
,
.
init_machine
=
v2m_dt_init
,
.
init_machine
=
v2m_dt_init
,
.
handle_irq
=
gic_handle_irq
,
.
restart
=
vexpress_restart
,
.
restart
=
vexpress_restart
,
MACHINE_END
MACHINE_END
arch/arm/mach-zynq/common.c
浏览文件 @
4f5c1c04
...
@@ -31,7 +31,6 @@
...
@@ -31,7 +31,6 @@
#include <asm/mach-types.h>
#include <asm/mach-types.h>
#include <asm/page.h>
#include <asm/page.h>
#include <asm/pgtable.h>
#include <asm/pgtable.h>
#include <asm/hardware/gic.h>
#include <asm/hardware/cache-l2x0.h>
#include <asm/hardware/cache-l2x0.h>
#include "common.h"
#include "common.h"
...
@@ -55,19 +54,6 @@ static void __init xilinx_init_machine(void)
...
@@ -55,19 +54,6 @@ static void __init xilinx_init_machine(void)
of_platform_bus_probe
(
NULL
,
zynq_of_bus_ids
,
NULL
);
of_platform_bus_probe
(
NULL
,
zynq_of_bus_ids
,
NULL
);
}
}
static
struct
of_device_id
irq_match
[]
__initdata
=
{
{
.
compatible
=
"arm,cortex-a9-gic"
,
.
data
=
gic_of_init
,
},
{
}
};
/**
* xilinx_irq_init() - Interrupt controller initialization for the GIC.
*/
static
void
__init
xilinx_irq_init
(
void
)
{
of_irq_init
(
irq_match
);
}
#define SCU_PERIPH_PHYS 0xF8F00000
#define SCU_PERIPH_PHYS 0xF8F00000
#define SCU_PERIPH_SIZE SZ_8K
#define SCU_PERIPH_SIZE SZ_8K
#define SCU_PERIPH_VIRT (VMALLOC_END - SCU_PERIPH_SIZE)
#define SCU_PERIPH_VIRT (VMALLOC_END - SCU_PERIPH_SIZE)
...
@@ -117,8 +103,7 @@ static const char *xilinx_dt_match[] = {
...
@@ -117,8 +103,7 @@ static const char *xilinx_dt_match[] = {
MACHINE_START
(
XILINX_EP107
,
"Xilinx Zynq Platform"
)
MACHINE_START
(
XILINX_EP107
,
"Xilinx Zynq Platform"
)
.
map_io
=
xilinx_map_io
,
.
map_io
=
xilinx_map_io
,
.
init_irq
=
xilinx_irq_init
,
.
init_irq
=
irqchip_init
,
.
handle_irq
=
gic_handle_irq
,
.
init_machine
=
xilinx_init_machine
,
.
init_machine
=
xilinx_init_machine
,
.
timer
=
&
xttcpss_sys_timer
,
.
timer
=
&
xttcpss_sys_timer
,
.
dt_compat
=
xilinx_dt_match
,
.
dt_compat
=
xilinx_dt_match
,
...
...
arch/arm/plat-samsung/s5p-irq-eint.c
浏览文件 @
4f5c1c04
...
@@ -15,8 +15,7 @@
...
@@ -15,8 +15,7 @@
#include <linux/io.h>
#include <linux/io.h>
#include <linux/device.h>
#include <linux/device.h>
#include <linux/gpio.h>
#include <linux/gpio.h>
#include <linux/irqchip/arm-vic.h>
#include <asm/hardware/vic.h>
#include <plat/regs-irqtype.h>
#include <plat/regs-irqtype.h>
...
...
arch/arm/plat-samsung/s5p-irq.c
浏览文件 @
4f5c1c04
...
@@ -13,8 +13,7 @@
...
@@ -13,8 +13,7 @@
#include <linux/interrupt.h>
#include <linux/interrupt.h>
#include <linux/irq.h>
#include <linux/irq.h>
#include <linux/io.h>
#include <linux/io.h>
#include <linux/irqchip/arm-vic.h>
#include <asm/hardware/vic.h>
#include <mach/map.h>
#include <mach/map.h>
#include <plat/regs-timer.h>
#include <plat/regs-timer.h>
...
...
arch/arm/plat-versatile/platsmp.c
浏览文件 @
4f5c1c04
...
@@ -14,10 +14,10 @@
...
@@ -14,10 +14,10 @@
#include <linux/device.h>
#include <linux/device.h>
#include <linux/jiffies.h>
#include <linux/jiffies.h>
#include <linux/smp.h>
#include <linux/smp.h>
#include <linux/irqchip/arm-gic.h>
#include <asm/cacheflush.h>
#include <asm/cacheflush.h>
#include <asm/smp_plat.h>
#include <asm/smp_plat.h>
#include <asm/hardware/gic.h>
/*
/*
* Write pen_release in a way that is guaranteed to be visible to all
* Write pen_release in a way that is guaranteed to be visible to all
...
@@ -79,7 +79,7 @@ int __cpuinit versatile_boot_secondary(unsigned int cpu, struct task_struct *idl
...
@@ -79,7 +79,7 @@ int __cpuinit versatile_boot_secondary(unsigned int cpu, struct task_struct *idl
* the boot monitor to read the system wide flags register,
* the boot monitor to read the system wide flags register,
* and branch to the address found there.
* and branch to the address found there.
*/
*/
gic_raise_softirq
(
cpumask_of
(
cpu
),
0
);
arch_send_wakeup_ipi_mask
(
cpumask_of
(
cpu
)
);
timeout
=
jiffies
+
(
1
*
HZ
);
timeout
=
jiffies
+
(
1
*
HZ
);
while
(
time_before
(
jiffies
,
timeout
))
{
while
(
time_before
(
jiffies
,
timeout
))
{
...
...
drivers/irqchip/Kconfig
浏览文件 @
4f5c1c04
config IRQCHIP
def_bool y
depends on OF_IRQ
config ARM_GIC
bool
select IRQ_DOMAIN
select MULTI_IRQ_HANDLER
config GIC_NON_BANKED
bool
config ARM_VIC
bool
select IRQ_DOMAIN
select MULTI_IRQ_HANDLER
config ARM_VIC_NR
int
default 4 if ARCH_S5PV210
default 3 if ARCH_S5PC100
default 2
depends on ARM_VIC
help
The maximum number of VICs available in the system, for
power management.
config VERSATILE_FPGA_IRQ
config VERSATILE_FPGA_IRQ
bool
bool
select IRQ_DOMAIN
select IRQ_DOMAIN
...
...
drivers/irqchip/Makefile
浏览文件 @
4f5c1c04
obj-$(CONFIG_IRQCHIP)
+=
irqchip.o
obj-$(CONFIG_ARCH_BCM2835)
+=
irq-bcm2835.o
obj-$(CONFIG_ARCH_BCM2835)
+=
irq-bcm2835.o
obj-$(CONFIG_ARCH_SUNXI)
+=
irq-sunxi.o
obj-$(CONFIG_ARCH_SUNXI)
+=
irq-sunxi.o
obj-$(CONFIG_VERSATILE_FPGA_IRQ)
+=
irq-versatile-fpga.o
obj-$(CONFIG_ARCH_SPEAR3XX)
+=
spear-shirq.o
obj-$(CONFIG_ARCH_SPEAR3XX)
+=
spear-shirq.o
obj-$(CONFIG_ARM_GIC)
+=
irq-gic.o
obj-$(CONFIG_ARM_VIC)
+=
irq-vic.o
obj-$(CONFIG_VERSATILE_FPGA_IRQ)
+=
irq-versatile-fpga.o
arch/arm/common/
gic.c
→
drivers/irqchip/irq-
gic.c
浏览文件 @
4f5c1c04
...
@@ -38,12 +38,14 @@
...
@@ -38,12 +38,14 @@
#include <linux/interrupt.h>
#include <linux/interrupt.h>
#include <linux/percpu.h>
#include <linux/percpu.h>
#include <linux/slab.h>
#include <linux/slab.h>
#include <linux/irqchip/arm-gic.h>
#include <asm/irq.h>
#include <asm/irq.h>
#include <asm/exception.h>
#include <asm/exception.h>
#include <asm/smp_plat.h>
#include <asm/smp_plat.h>
#include <asm/mach/irq.h>
#include <asm/mach/irq.h>
#include <asm/hardware/gic.h>
#include "irqchip.h"
union
gic_base
{
union
gic_base
{
void
__iomem
*
common_base
;
void
__iomem
*
common_base
;
...
@@ -276,7 +278,7 @@ static int gic_set_wake(struct irq_data *d, unsigned int on)
...
@@ -276,7 +278,7 @@ static int gic_set_wake(struct irq_data *d, unsigned int on)
#define gic_set_wake NULL
#define gic_set_wake NULL
#endif
#endif
asmlinkage
void
__exception_irq_entry
gic_handle_irq
(
struct
pt_regs
*
regs
)
static
asmlinkage
void
__exception_irq_entry
gic_handle_irq
(
struct
pt_regs
*
regs
)
{
{
u32
irqstat
,
irqnr
;
u32
irqstat
,
irqnr
;
struct
gic_chip_data
*
gic
=
&
gic_data
[
0
];
struct
gic_chip_data
*
gic
=
&
gic_data
[
0
];
...
@@ -638,6 +640,27 @@ static void __init gic_pm_init(struct gic_chip_data *gic)
...
@@ -638,6 +640,27 @@ static void __init gic_pm_init(struct gic_chip_data *gic)
}
}
#endif
#endif
#ifdef CONFIG_SMP
void
gic_raise_softirq
(
const
struct
cpumask
*
mask
,
unsigned
int
irq
)
{
int
cpu
;
unsigned
long
map
=
0
;
/* Convert our logical CPU mask into a physical one. */
for_each_cpu
(
cpu
,
mask
)
map
|=
1
<<
cpu_logical_map
(
cpu
);
/*
* Ensure that stores to Normal memory are visible to the
* other CPUs before issuing the IPI.
*/
dsb
();
/* this always happens on GIC0 */
writel_relaxed
(
map
<<
16
|
irq
,
gic_data_dist_base
(
&
gic_data
[
0
])
+
GIC_DIST_SOFTINT
);
}
#endif
static
int
gic_irq_domain_map
(
struct
irq_domain
*
d
,
unsigned
int
irq
,
static
int
gic_irq_domain_map
(
struct
irq_domain
*
d
,
unsigned
int
irq
,
irq_hw_number_t
hw
)
irq_hw_number_t
hw
)
{
{
...
@@ -764,6 +787,12 @@ void __init gic_init_bases(unsigned int gic_nr, int irq_start,
...
@@ -764,6 +787,12 @@ void __init gic_init_bases(unsigned int gic_nr, int irq_start,
if
(
WARN_ON
(
!
gic
->
domain
))
if
(
WARN_ON
(
!
gic
->
domain
))
return
;
return
;
#ifdef CONFIG_SMP
set_smp_cross_call
(
gic_raise_softirq
);
#endif
set_handle_irq
(
gic_handle_irq
);
gic_chip
.
flags
|=
gic_arch_extn
.
flags
;
gic_chip
.
flags
|=
gic_arch_extn
.
flags
;
gic_dist_init
(
gic
);
gic_dist_init
(
gic
);
gic_cpu_init
(
gic
);
gic_cpu_init
(
gic
);
...
@@ -777,27 +806,6 @@ void __cpuinit gic_secondary_init(unsigned int gic_nr)
...
@@ -777,27 +806,6 @@ void __cpuinit gic_secondary_init(unsigned int gic_nr)
gic_cpu_init
(
&
gic_data
[
gic_nr
]);
gic_cpu_init
(
&
gic_data
[
gic_nr
]);
}
}
#ifdef CONFIG_SMP
void
gic_raise_softirq
(
const
struct
cpumask
*
mask
,
unsigned
int
irq
)
{
int
cpu
;
unsigned
long
map
=
0
;
/* Convert our logical CPU mask into a physical one. */
for_each_cpu
(
cpu
,
mask
)
map
|=
gic_cpu_map
[
cpu
];
/*
* Ensure that stores to Normal memory are visible to the
* other CPUs before issuing the IPI.
*/
dsb
();
/* this always happens on GIC0 */
writel_relaxed
(
map
<<
16
|
irq
,
gic_data_dist_base
(
&
gic_data
[
0
])
+
GIC_DIST_SOFTINT
);
}
#endif
#ifdef CONFIG_OF
#ifdef CONFIG_OF
static
int
gic_cnt
__initdata
=
0
;
static
int
gic_cnt
__initdata
=
0
;
...
@@ -829,4 +837,9 @@ int __init gic_of_init(struct device_node *node, struct device_node *parent)
...
@@ -829,4 +837,9 @@ int __init gic_of_init(struct device_node *node, struct device_node *parent)
gic_cnt
++
;
gic_cnt
++
;
return
0
;
return
0
;
}
}
IRQCHIP_DECLARE
(
cortex_a15_gic
,
"arm,cortex-a15-gic"
,
gic_of_init
);
IRQCHIP_DECLARE
(
cortex_a9_gic
,
"arm,cortex-a9-gic"
,
gic_of_init
);
IRQCHIP_DECLARE
(
msm_8660_qgic
,
"qcom,msm-8660-qgic"
,
gic_of_init
);
IRQCHIP_DECLARE
(
msm_qgic2
,
"qcom,msm-qgic2"
,
gic_of_init
);
#endif
#endif
arch/arm/common/
vic.c
→
drivers/irqchip/irq-
vic.c
浏览文件 @
4f5c1c04
...
@@ -30,10 +30,29 @@
...
@@ -30,10 +30,29 @@
#include <linux/syscore_ops.h>
#include <linux/syscore_ops.h>
#include <linux/device.h>
#include <linux/device.h>
#include <linux/amba/bus.h>
#include <linux/amba/bus.h>
#include <linux/irqchip/arm-vic.h>
#include <asm/exception.h>
#include <asm/exception.h>
#include <asm/mach/irq.h>
#include <asm/mach/irq.h>
#include <asm/hardware/vic.h>
#include "irqchip.h"
#define VIC_IRQ_STATUS 0x00
#define VIC_FIQ_STATUS 0x04
#define VIC_INT_SELECT 0x0c
/* 1 = FIQ, 0 = IRQ */
#define VIC_INT_SOFT 0x18
#define VIC_INT_SOFT_CLEAR 0x1c
#define VIC_PROTECT 0x20
#define VIC_PL190_VECT_ADDR 0x30
/* PL190 only */
#define VIC_PL190_DEF_VECT_ADDR 0x34
/* PL190 only */
#define VIC_VECT_ADDR0 0x100
/* 0 to 15 (0..31 PL192) */
#define VIC_VECT_CNTL0 0x200
/* 0 to 15 (0..31 PL192) */
#define VIC_ITCR 0x300
/* VIC test control register */
#define VIC_VECT_CNTL_ENABLE (1 << 5)
#define VIC_PL192_VECT_ADDR 0xF00
/**
/**
* struct vic_device - VIC PM device
* struct vic_device - VIC PM device
...
@@ -66,6 +85,8 @@ static struct vic_device vic_devices[CONFIG_ARM_VIC_NR];
...
@@ -66,6 +85,8 @@ static struct vic_device vic_devices[CONFIG_ARM_VIC_NR];
static
int
vic_id
;
static
int
vic_id
;
static
void
vic_handle_irq
(
struct
pt_regs
*
regs
);
/**
/**
* vic_init2 - common initialisation code
* vic_init2 - common initialisation code
* @base: Base of the VIC.
* @base: Base of the VIC.
...
@@ -182,6 +203,40 @@ static int vic_irqdomain_map(struct irq_domain *d, unsigned int irq,
...
@@ -182,6 +203,40 @@ static int vic_irqdomain_map(struct irq_domain *d, unsigned int irq,
return
0
;
return
0
;
}
}
/*
* Handle each interrupt in a single VIC. Returns non-zero if we've
* handled at least one interrupt. This reads the status register
* before handling each interrupt, which is necessary given that
* handle_IRQ may briefly re-enable interrupts for soft IRQ handling.
*/
static
int
handle_one_vic
(
struct
vic_device
*
vic
,
struct
pt_regs
*
regs
)
{
u32
stat
,
irq
;
int
handled
=
0
;
while
((
stat
=
readl_relaxed
(
vic
->
base
+
VIC_IRQ_STATUS
)))
{
irq
=
ffs
(
stat
)
-
1
;
handle_IRQ
(
irq_find_mapping
(
vic
->
domain
,
irq
),
regs
);
handled
=
1
;
}
return
handled
;
}
/*
* Keep iterating over all registered VIC's until there are no pending
* interrupts.
*/
static
asmlinkage
void
__exception_irq_entry
vic_handle_irq
(
struct
pt_regs
*
regs
)
{
int
i
,
handled
;
do
{
for
(
i
=
0
,
handled
=
0
;
i
<
vic_id
;
++
i
)
handled
|=
handle_one_vic
(
&
vic_devices
[
i
],
regs
);
}
while
(
handled
);
}
static
struct
irq_domain_ops
vic_irqdomain_ops
=
{
static
struct
irq_domain_ops
vic_irqdomain_ops
=
{
.
map
=
vic_irqdomain_map
,
.
map
=
vic_irqdomain_map
,
.
xlate
=
irq_domain_xlate_onetwocell
,
.
xlate
=
irq_domain_xlate_onetwocell
,
...
@@ -218,6 +273,7 @@ static void __init vic_register(void __iomem *base, unsigned int irq,
...
@@ -218,6 +273,7 @@ static void __init vic_register(void __iomem *base, unsigned int irq,
v
->
valid_sources
=
valid_sources
;
v
->
valid_sources
=
valid_sources
;
v
->
resume_sources
=
resume_sources
;
v
->
resume_sources
=
resume_sources
;
v
->
irq
=
irq
;
v
->
irq
=
irq
;
set_handle_irq
(
vic_handle_irq
);
vic_id
++
;
vic_id
++
;
v
->
domain
=
irq_domain_add_simple
(
node
,
fls
(
valid_sources
),
irq
,
v
->
domain
=
irq_domain_add_simple
(
node
,
fls
(
valid_sources
),
irq
,
&
vic_irqdomain_ops
,
v
);
&
vic_irqdomain_ops
,
v
);
...
@@ -427,38 +483,7 @@ int __init vic_of_init(struct device_node *node, struct device_node *parent)
...
@@ -427,38 +483,7 @@ int __init vic_of_init(struct device_node *node, struct device_node *parent)
return
0
;
return
0
;
}
}
IRQCHIP_DECLARE
(
arm_pl190_vic
,
"arm,pl190-vic"
,
vic_of_init
);
IRQCHIP_DECLARE
(
arm_pl192_vic
,
"arm,pl192-vic"
,
vic_of_init
);
IRQCHIP_DECLARE
(
arm_versatile_vic
,
"arm,versatile-vic"
,
vic_of_init
);
#endif
/* CONFIG OF */
#endif
/* CONFIG OF */
/*
* Handle each interrupt in a single VIC. Returns non-zero if we've
* handled at least one interrupt. This reads the status register
* before handling each interrupt, which is necessary given that
* handle_IRQ may briefly re-enable interrupts for soft IRQ handling.
*/
static
int
handle_one_vic
(
struct
vic_device
*
vic
,
struct
pt_regs
*
regs
)
{
u32
stat
,
irq
;
int
handled
=
0
;
while
((
stat
=
readl_relaxed
(
vic
->
base
+
VIC_IRQ_STATUS
)))
{
irq
=
ffs
(
stat
)
-
1
;
handle_IRQ
(
irq_find_mapping
(
vic
->
domain
,
irq
),
regs
);
handled
=
1
;
}
return
handled
;
}
/*
* Keep iterating over all registered VIC's until there are no pending
* interrupts.
*/
asmlinkage
void
__exception_irq_entry
vic_handle_irq
(
struct
pt_regs
*
regs
)
{
int
i
,
handled
;
do
{
for
(
i
=
0
,
handled
=
0
;
i
<
vic_id
;
++
i
)
handled
|=
handle_one_vic
(
&
vic_devices
[
i
],
regs
);
}
while
(
handled
);
}
drivers/irqchip/irqchip.c
0 → 100644
浏览文件 @
4f5c1c04
/*
* Copyright (C) 2012 Thomas Petazzoni
*
* Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
*
* This file is licensed under the terms of the GNU General Public
* License version 2. This program is licensed "as is" without any
* warranty of any kind, whether express or implied.
*/
#include <linux/init.h>
#include <linux/of_irq.h>
#include "irqchip.h"
/*
* This special of_device_id is the sentinel at the end of the
* of_device_id[] array of all irqchips. It is automatically placed at
* the end of the array by the linker, thanks to being part of a
* special section.
*/
static
const
struct
of_device_id
irqchip_of_match_end
__used
__section
(
__irqchip_of_end
);
extern
struct
of_device_id
__irqchip_begin
[];
void
__init
irqchip_init
(
void
)
{
of_irq_init
(
__irqchip_begin
);
}
drivers/irqchip/irqchip.h
0 → 100644
浏览文件 @
4f5c1c04
/*
* Copyright (C) 2012 Thomas Petazzoni
*
* Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
*
* This file is licensed under the terms of the GNU General Public
* License version 2. This program is licensed "as is" without any
* warranty of any kind, whether express or implied.
*/
#ifndef _IRQCHIP_H
#define _IRQCHIP_H
/*
* This macro must be used by the different irqchip drivers to declare
* the association between their DT compatible string and their
* initialization function.
*
* @name: name that must be unique accross all IRQCHIP_DECLARE of the
* same file.
* @compstr: compatible string of the irqchip driver
* @fn: initialization function
*/
#define IRQCHIP_DECLARE(name,compstr,fn) \
static const struct of_device_id irqchip_of_match_##name \
__used __section(__irqchip_of_table) \
= { .compatible = compstr, .data = fn }
#endif
drivers/irqchip/spear-shirq.c
浏览文件 @
4f5c1c04
...
@@ -25,6 +25,8 @@
...
@@ -25,6 +25,8 @@
#include <linux/of_irq.h>
#include <linux/of_irq.h>
#include <linux/spinlock.h>
#include <linux/spinlock.h>
#include "irqchip.h"
static
DEFINE_SPINLOCK
(
lock
);
static
DEFINE_SPINLOCK
(
lock
);
/* spear300 shared irq registers offsets and masks */
/* spear300 shared irq registers offsets and masks */
...
@@ -300,6 +302,7 @@ int __init spear300_shirq_of_init(struct device_node *np,
...
@@ -300,6 +302,7 @@ int __init spear300_shirq_of_init(struct device_node *np,
return
shirq_init
(
spear300_shirq_blocks
,
return
shirq_init
(
spear300_shirq_blocks
,
ARRAY_SIZE
(
spear300_shirq_blocks
),
np
);
ARRAY_SIZE
(
spear300_shirq_blocks
),
np
);
}
}
IRQCHIP_DECLARE
(
spear300_shirq
,
"st,spear300-shirq"
,
spear300_shirq_of_init
);
int
__init
spear310_shirq_of_init
(
struct
device_node
*
np
,
int
__init
spear310_shirq_of_init
(
struct
device_node
*
np
,
struct
device_node
*
parent
)
struct
device_node
*
parent
)
...
@@ -307,6 +310,7 @@ int __init spear310_shirq_of_init(struct device_node *np,
...
@@ -307,6 +310,7 @@ int __init spear310_shirq_of_init(struct device_node *np,
return
shirq_init
(
spear310_shirq_blocks
,
return
shirq_init
(
spear310_shirq_blocks
,
ARRAY_SIZE
(
spear310_shirq_blocks
),
np
);
ARRAY_SIZE
(
spear310_shirq_blocks
),
np
);
}
}
IRQCHIP_DECLARE
(
spear310_shirq
,
"st,spear310-shirq"
,
spear310_shirq_of_init
);
int
__init
spear320_shirq_of_init
(
struct
device_node
*
np
,
int
__init
spear320_shirq_of_init
(
struct
device_node
*
np
,
struct
device_node
*
parent
)
struct
device_node
*
parent
)
...
@@ -314,3 +318,4 @@ int __init spear320_shirq_of_init(struct device_node *np,
...
@@ -314,3 +318,4 @@ int __init spear320_shirq_of_init(struct device_node *np,
return
shirq_init
(
spear320_shirq_blocks
,
return
shirq_init
(
spear320_shirq_blocks
,
ARRAY_SIZE
(
spear320_shirq_blocks
),
np
);
ARRAY_SIZE
(
spear320_shirq_blocks
),
np
);
}
}
IRQCHIP_DECLARE
(
spear320_shirq
,
"st,spear320-shirq"
,
spear320_shirq_of_init
);
drivers/mfd/db8500-prcmu.c
浏览文件 @
4f5c1c04
...
@@ -26,13 +26,13 @@
...
@@ -26,13 +26,13 @@
#include <linux/fs.h>
#include <linux/fs.h>
#include <linux/platform_device.h>
#include <linux/platform_device.h>
#include <linux/uaccess.h>
#include <linux/uaccess.h>
#include <linux/irqchip/arm-gic.h>
#include <linux/mfd/core.h>
#include <linux/mfd/core.h>
#include <linux/mfd/dbx500-prcmu.h>
#include <linux/mfd/dbx500-prcmu.h>
#include <linux/mfd/abx500/ab8500.h>
#include <linux/mfd/abx500/ab8500.h>
#include <linux/regulator/db8500-prcmu.h>
#include <linux/regulator/db8500-prcmu.h>
#include <linux/regulator/machine.h>
#include <linux/regulator/machine.h>
#include <linux/cpufreq.h>
#include <linux/cpufreq.h>
#include <asm/hardware/gic.h>
#include <mach/hardware.h>
#include <mach/hardware.h>
#include <mach/irqs.h>
#include <mach/irqs.h>
#include <mach/db8500-regs.h>
#include <mach/db8500-regs.h>
...
...
include/asm-generic/vmlinux.lds.h
浏览文件 @
4f5c1c04
...
@@ -149,6 +149,15 @@
...
@@ -149,6 +149,15 @@
#define TRACE_SYSCALLS()
#define TRACE_SYSCALLS()
#endif
#endif
#ifdef CONFIG_IRQCHIP
#define IRQCHIP_OF_MATCH_TABLE() \
. = ALIGN(8); \
VMLINUX_SYMBOL(__irqchip_begin) = .; \
*(__irqchip_of_table) \
*(__irqchip_of_end)
#else
#define IRQCHIP_OF_MATCH_TABLE()
#endif
#define KERNEL_DTB() \
#define KERNEL_DTB() \
STRUCT_ALIGN(); \
STRUCT_ALIGN(); \
...
@@ -493,7 +502,8 @@
...
@@ -493,7 +502,8 @@
DEV_DISCARD(init.rodata) \
DEV_DISCARD(init.rodata) \
CPU_DISCARD(init.rodata) \
CPU_DISCARD(init.rodata) \
MEM_DISCARD(init.rodata) \
MEM_DISCARD(init.rodata) \
KERNEL_DTB()
KERNEL_DTB() \
IRQCHIP_OF_MATCH_TABLE()
#define INIT_TEXT \
#define INIT_TEXT \
*(.init.text) \
*(.init.text) \
...
...
include/linux/irqchip.h
0 → 100644
浏览文件 @
4f5c1c04
/*
* Copyright (C) 2012 Thomas Petazzoni
*
* Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
*
* This file is licensed under the terms of the GNU General Public
* License version 2. This program is licensed "as is" without any
* warranty of any kind, whether express or implied.
*/
#ifndef _LINUX_IRQCHIP_H
#define _LINUX_IRQCHIP_H
void
irqchip_init
(
void
);
#endif
arch/arm/include/asm/hardware/
gic.h
→
include/linux/irqchip/arm-
gic.h
浏览文件 @
4f5c1c04
/*
/*
*
arch/arm/include/asm/hardware/
gic.h
*
include/linux/irqchip/arm-
gic.h
*
*
* Copyright (C) 2002 ARM Limited, All Rights Reserved.
* Copyright (C) 2002 ARM Limited, All Rights Reserved.
*
*
...
@@ -7,10 +7,8 @@
...
@@ -7,10 +7,8 @@
* it under the terms of the GNU General Public License version 2 as
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
* published by the Free Software Foundation.
*/
*/
#ifndef __ASM_ARM_HARDWARE_GIC_H
#ifndef __LINUX_IRQCHIP_ARM_GIC_H
#define __ASM_ARM_HARDWARE_GIC_H
#define __LINUX_IRQCHIP_ARM_GIC_H
#include <linux/compiler.h>
#define GIC_CPU_CTRL 0x00
#define GIC_CPU_CTRL 0x00
#define GIC_CPU_PRIMASK 0x04
#define GIC_CPU_PRIMASK 0x04
...
@@ -32,19 +30,14 @@
...
@@ -32,19 +30,14 @@
#define GIC_DIST_CONFIG 0xc00
#define GIC_DIST_CONFIG 0xc00
#define GIC_DIST_SOFTINT 0xf00
#define GIC_DIST_SOFTINT 0xf00
#ifndef __ASSEMBLY__
#include <linux/irqdomain.h>
struct
device_node
;
struct
device_node
;
extern
struct
irq_chip
gic_arch_extn
;
extern
struct
irq_chip
gic_arch_extn
;
void
gic_init_bases
(
unsigned
int
,
int
,
void
__iomem
*
,
void
__iomem
*
,
void
gic_init_bases
(
unsigned
int
,
int
,
void
__iomem
*
,
void
__iomem
*
,
u32
offset
,
struct
device_node
*
);
u32
offset
,
struct
device_node
*
);
int
gic_of_init
(
struct
device_node
*
node
,
struct
device_node
*
parent
);
void
gic_secondary_init
(
unsigned
int
);
void
gic_secondary_init
(
unsigned
int
);
void
gic_handle_irq
(
struct
pt_regs
*
regs
);
void
gic_cascade_irq
(
unsigned
int
gic_nr
,
unsigned
int
irq
);
void
gic_cascade_irq
(
unsigned
int
gic_nr
,
unsigned
int
irq
);
void
gic_raise_softirq
(
const
struct
cpumask
*
mask
,
unsigned
int
irq
);
static
inline
void
gic_init
(
unsigned
int
nr
,
int
start
,
static
inline
void
gic_init
(
unsigned
int
nr
,
int
start
,
void
__iomem
*
dist
,
void
__iomem
*
cpu
)
void
__iomem
*
dist
,
void
__iomem
*
cpu
)
...
@@ -53,5 +46,3 @@ static inline void gic_init(unsigned int nr, int start,
...
@@ -53,5 +46,3 @@ static inline void gic_init(unsigned int nr, int start,
}
}
#endif
#endif
#endif
arch/arm/include/asm/hardware/
vic.h
→
include/linux/irqchip/arm-
vic.h
浏览文件 @
4f5c1c04
...
@@ -20,29 +20,11 @@
...
@@ -20,29 +20,11 @@
#ifndef __ASM_ARM_HARDWARE_VIC_H
#ifndef __ASM_ARM_HARDWARE_VIC_H
#define __ASM_ARM_HARDWARE_VIC_H
#define __ASM_ARM_HARDWARE_VIC_H
#
define VIC_IRQ_STATUS 0x00
#
include <linux/types.h>
#define VIC_FIQ_STATUS 0x04
#define VIC_RAW_STATUS 0x08
#define VIC_RAW_STATUS 0x08
#define VIC_INT_SELECT 0x0c
/* 1 = FIQ, 0 = IRQ */
#define VIC_INT_ENABLE 0x10
/* 1 = enable, 0 = disable */
#define VIC_INT_ENABLE 0x10
/* 1 = enable, 0 = disable */
#define VIC_INT_ENABLE_CLEAR 0x14
#define VIC_INT_ENABLE_CLEAR 0x14
#define VIC_INT_SOFT 0x18
#define VIC_INT_SOFT_CLEAR 0x1c
#define VIC_PROTECT 0x20
#define VIC_PL190_VECT_ADDR 0x30
/* PL190 only */
#define VIC_PL190_DEF_VECT_ADDR 0x34
/* PL190 only */
#define VIC_VECT_ADDR0 0x100
/* 0 to 15 (0..31 PL192) */
#define VIC_VECT_CNTL0 0x200
/* 0 to 15 (0..31 PL192) */
#define VIC_ITCR 0x300
/* VIC test control register */
#define VIC_VECT_CNTL_ENABLE (1 << 5)
#define VIC_PL192_VECT_ADDR 0xF00
#ifndef __ASSEMBLY__
#include <linux/compiler.h>
#include <linux/types.h>
struct
device_node
;
struct
device_node
;
struct
pt_regs
;
struct
pt_regs
;
...
@@ -50,8 +32,5 @@ struct pt_regs;
...
@@ -50,8 +32,5 @@ struct pt_regs;
void
__vic_init
(
void
__iomem
*
base
,
int
irq_start
,
u32
vic_sources
,
void
__vic_init
(
void
__iomem
*
base
,
int
irq_start
,
u32
vic_sources
,
u32
resume_sources
,
struct
device_node
*
node
);
u32
resume_sources
,
struct
device_node
*
node
);
void
vic_init
(
void
__iomem
*
base
,
unsigned
int
irq_start
,
u32
vic_sources
,
u32
resume_sources
);
void
vic_init
(
void
__iomem
*
base
,
unsigned
int
irq_start
,
u32
vic_sources
,
u32
resume_sources
);
int
vic_of_init
(
struct
device_node
*
node
,
struct
device_node
*
parent
);
void
vic_handle_irq
(
struct
pt_regs
*
regs
);
#endif
/* __ASSEMBLY__ */
#endif
#endif
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录