diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-03-23 20:30:49 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-03-23 20:30:49 -0400 |
commit | 56c10bf82c10588b743e75a13a7949e11b9fc942 (patch) | |
tree | a2eda0459abb314107ac64af770bf7fb360aefc6 /arch/arm/mach-versatile | |
parent | bab2d8c6020e1d7521cb6c4939f72b061ce947bc (diff) | |
parent | 61b80086a525c8a6081257ae40da5dee2bcaee16 (diff) |
Merge branch 'for-armsoc' of git://git.linaro.org/people/rmk/linux-arm
Pull #1 ARM updates from Russell King:
"This one covers stuff which Arnd is waiting for me to push, as this is
shared between both our trees and probably other trees elsewhere.
Essentially, this contains:
- AMBA primecell device initializer updates - mostly shrinking the
size of the device declarations in platform code to something more
reasonable.
- Getting rid of the NO_IRQ crap from AMBA primecell stuff.
- Nicolas' idle cleanups. This in combination with the restart
cleanups from the last merge window results in a great many
mach/system.h files being deleted."
Yay: ~80 files, ~2000 lines deleted.
* 'for-armsoc' of git://git.linaro.org/people/rmk/linux-arm: (60 commits)
ARM: remove disable_fiq and arch_ret_to_user macros
ARM: make entry-macro.S depend on !MULTI_IRQ_HANDLER
ARM: rpc: make default fiq handler run-time installed
ARM: make arch_ret_to_user macro optional
ARM: amba: samsung: use common amba device initializers
ARM: amba: spear: use common amba device initializers
ARM: amba: nomadik: use common amba device initializers
ARM: amba: u300: use common amba device initializers
ARM: amba: lpc32xx: use common amba device initializers
ARM: amba: netx: use common amba device initializers
ARM: amba: bcmring: use common amba device initializers
ARM: amba: ep93xx: use common amba device initializers
ARM: amba: omap2: use common amba device initializers
ARM: amba: integrator: use common amba device initializers
ARM: amba: realview: get rid of private platform amba_device initializer
ARM: amba: versatile: get rid of private platform amba_device initializer
ARM: amba: vexpress: get rid of private platform amba_device initializer
ARM: amba: provide common initializers for static amba devices
ARM: amba: make use of -1 IRQs warn
ARM: amba: u300: get rid of NO_IRQ initializers
...
Diffstat (limited to 'arch/arm/mach-versatile')
-rw-r--r-- | arch/arm/mach-versatile/core.c | 70 | ||||
-rw-r--r-- | arch/arm/mach-versatile/core.h | 20 | ||||
-rw-r--r-- | arch/arm/mach-versatile/include/mach/entry-macro.S | 15 | ||||
-rw-r--r-- | arch/arm/mach-versatile/include/mach/system.h | 33 | ||||
-rw-r--r-- | arch/arm/mach-versatile/versatile_pb.c | 18 |
5 files changed, 49 insertions, 107 deletions
diff --git a/arch/arm/mach-versatile/core.c b/arch/arm/mach-versatile/core.c index 008ce22b9a06..0968772aedbe 100644 --- a/arch/arm/mach-versatile/core.c +++ b/arch/arm/mach-versatile/core.c | |||
@@ -585,58 +585,58 @@ static struct pl022_ssp_controller ssp0_plat_data = { | |||
585 | .num_chipselect = 1, | 585 | .num_chipselect = 1, |
586 | }; | 586 | }; |
587 | 587 | ||
588 | #define AACI_IRQ { IRQ_AACI, NO_IRQ } | 588 | #define AACI_IRQ { IRQ_AACI } |
589 | #define MMCI0_IRQ { IRQ_MMCI0A,IRQ_SIC_MMCI0B } | 589 | #define MMCI0_IRQ { IRQ_MMCI0A,IRQ_SIC_MMCI0B } |
590 | #define KMI0_IRQ { IRQ_SIC_KMI0, NO_IRQ } | 590 | #define KMI0_IRQ { IRQ_SIC_KMI0 } |
591 | #define KMI1_IRQ { IRQ_SIC_KMI1, NO_IRQ } | 591 | #define KMI1_IRQ { IRQ_SIC_KMI1 } |
592 | 592 | ||
593 | /* | 593 | /* |
594 | * These devices are connected directly to the multi-layer AHB switch | 594 | * These devices are connected directly to the multi-layer AHB switch |
595 | */ | 595 | */ |
596 | #define SMC_IRQ { NO_IRQ, NO_IRQ } | 596 | #define SMC_IRQ { } |
597 | #define MPMC_IRQ { NO_IRQ, NO_IRQ } | 597 | #define MPMC_IRQ { } |
598 | #define CLCD_IRQ { IRQ_CLCDINT, NO_IRQ } | 598 | #define CLCD_IRQ { IRQ_CLCDINT } |
599 | #define DMAC_IRQ { IRQ_DMAINT, NO_IRQ } | 599 | #define DMAC_IRQ { IRQ_DMAINT } |
600 | 600 | ||
601 | /* | 601 | /* |
602 | * These devices are connected via the core APB bridge | 602 | * These devices are connected via the core APB bridge |
603 | */ | 603 | */ |
604 | #define SCTL_IRQ { NO_IRQ, NO_IRQ } | 604 | #define SCTL_IRQ { } |
605 | #define WATCHDOG_IRQ { IRQ_WDOGINT, NO_IRQ } | 605 | #define WATCHDOG_IRQ { IRQ_WDOGINT } |
606 | #define GPIO0_IRQ { IRQ_GPIOINT0, NO_IRQ } | 606 | #define GPIO0_IRQ { IRQ_GPIOINT0 } |
607 | #define GPIO1_IRQ { IRQ_GPIOINT1, NO_IRQ } | 607 | #define GPIO1_IRQ { IRQ_GPIOINT1 } |
608 | #define RTC_IRQ { IRQ_RTCINT, NO_IRQ } | 608 | #define RTC_IRQ { IRQ_RTCINT } |
609 | 609 | ||
610 | /* | 610 | /* |
611 | * These devices are connected via the DMA APB bridge | 611 | * These devices are connected via the DMA APB bridge |
612 | */ | 612 | */ |
613 | #define SCI_IRQ { IRQ_SCIINT, NO_IRQ } | 613 | #define SCI_IRQ { IRQ_SCIINT } |
614 | #define UART0_IRQ { IRQ_UARTINT0, NO_IRQ } | 614 | #define UART0_IRQ { IRQ_UARTINT0 } |
615 | #define UART1_IRQ { IRQ_UARTINT1, NO_IRQ } | 615 | #define UART1_IRQ { IRQ_UARTINT1 } |
616 | #define UART2_IRQ { IRQ_UARTINT2, NO_IRQ } | 616 | #define UART2_IRQ { IRQ_UARTINT2 } |
617 | #define SSP_IRQ { IRQ_SSPINT, NO_IRQ } | 617 | #define SSP_IRQ { IRQ_SSPINT } |
618 | 618 | ||
619 | /* FPGA Primecells */ | 619 | /* FPGA Primecells */ |
620 | AMBA_DEVICE(aaci, "fpga:04", AACI, NULL); | 620 | APB_DEVICE(aaci, "fpga:04", AACI, NULL); |
621 | AMBA_DEVICE(mmc0, "fpga:05", MMCI0, &mmc0_plat_data); | 621 | APB_DEVICE(mmc0, "fpga:05", MMCI0, &mmc0_plat_data); |
622 | AMBA_DEVICE(kmi0, "fpga:06", KMI0, NULL); | 622 | APB_DEVICE(kmi0, "fpga:06", KMI0, NULL); |
623 | AMBA_DEVICE(kmi1, "fpga:07", KMI1, NULL); | 623 | APB_DEVICE(kmi1, "fpga:07", KMI1, NULL); |
624 | 624 | ||
625 | /* DevChip Primecells */ | 625 | /* DevChip Primecells */ |
626 | AMBA_DEVICE(smc, "dev:00", SMC, NULL); | 626 | AHB_DEVICE(smc, "dev:00", SMC, NULL); |
627 | AMBA_DEVICE(mpmc, "dev:10", MPMC, NULL); | 627 | AHB_DEVICE(mpmc, "dev:10", MPMC, NULL); |
628 | AMBA_DEVICE(clcd, "dev:20", CLCD, &clcd_plat_data); | 628 | AHB_DEVICE(clcd, "dev:20", CLCD, &clcd_plat_data); |
629 | AMBA_DEVICE(dmac, "dev:30", DMAC, NULL); | 629 | AHB_DEVICE(dmac, "dev:30", DMAC, NULL); |
630 | AMBA_DEVICE(sctl, "dev:e0", SCTL, NULL); | 630 | APB_DEVICE(sctl, "dev:e0", SCTL, NULL); |
631 | AMBA_DEVICE(wdog, "dev:e1", WATCHDOG, NULL); | 631 | APB_DEVICE(wdog, "dev:e1", WATCHDOG, NULL); |
632 | AMBA_DEVICE(gpio0, "dev:e4", GPIO0, &gpio0_plat_data); | 632 | APB_DEVICE(gpio0, "dev:e4", GPIO0, &gpio0_plat_data); |
633 | AMBA_DEVICE(gpio1, "dev:e5", GPIO1, &gpio1_plat_data); | 633 | APB_DEVICE(gpio1, "dev:e5", GPIO1, &gpio1_plat_data); |
634 | AMBA_DEVICE(rtc, "dev:e8", RTC, NULL); | 634 | APB_DEVICE(rtc, "dev:e8", RTC, NULL); |
635 | AMBA_DEVICE(sci0, "dev:f0", SCI, NULL); | 635 | APB_DEVICE(sci0, "dev:f0", SCI, NULL); |
636 | AMBA_DEVICE(uart0, "dev:f1", UART0, NULL); | 636 | APB_DEVICE(uart0, "dev:f1", UART0, NULL); |
637 | AMBA_DEVICE(uart1, "dev:f2", UART1, NULL); | 637 | APB_DEVICE(uart1, "dev:f2", UART1, NULL); |
638 | AMBA_DEVICE(uart2, "dev:f3", UART2, NULL); | 638 | APB_DEVICE(uart2, "dev:f3", UART2, NULL); |
639 | AMBA_DEVICE(ssp0, "dev:f4", SSP, &ssp0_plat_data); | 639 | APB_DEVICE(ssp0, "dev:f4", SSP, &ssp0_plat_data); |
640 | 640 | ||
641 | static struct amba_device *amba_devs[] __initdata = { | 641 | static struct amba_device *amba_devs[] __initdata = { |
642 | &dmac_device, | 642 | &dmac_device, |
diff --git a/arch/arm/mach-versatile/core.h b/arch/arm/mach-versatile/core.h index 2ef2f555f315..683e60776a85 100644 --- a/arch/arm/mach-versatile/core.h +++ b/arch/arm/mach-versatile/core.h | |||
@@ -36,20 +36,10 @@ extern unsigned int mmc_status(struct device *dev); | |||
36 | extern struct of_dev_auxdata versatile_auxdata_lookup[]; | 36 | extern struct of_dev_auxdata versatile_auxdata_lookup[]; |
37 | #endif | 37 | #endif |
38 | 38 | ||
39 | #define AMBA_DEVICE(name,busid,base,plat) \ | 39 | #define APB_DEVICE(name, busid, base, plat) \ |
40 | static struct amba_device name##_device = { \ | 40 | static AMBA_APB_DEVICE(name, busid, 0, VERSATILE_##base##_BASE, base##_IRQ, plat) |
41 | .dev = { \ | 41 | |
42 | .coherent_dma_mask = ~0, \ | 42 | #define AHB_DEVICE(name, busid, base, plat) \ |
43 | .init_name = busid, \ | 43 | static AMBA_AHB_DEVICE(name, busid, 0, VERSATILE_##base##_BASE, base##_IRQ, plat) |
44 | .platform_data = plat, \ | ||
45 | }, \ | ||
46 | .res = { \ | ||
47 | .start = VERSATILE_##base##_BASE, \ | ||
48 | .end = (VERSATILE_##base##_BASE) + SZ_4K - 1,\ | ||
49 | .flags = IORESOURCE_MEM, \ | ||
50 | }, \ | ||
51 | .dma_mask = ~0, \ | ||
52 | .irq = base##_IRQ, \ | ||
53 | } | ||
54 | 44 | ||
55 | #endif | 45 | #endif |
diff --git a/arch/arm/mach-versatile/include/mach/entry-macro.S b/arch/arm/mach-versatile/include/mach/entry-macro.S deleted file mode 100644 index b6f0dbf122ee..000000000000 --- a/arch/arm/mach-versatile/include/mach/entry-macro.S +++ /dev/null | |||
@@ -1,15 +0,0 @@ | |||
1 | /* | ||
2 | * arch/arm/mach-versatile/include/mach/entry-macro.S | ||
3 | * | ||
4 | * Low-level IRQ helper macros for Versatile platforms | ||
5 | * | ||
6 | * This file is licensed under the terms of the GNU General Public | ||
7 | * License version 2. This program is licensed "as is" without any | ||
8 | * warranty of any kind, whether express or implied. | ||
9 | */ | ||
10 | |||
11 | .macro disable_fiq | ||
12 | .endm | ||
13 | |||
14 | .macro arch_ret_to_user, tmp1, tmp2 | ||
15 | .endm | ||
diff --git a/arch/arm/mach-versatile/include/mach/system.h b/arch/arm/mach-versatile/include/mach/system.h deleted file mode 100644 index f3fa347895f0..000000000000 --- a/arch/arm/mach-versatile/include/mach/system.h +++ /dev/null | |||
@@ -1,33 +0,0 @@ | |||
1 | /* | ||
2 | * arch/arm/mach-versatile/include/mach/system.h | ||
3 | * | ||
4 | * Copyright (C) 2003 ARM Limited | ||
5 | * Copyright (C) 2000 Deep Blue Solutions Ltd | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License as published by | ||
9 | * the Free Software Foundation; either version 2 of the License, or | ||
10 | * (at your option) any later version. | ||
11 | * | ||
12 | * This program is distributed in the hope that it will be useful, | ||
13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
15 | * GNU General Public License for more details. | ||
16 | * | ||
17 | * You should have received a copy of the GNU General Public License | ||
18 | * along with this program; if not, write to the Free Software | ||
19 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
20 | */ | ||
21 | #ifndef __ASM_ARCH_SYSTEM_H | ||
22 | #define __ASM_ARCH_SYSTEM_H | ||
23 | |||
24 | static inline void arch_idle(void) | ||
25 | { | ||
26 | /* | ||
27 | * This should do all the clock switching | ||
28 | * and wait for interrupt tricks | ||
29 | */ | ||
30 | cpu_do_idle(); | ||
31 | } | ||
32 | |||
33 | #endif | ||
diff --git a/arch/arm/mach-versatile/versatile_pb.c b/arch/arm/mach-versatile/versatile_pb.c index 9581c197500c..19738331bd3d 100644 --- a/arch/arm/mach-versatile/versatile_pb.c +++ b/arch/arm/mach-versatile/versatile_pb.c | |||
@@ -58,28 +58,28 @@ static struct pl061_platform_data gpio3_plat_data = { | |||
58 | .irq_base = IRQ_GPIO3_START, | 58 | .irq_base = IRQ_GPIO3_START, |
59 | }; | 59 | }; |
60 | 60 | ||
61 | #define UART3_IRQ { IRQ_SIC_UART3, NO_IRQ } | 61 | #define UART3_IRQ { IRQ_SIC_UART3 } |
62 | #define SCI1_IRQ { IRQ_SIC_SCI3, NO_IRQ } | 62 | #define SCI1_IRQ { IRQ_SIC_SCI3 } |
63 | #define MMCI1_IRQ { IRQ_MMCI1A, IRQ_SIC_MMCI1B } | 63 | #define MMCI1_IRQ { IRQ_MMCI1A, IRQ_SIC_MMCI1B } |
64 | 64 | ||
65 | /* | 65 | /* |
66 | * These devices are connected via the core APB bridge | 66 | * These devices are connected via the core APB bridge |
67 | */ | 67 | */ |
68 | #define GPIO2_IRQ { IRQ_GPIOINT2, NO_IRQ } | 68 | #define GPIO2_IRQ { IRQ_GPIOINT2 } |
69 | #define GPIO3_IRQ { IRQ_GPIOINT3, NO_IRQ } | 69 | #define GPIO3_IRQ { IRQ_GPIOINT3 } |
70 | 70 | ||
71 | /* | 71 | /* |
72 | * These devices are connected via the DMA APB bridge | 72 | * These devices are connected via the DMA APB bridge |
73 | */ | 73 | */ |
74 | 74 | ||
75 | /* FPGA Primecells */ | 75 | /* FPGA Primecells */ |
76 | AMBA_DEVICE(uart3, "fpga:09", UART3, NULL); | 76 | APB_DEVICE(uart3, "fpga:09", UART3, NULL); |
77 | AMBA_DEVICE(sci1, "fpga:0a", SCI1, NULL); | 77 | APB_DEVICE(sci1, "fpga:0a", SCI1, NULL); |
78 | AMBA_DEVICE(mmc1, "fpga:0b", MMCI1, &mmc1_plat_data); | 78 | APB_DEVICE(mmc1, "fpga:0b", MMCI1, &mmc1_plat_data); |
79 | 79 | ||
80 | /* DevChip Primecells */ | 80 | /* DevChip Primecells */ |
81 | AMBA_DEVICE(gpio2, "dev:e6", GPIO2, &gpio2_plat_data); | 81 | APB_DEVICE(gpio2, "dev:e6", GPIO2, &gpio2_plat_data); |
82 | AMBA_DEVICE(gpio3, "dev:e7", GPIO3, &gpio3_plat_data); | 82 | APB_DEVICE(gpio3, "dev:e7", GPIO3, &gpio3_plat_data); |
83 | 83 | ||
84 | static struct amba_device *amba_devs[] __initdata = { | 84 | static struct amba_device *amba_devs[] __initdata = { |
85 | &uart3_device, | 85 | &uart3_device, |