Commit 774b51f8 authored by Jamie Iles's avatar Jamie Iles Committed by Marc Zyngier

ARM: s3c64xx: convert to MULTI_IRQ_HANDLER

Now that there is a generic IRQ handler for multiple VIC devices use it
for s3c64xx to help building multi platform kernels.

Cc: Ben Dooks <ben-linux@fluff.org>
Tested-by: default avatarThomas Abraham <thomas.abraham@linaro.org>
Signed-off-by: default avatarJamie Iles <jamie@jamieiles.com>
parent 42ab5304
...@@ -786,6 +786,7 @@ config ARCH_S3C64XX ...@@ -786,6 +786,7 @@ config ARCH_S3C64XX
select SAMSUNG_GPIOLIB_4BIT select SAMSUNG_GPIOLIB_4BIT
select HAVE_S3C2410_I2C if I2C select HAVE_S3C2410_I2C if I2C
select HAVE_S3C2410_WATCHDOG if WATCHDOG select HAVE_S3C2410_WATCHDOG if WATCHDOG
select MULTI_IRQ_HANDLER
help help
Samsung S3C64XX series based systems Samsung S3C64XX series based systems
......
...@@ -12,7 +12,8 @@ ...@@ -12,7 +12,8 @@
* warranty of any kind, whether express or implied. * warranty of any kind, whether express or implied.
*/ */
#include <mach/map.h> .macro disable_fiq
#include <mach/irqs.h> .endm
#include <asm/entry-macro-vic2.S> .macro arch_ret_to_user, tmp1, tmp2
.endm
...@@ -30,6 +30,7 @@ ...@@ -30,6 +30,7 @@
#include <video/platform_lcd.h> #include <video/platform_lcd.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>
...@@ -236,6 +237,7 @@ MACHINE_START(ANW6410, "A&W6410") ...@@ -236,6 +237,7 @@ 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,
.timer = &s3c24xx_timer, .timer = &s3c24xx_timer,
......
...@@ -37,6 +37,7 @@ ...@@ -37,6 +37,7 @@
#include <linux/mfd/wm831x/irq.h> #include <linux/mfd/wm831x/irq.h>
#include <linux/mfd/wm831x/gpio.h> #include <linux/mfd/wm831x/gpio.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>
...@@ -711,6 +712,7 @@ MACHINE_START(WLF_CRAGG_6410, "Wolfson Cragganmore 6410") ...@@ -711,6 +712,7 @@ 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,
.timer = &s3c24xx_timer, .timer = &s3c24xx_timer,
......
...@@ -29,6 +29,7 @@ ...@@ -29,6 +29,7 @@
#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>
...@@ -267,6 +268,7 @@ MACHINE_START(HMT, "Airgoo-HMT") ...@@ -267,6 +268,7 @@ 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,
.timer = &s3c24xx_timer, .timer = &s3c24xx_timer,
......
...@@ -24,6 +24,7 @@ ...@@ -24,6 +24,7 @@
#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>
...@@ -345,6 +346,7 @@ MACHINE_START(MINI6410, "MINI6410") ...@@ -345,6 +346,7 @@ 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,
.timer = &s3c24xx_timer, .timer = &s3c24xx_timer,
......
...@@ -25,6 +25,7 @@ ...@@ -25,6 +25,7 @@
#include <video/platform_lcd.h> #include <video/platform_lcd.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>
...@@ -99,6 +100,7 @@ MACHINE_START(NCP, "NCP") ...@@ -99,6 +100,7 @@ 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,
.timer = &s3c24xx_timer, .timer = &s3c24xx_timer,
......
...@@ -25,6 +25,7 @@ ...@@ -25,6 +25,7 @@
#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>
...@@ -326,6 +327,7 @@ MACHINE_START(REAL6410, "REAL6410") ...@@ -326,6 +327,7 @@ 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,
.timer = &s3c24xx_timer, .timer = &s3c24xx_timer,
......
...@@ -17,6 +17,7 @@ ...@@ -17,6 +17,7 @@
#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>
...@@ -148,6 +149,7 @@ MACHINE_START(SMARTQ5, "SmartQ 5") ...@@ -148,6 +149,7 @@ 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,
.timer = &s3c24xx_timer, .timer = &s3c24xx_timer,
......
...@@ -17,6 +17,7 @@ ...@@ -17,6 +17,7 @@
#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>
...@@ -164,6 +165,7 @@ MACHINE_START(SMARTQ7, "SmartQ 7") ...@@ -164,6 +165,7 @@ 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,
.timer = &s3c24xx_timer, .timer = &s3c24xx_timer,
......
...@@ -22,6 +22,7 @@ ...@@ -22,6 +22,7 @@
#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>
...@@ -88,6 +89,7 @@ MACHINE_START(SMDK6400, "SMDK6400") ...@@ -88,6 +89,7 @@ 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,
.timer = &s3c24xx_timer, .timer = &s3c24xx_timer,
......
...@@ -43,6 +43,7 @@ ...@@ -43,6 +43,7 @@
#include <video/platform_lcd.h> #include <video/platform_lcd.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,6 +701,7 @@ MACHINE_START(SMDK6410, "SMDK6410") ...@@ -700,6 +701,7 @@ 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,
.timer = &s3c24xx_timer, .timer = &s3c24xx_timer,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment