aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/arm/Kconfig11
-rw-r--r--arch/arm/common/Kconfig1
-rw-r--r--arch/arm/common/vic.c2
-rw-r--r--arch/arm/include/asm/entry-macro-vic2.S57
4 files changed, 1 insertions, 70 deletions
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 3e007cb52fc9..44789eff983f 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -294,7 +294,6 @@ config ARCH_VERSATILE
294 select PLAT_VERSATILE_CLCD 294 select PLAT_VERSATILE_CLCD
295 select PLAT_VERSATILE_FPGA_IRQ 295 select PLAT_VERSATILE_FPGA_IRQ
296 select ARM_TIMER_SP804 296 select ARM_TIMER_SP804
297 select MULTI_IRQ_HANDLER
298 help 297 help
299 This enables support for ARM Ltd Versatile board. 298 This enables support for ARM Ltd Versatile board.
300 299
@@ -410,7 +409,6 @@ config ARCH_EP93XX
410 select ARCH_HAS_HOLES_MEMORYMODEL 409 select ARCH_HAS_HOLES_MEMORYMODEL
411 select ARCH_USES_GETTIMEOFFSET 410 select ARCH_USES_GETTIMEOFFSET
412 select NEED_MACH_MEMORY_H 411 select NEED_MACH_MEMORY_H
413 select MULTI_IRQ_HANDLER
414 help 412 help
415 This enables support for the Cirrus EP93xx series of CPUs. 413 This enables support for the Cirrus EP93xx series of CPUs.
416 414
@@ -452,7 +450,6 @@ config ARCH_NETX
452 select CPU_ARM926T 450 select CPU_ARM926T
453 select ARM_VIC 451 select ARM_VIC
454 select GENERIC_CLOCKEVENTS 452 select GENERIC_CLOCKEVENTS
455 select MULTI_IRQ_HANDLER
456 help 453 help
457 This enables support for systems based on the Hilscher NetX Soc 454 This enables support for systems based on the Hilscher NetX Soc
458 455
@@ -652,7 +649,6 @@ config ARCH_PICOXCELL
652 select GENERIC_GPIO 649 select GENERIC_GPIO
653 select HAVE_SCHED_CLOCK 650 select HAVE_SCHED_CLOCK
654 select HAVE_TCM 651 select HAVE_TCM
655 select MULTI_IRQ_HANDLER
656 select NO_IOPORT 652 select NO_IOPORT
657 select USE_OF 653 select USE_OF
658 help 654 help
@@ -788,7 +784,6 @@ config ARCH_S3C64XX
788 select SAMSUNG_GPIOLIB_4BIT 784 select SAMSUNG_GPIOLIB_4BIT
789 select HAVE_S3C2410_I2C if I2C 785 select HAVE_S3C2410_I2C if I2C
790 select HAVE_S3C2410_WATCHDOG if WATCHDOG 786 select HAVE_S3C2410_WATCHDOG if WATCHDOG
791 select MULTI_IRQ_HANDLER
792 help 787 help
793 Samsung S3C64XX series based systems 788 Samsung S3C64XX series based systems
794 789
@@ -804,7 +799,6 @@ config ARCH_S5P64X0
804 select HAVE_SCHED_CLOCK 799 select HAVE_SCHED_CLOCK
805 select HAVE_S3C2410_I2C if I2C 800 select HAVE_S3C2410_I2C if I2C
806 select HAVE_S3C_RTC if RTC_CLASS 801 select HAVE_S3C_RTC if RTC_CLASS
807 select MULTI_IRQ_HANDLER
808 help 802 help
809 Samsung S5P64X0 CPU based systems, such as the Samsung SMDK6440, 803 Samsung S5P64X0 CPU based systems, such as the Samsung SMDK6440,
810 SMDK6450. 804 SMDK6450.
@@ -820,7 +814,6 @@ config ARCH_S5PC100
820 select HAVE_S3C2410_I2C if I2C 814 select HAVE_S3C2410_I2C if I2C
821 select HAVE_S3C_RTC if RTC_CLASS 815 select HAVE_S3C_RTC if RTC_CLASS
822 select HAVE_S3C2410_WATCHDOG if WATCHDOG 816 select HAVE_S3C2410_WATCHDOG if WATCHDOG
823 select MULTI_IRQ_HANDLER
824 help 817 help
825 Samsung S5PC100 series based systems 818 Samsung S5PC100 series based systems
826 819
@@ -841,7 +834,6 @@ config ARCH_S5PV210
841 select HAVE_S3C_RTC if RTC_CLASS 834 select HAVE_S3C_RTC if RTC_CLASS
842 select HAVE_S3C2410_WATCHDOG if WATCHDOG 835 select HAVE_S3C2410_WATCHDOG if WATCHDOG
843 select NEED_MACH_MEMORY_H 836 select NEED_MACH_MEMORY_H
844 select MULTI_IRQ_HANDLER
845 help 837 help
846 Samsung S5PV210/S5PC110 series based systems 838 Samsung S5PV210/S5PC110 series based systems
847 839
@@ -901,7 +893,6 @@ config ARCH_U300
901 select GENERIC_GPIO 893 select GENERIC_GPIO
902 select ARCH_REQUIRE_GPIOLIB 894 select ARCH_REQUIRE_GPIOLIB
903 select NEED_MACH_MEMORY_H 895 select NEED_MACH_MEMORY_H
904 select MULTI_IRQ_HANDLER
905 help 896 help
906 Support for ST-Ericsson U300 series mobile platforms. 897 Support for ST-Ericsson U300 series mobile platforms.
907 898
@@ -924,7 +915,6 @@ config ARCH_NOMADIK
924 select CLKDEV_LOOKUP 915 select CLKDEV_LOOKUP
925 select GENERIC_CLOCKEVENTS 916 select GENERIC_CLOCKEVENTS
926 select ARCH_REQUIRE_GPIOLIB 917 select ARCH_REQUIRE_GPIOLIB
927 select MULTI_IRQ_HANDLER
928 help 918 help
929 Support for the Nomadik platform by ST-Ericsson 919 Support for the Nomadik platform by ST-Ericsson
930 920
@@ -961,7 +951,6 @@ config PLAT_SPEAR
961 select CLKSRC_MMIO 951 select CLKSRC_MMIO
962 select GENERIC_CLOCKEVENTS 952 select GENERIC_CLOCKEVENTS
963 select HAVE_CLK 953 select HAVE_CLK
964 select MULTI_IRQ_HANDLER
965 help 954 help
966 Support for ST's SPEAr platform (SPEAr3xx, SPEAr6xx and SPEAr13xx). 955 Support for ST's SPEAr platform (SPEAr3xx, SPEAr6xx and SPEAr13xx).
967 956
diff --git a/arch/arm/common/Kconfig b/arch/arm/common/Kconfig
index 10ca9749e94d..81a933eb0903 100644
--- a/arch/arm/common/Kconfig
+++ b/arch/arm/common/Kconfig
@@ -8,6 +8,7 @@ config GIC_NON_BANKED
8 8
9config ARM_VIC 9config ARM_VIC
10 select IRQ_DOMAIN 10 select IRQ_DOMAIN
11 select MULTI_IRQ_HANDLER
11 bool 12 bool
12 13
13config ARM_VIC_NR 14config ARM_VIC_NR
diff --git a/arch/arm/common/vic.c b/arch/arm/common/vic.c
index 0a69547e0312..6ed41ec2bbf5 100644
--- a/arch/arm/common/vic.c
+++ b/arch/arm/common/vic.c
@@ -430,7 +430,6 @@ int __init vic_of_init(struct device_node *node, struct device_node *parent)
430} 430}
431#endif /* CONFIG OF */ 431#endif /* CONFIG OF */
432 432
433#ifdef CONFIG_MULTI_IRQ_HANDLER
434/* 433/*
435 * Handle each interrupt in a single VIC. Returns non-zero if we've 434 * Handle each interrupt in a single VIC. Returns non-zero if we've
436 * handled at least one interrupt. This does a single read of the 435 * handled at least one interrupt. This does a single read of the
@@ -465,4 +464,3 @@ asmlinkage void __exception_irq_entry vic_handle_irq(struct pt_regs *regs)
465 handled |= handle_one_vic(&vic_devices[i], regs); 464 handled |= handle_one_vic(&vic_devices[i], regs);
466 } while (handled); 465 } while (handled);
467} 466}
468#endif /* CONFIG_MULTI_IRQ_HANDLER */
diff --git a/arch/arm/include/asm/entry-macro-vic2.S b/arch/arm/include/asm/entry-macro-vic2.S
deleted file mode 100644
index 3ceb85e43850..000000000000
--- a/arch/arm/include/asm/entry-macro-vic2.S
+++ /dev/null
@@ -1,57 +0,0 @@
1/* arch/arm/include/asm/entry-macro-vic2.S
2 *
3 * Originally arch/arm/mach-s3c6400/include/mach/entry-macro.S
4 *
5 * Copyright 2008 Openmoko, Inc.
6 * Copyright 2008 Simtec Electronics
7 * http://armlinux.simtec.co.uk/
8 * Ben Dooks <ben@simtec.co.uk>
9 *
10 * Low-level IRQ helper macros for a device with two VICs
11 *
12 * This file is licensed under the terms of the GNU General Public
13 * License version 2. This program is licensed "as is" without any
14 * warranty of any kind, whether express or implied.
15*/
16
17/* This should be included from <mach/entry-macro.S> with the necessary
18 * defines for virtual addresses and IRQ bases for the two vics.
19 *
20 * The code needs the following defined:
21 * IRQ_VIC0_BASE IRQ number of VIC0's first IRQ
22 * IRQ_VIC1_BASE IRQ number of VIC1's first IRQ
23 * VA_VIC0 Virtual address of VIC0
24 * VA_VIC1 Virtual address of VIC1
25 *
26 * Note, code assumes VIC0's virtual address is an ARM immediate constant
27 * away from VIC1.
28*/
29
30#include <asm/hardware/vic.h>
31
32 .macro disable_fiq
33 .endm
34
35 .macro get_irqnr_preamble, base, tmp
36 ldr \base, =VA_VIC0
37 .endm
38
39 .macro arch_ret_to_user, tmp1, tmp2
40 .endm
41
42 .macro get_irqnr_and_base, irqnr, irqstat, base, tmp
43
44 @ check the vic0
45 mov \irqnr, #IRQ_VIC0_BASE + 31
46 ldr \irqstat, [ \base, # VIC_IRQ_STATUS ]
47 teq \irqstat, #0
48
49 @ otherwise try vic1
50 addeq \tmp, \base, #(VA_VIC1 - VA_VIC0)
51 addeq \irqnr, \irqnr, #(IRQ_VIC1_BASE - IRQ_VIC0_BASE)
52 ldreq \irqstat, [ \tmp, # VIC_IRQ_STATUS ]
53 teqeq \irqstat, #0
54
55 clzne \irqstat, \irqstat
56 subne \irqnr, \irqnr, \irqstat
57 .endm