aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-versatile
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2012-03-23 20:30:49 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2012-03-23 20:30:49 -0400
commit56c10bf82c10588b743e75a13a7949e11b9fc942 (patch)
treea2eda0459abb314107ac64af770bf7fb360aefc6 /arch/arm/mach-versatile
parentbab2d8c6020e1d7521cb6c4939f72b061ce947bc (diff)
parent61b80086a525c8a6081257ae40da5dee2bcaee16 (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.c70
-rw-r--r--arch/arm/mach-versatile/core.h20
-rw-r--r--arch/arm/mach-versatile/include/mach/entry-macro.S15
-rw-r--r--arch/arm/mach-versatile/include/mach/system.h33
-rw-r--r--arch/arm/mach-versatile/versatile_pb.c18
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 */
620AMBA_DEVICE(aaci, "fpga:04", AACI, NULL); 620APB_DEVICE(aaci, "fpga:04", AACI, NULL);
621AMBA_DEVICE(mmc0, "fpga:05", MMCI0, &mmc0_plat_data); 621APB_DEVICE(mmc0, "fpga:05", MMCI0, &mmc0_plat_data);
622AMBA_DEVICE(kmi0, "fpga:06", KMI0, NULL); 622APB_DEVICE(kmi0, "fpga:06", KMI0, NULL);
623AMBA_DEVICE(kmi1, "fpga:07", KMI1, NULL); 623APB_DEVICE(kmi1, "fpga:07", KMI1, NULL);
624 624
625/* DevChip Primecells */ 625/* DevChip Primecells */
626AMBA_DEVICE(smc, "dev:00", SMC, NULL); 626AHB_DEVICE(smc, "dev:00", SMC, NULL);
627AMBA_DEVICE(mpmc, "dev:10", MPMC, NULL); 627AHB_DEVICE(mpmc, "dev:10", MPMC, NULL);
628AMBA_DEVICE(clcd, "dev:20", CLCD, &clcd_plat_data); 628AHB_DEVICE(clcd, "dev:20", CLCD, &clcd_plat_data);
629AMBA_DEVICE(dmac, "dev:30", DMAC, NULL); 629AHB_DEVICE(dmac, "dev:30", DMAC, NULL);
630AMBA_DEVICE(sctl, "dev:e0", SCTL, NULL); 630APB_DEVICE(sctl, "dev:e0", SCTL, NULL);
631AMBA_DEVICE(wdog, "dev:e1", WATCHDOG, NULL); 631APB_DEVICE(wdog, "dev:e1", WATCHDOG, NULL);
632AMBA_DEVICE(gpio0, "dev:e4", GPIO0, &gpio0_plat_data); 632APB_DEVICE(gpio0, "dev:e4", GPIO0, &gpio0_plat_data);
633AMBA_DEVICE(gpio1, "dev:e5", GPIO1, &gpio1_plat_data); 633APB_DEVICE(gpio1, "dev:e5", GPIO1, &gpio1_plat_data);
634AMBA_DEVICE(rtc, "dev:e8", RTC, NULL); 634APB_DEVICE(rtc, "dev:e8", RTC, NULL);
635AMBA_DEVICE(sci0, "dev:f0", SCI, NULL); 635APB_DEVICE(sci0, "dev:f0", SCI, NULL);
636AMBA_DEVICE(uart0, "dev:f1", UART0, NULL); 636APB_DEVICE(uart0, "dev:f1", UART0, NULL);
637AMBA_DEVICE(uart1, "dev:f2", UART1, NULL); 637APB_DEVICE(uart1, "dev:f2", UART1, NULL);
638AMBA_DEVICE(uart2, "dev:f3", UART2, NULL); 638APB_DEVICE(uart2, "dev:f3", UART2, NULL);
639AMBA_DEVICE(ssp0, "dev:f4", SSP, &ssp0_plat_data); 639APB_DEVICE(ssp0, "dev:f4", SSP, &ssp0_plat_data);
640 640
641static struct amba_device *amba_devs[] __initdata = { 641static 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);
36extern struct of_dev_auxdata versatile_auxdata_lookup[]; 36extern 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) \
40static struct amba_device name##_device = { \ 40static 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, \ 43static 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
24static 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 */
76AMBA_DEVICE(uart3, "fpga:09", UART3, NULL); 76APB_DEVICE(uart3, "fpga:09", UART3, NULL);
77AMBA_DEVICE(sci1, "fpga:0a", SCI1, NULL); 77APB_DEVICE(sci1, "fpga:0a", SCI1, NULL);
78AMBA_DEVICE(mmc1, "fpga:0b", MMCI1, &mmc1_plat_data); 78APB_DEVICE(mmc1, "fpga:0b", MMCI1, &mmc1_plat_data);
79 79
80/* DevChip Primecells */ 80/* DevChip Primecells */
81AMBA_DEVICE(gpio2, "dev:e6", GPIO2, &gpio2_plat_data); 81APB_DEVICE(gpio2, "dev:e6", GPIO2, &gpio2_plat_data);
82AMBA_DEVICE(gpio3, "dev:e7", GPIO3, &gpio3_plat_data); 82APB_DEVICE(gpio3, "dev:e7", GPIO3, &gpio3_plat_data);
83 83
84static struct amba_device *amba_devs[] __initdata = { 84static struct amba_device *amba_devs[] __initdata = {
85 &uart3_device, 85 &uart3_device,