diff options
author | Jamie Iles <jamie@jamieiles.com> | 2011-11-03 13:32:39 -0400 |
---|---|---|
committer | Marc Zyngier <marc.zyngier@arm.com> | 2011-11-15 13:14:04 -0500 |
commit | 11f1c5de7be06bbb51363002ebc4d00edc2677df (patch) | |
tree | cc32988e38b199db5207e32d491eb4b453c87a19 /arch/arm | |
parent | c05012ce9a70100dd547042865df751498244ec3 (diff) |
ARM: VIC: remove non MULTI_IRQ_HANDLER support
Now that all platforms are converted to MULTI_IRQ_HANDLER, remove the
legacy support.
Tested-by: Thomas Abraham <thomas.abraham@linaro.org>
Signed-off-by: Jamie Iles <jamie@jamieiles.com>
Diffstat (limited to 'arch/arm')
-rw-r--r-- | arch/arm/Kconfig | 11 | ||||
-rw-r--r-- | arch/arm/common/Kconfig | 1 | ||||
-rw-r--r-- | arch/arm/common/vic.c | 2 | ||||
-rw-r--r-- | arch/arm/include/asm/entry-macro-vic2.S | 57 |
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 | ||
9 | config ARM_VIC | 9 | config ARM_VIC |
10 | select IRQ_DOMAIN | 10 | select IRQ_DOMAIN |
11 | select MULTI_IRQ_HANDLER | ||
11 | bool | 12 | bool |
12 | 13 | ||
13 | config ARM_VIC_NR | 14 | config 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 | ||