diff options
author | Olof Johansson <olof@lixom.net> | 2013-01-14 20:22:00 -0500 |
---|---|---|
committer | Olof Johansson <olof@lixom.net> | 2013-01-14 22:55:03 -0500 |
commit | f8060f5446b1f2782f0a8ca9be2d870ea4198aee (patch) | |
tree | 6bdce95a558843b00d692738150e8c06a227db50 /arch/arm/mach-picoxcell | |
parent | 175dbc1eeadbdcf5f04d3a61fdc0ede4335c45c8 (diff) | |
parent | 9e47b8bf9815523a5816f2f83e73b13812d74014 (diff) |
Merge tag 'gic-vic-to-irqchip' of git://sources.calxeda.com/kernel/linux into next/cleanup
From Rob Herring:
Initial irqchip init infrastructure and GIC and VIC clean-ups
This creates irqchip initialization infrastructure from Thomas
Petazzoni. The VIC and GIC irqchip code is moved to drivers/irqchips
and adapted to use the new infrastructure. All DT enabled platforms
using GIC and VIC are converted over to use the new irqchip_init.
* tag 'gic-vic-to-irqchip' of git://sources.calxeda.com/kernel/linux:
irqchip: Move ARM vic.h to include/linux/irqchip/arm-vic.h
ARM: picoxcell: use common irqchip_init function
ARM: spear: use common irqchip_init function
irqchip: Move ARM VIC to drivers/irqchip
ARM: samsung: remove unused tick.h
ARM: remove unneeded vic.h includes
ARM: remove mach .handle_irq for VIC users
ARM: VIC: set handle_arch_irq in VIC initialization
ARM: VIC: shrink down vic.h
irqchip: Move ARM gic.h to include/linux/irqchip/arm-gic.h
ARM: use common irqchip_init for GIC init
irqchip: Move ARM GIC to drivers/irqchip
ARM: remove mach .handle_irq for GIC users
ARM: GIC: set handle_arch_irq in GIC initialization
ARM: GIC: remove direct use of gic_raise_softirq
ARM: GIC: remove assembly ifdefs from gic.h
ARM: mach-ux500: use SGI0 to wake up the other core
arm: add set_handle_irq() to register the parent IRQ controller handler function
irqchip: add basic infrastructure
irqchip: add to the directories part of the IRQ subsystem in MAINTAINERS
Fixed up massive merge conflicts with the timer cleanup due to adjacent changes:
Signed-off-by: Olof Johansson <olof@lixom.net>
Conflicts:
arch/arm/mach-bcm/board_bcm.c
arch/arm/mach-cns3xxx/cns3420vb.c
arch/arm/mach-ep93xx/adssphere.c
arch/arm/mach-ep93xx/edb93xx.c
arch/arm/mach-ep93xx/gesbc9312.c
arch/arm/mach-ep93xx/micro9.c
arch/arm/mach-ep93xx/simone.c
arch/arm/mach-ep93xx/snappercl15.c
arch/arm/mach-ep93xx/ts72xx.c
arch/arm/mach-ep93xx/vision_ep9307.c
arch/arm/mach-highbank/highbank.c
arch/arm/mach-imx/mach-imx6q.c
arch/arm/mach-msm/board-dt-8960.c
arch/arm/mach-netx/nxdb500.c
arch/arm/mach-netx/nxdkn.c
arch/arm/mach-netx/nxeb500hmi.c
arch/arm/mach-nomadik/board-nhk8815.c
arch/arm/mach-picoxcell/common.c
arch/arm/mach-realview/realview_eb.c
arch/arm/mach-realview/realview_pb1176.c
arch/arm/mach-realview/realview_pb11mp.c
arch/arm/mach-realview/realview_pba8.c
arch/arm/mach-realview/realview_pbx.c
arch/arm/mach-socfpga/socfpga.c
arch/arm/mach-spear13xx/spear1310.c
arch/arm/mach-spear13xx/spear1340.c
arch/arm/mach-spear13xx/spear13xx.c
arch/arm/mach-spear3xx/spear300.c
arch/arm/mach-spear3xx/spear310.c
arch/arm/mach-spear3xx/spear320.c
arch/arm/mach-spear3xx/spear3xx.c
arch/arm/mach-spear6xx/spear6xx.c
arch/arm/mach-tegra/board-dt-tegra20.c
arch/arm/mach-tegra/board-dt-tegra30.c
arch/arm/mach-u300/core.c
arch/arm/mach-ux500/board-mop500.c
arch/arm/mach-ux500/cpu-db8500.c
arch/arm/mach-versatile/versatile_ab.c
arch/arm/mach-versatile/versatile_dt.c
arch/arm/mach-versatile/versatile_pb.c
arch/arm/mach-vexpress/v2m.c
include/asm-generic/vmlinux.lds.h
Diffstat (limited to 'arch/arm/mach-picoxcell')
-rw-r--r-- | arch/arm/mach-picoxcell/common.c | 15 |
1 files changed, 2 insertions, 13 deletions
diff --git a/arch/arm/mach-picoxcell/common.c b/arch/arm/mach-picoxcell/common.c index 518c59bdbcda..70b441ad1d18 100644 --- a/arch/arm/mach-picoxcell/common.c +++ b/arch/arm/mach-picoxcell/common.c | |||
@@ -9,6 +9,7 @@ | |||
9 | */ | 9 | */ |
10 | #include <linux/delay.h> | 10 | #include <linux/delay.h> |
11 | #include <linux/irq.h> | 11 | #include <linux/irq.h> |
12 | #include <linux/irqchip.h> | ||
12 | #include <linux/irqdomain.h> | 13 | #include <linux/irqdomain.h> |
13 | #include <linux/of.h> | 14 | #include <linux/of.h> |
14 | #include <linux/of_address.h> | 15 | #include <linux/of_address.h> |
@@ -17,7 +18,6 @@ | |||
17 | #include <linux/dw_apb_timer.h> | 18 | #include <linux/dw_apb_timer.h> |
18 | 19 | ||
19 | #include <asm/mach/arch.h> | 20 | #include <asm/mach/arch.h> |
20 | #include <asm/hardware/vic.h> | ||
21 | #include <asm/mach/map.h> | 21 | #include <asm/mach/map.h> |
22 | 22 | ||
23 | #include "common.h" | 23 | #include "common.h" |
@@ -70,16 +70,6 @@ static const char *picoxcell_dt_match[] = { | |||
70 | NULL | 70 | NULL |
71 | }; | 71 | }; |
72 | 72 | ||
73 | static const struct of_device_id vic_of_match[] __initconst = { | ||
74 | { .compatible = "arm,pl192-vic", .data = vic_of_init, }, | ||
75 | { /* Sentinel */ } | ||
76 | }; | ||
77 | |||
78 | static void __init picoxcell_init_irq(void) | ||
79 | { | ||
80 | of_irq_init(vic_of_match); | ||
81 | } | ||
82 | |||
83 | static void picoxcell_wdt_restart(char mode, const char *cmd) | 73 | static void picoxcell_wdt_restart(char mode, const char *cmd) |
84 | { | 74 | { |
85 | /* | 75 | /* |
@@ -97,8 +87,7 @@ static void picoxcell_wdt_restart(char mode, const char *cmd) | |||
97 | DT_MACHINE_START(PICOXCELL, "Picochip picoXcell") | 87 | DT_MACHINE_START(PICOXCELL, "Picochip picoXcell") |
98 | .map_io = picoxcell_map_io, | 88 | .map_io = picoxcell_map_io, |
99 | .nr_irqs = NR_IRQS_LEGACY, | 89 | .nr_irqs = NR_IRQS_LEGACY, |
100 | .init_irq = picoxcell_init_irq, | 90 | .init_irq = irqchip_init, |
101 | .handle_irq = vic_handle_irq, | ||
102 | .init_time = dw_apb_timer_init, | 91 | .init_time = dw_apb_timer_init, |
103 | .init_machine = picoxcell_init_machine, | 92 | .init_machine = picoxcell_init_machine, |
104 | .dt_compat = picoxcell_dt_match, | 93 | .dt_compat = picoxcell_dt_match, |