diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-05-26 16:14:01 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-05-26 16:14:01 -0400 |
commit | f465d145d76803fe6332092775d891c8c509aa44 (patch) | |
tree | 45889e2eee7e8288ef269e9b661111364a71c25f /arch/arm/mach-shmobile | |
parent | 30b842889eea1bea02dff55b13d2ddf07a46ce78 (diff) | |
parent | 80b9abf973462499c1a0110df47f62cc90361e2c (diff) |
Merge tag 'cleanup-initcall' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
Pull sweeping late_initcall cleanup for arm-soc from Olof Johansson:
"This is a patch series from Shawn Guo that moves from individual
late_initcalls() to using a member in the machine structure to invoke
a platform's late initcalls.
This cleanup is a step in the move towards multiplatform kernels since
it would reduce the need to check for compatible platforms in each and
every initcall."
Fix up trivial conflicts in arch/arm/mach-{exynos/mach-universal_c210.c,
imx/mach-cpuimx51.c, omap2/board-generic.c} due to changes nearby (and,
in the case of cpuimx51.c the board support being deleted)
* tag 'cleanup-initcall' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
ARM: ux500: use machine specific hook for late init
ARM: tegra: use machine specific hook for late init
ARM: shmobile: use machine specific hook for late init
ARM: sa1100: use machine specific hook for late init
ARM: s3c64xx: use machine specific hook for late init
ARM: prima2: use machine specific hook for late init
ARM: pnx4008: use machine specific hook for late init
ARM: omap2: use machine specific hook for late init
ARM: omap1: use machine specific hook for late init
ARM: msm: use machine specific hook for late init
ARM: imx: use machine specific hook for late init
ARM: exynos: use machine specific hook for late init
ARM: ep93xx: use machine specific hook for late init
ARM: davinci: use machine specific hook for late init
ARM: provide a late_initcall hook for platform initialization
Diffstat (limited to 'arch/arm/mach-shmobile')
-rw-r--r-- | arch/arm/mach-shmobile/Makefile | 2 | ||||
-rw-r--r-- | arch/arm/mach-shmobile/board-ag5evm.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-shmobile/board-ap4evb.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-shmobile/board-bonito.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-shmobile/board-g3evm.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-shmobile/board-g4evm.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-shmobile/board-kota2.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-shmobile/board-mackerel.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-shmobile/board-marzen.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-shmobile/common.c | 24 | ||||
-rw-r--r-- | arch/arm/mach-shmobile/cpuidle.c | 3 | ||||
-rw-r--r-- | arch/arm/mach-shmobile/include/mach/common.h | 14 | ||||
-rw-r--r-- | arch/arm/mach-shmobile/suspend.c | 3 |
13 files changed, 49 insertions, 5 deletions
diff --git a/arch/arm/mach-shmobile/Makefile b/arch/arm/mach-shmobile/Makefile index e6b177bc9410..8aa1962c22a2 100644 --- a/arch/arm/mach-shmobile/Makefile +++ b/arch/arm/mach-shmobile/Makefile | |||
@@ -3,7 +3,7 @@ | |||
3 | # | 3 | # |
4 | 4 | ||
5 | # Common objects | 5 | # Common objects |
6 | obj-y := timer.o console.o clock.o | 6 | obj-y := timer.o console.o clock.o common.o |
7 | 7 | ||
8 | # CPU objects | 8 | # CPU objects |
9 | obj-$(CONFIG_ARCH_SH7367) += setup-sh7367.o clock-sh7367.o intc-sh7367.o | 9 | obj-$(CONFIG_ARCH_SH7367) += setup-sh7367.o clock-sh7367.o intc-sh7367.o |
diff --git a/arch/arm/mach-shmobile/board-ag5evm.c b/arch/arm/mach-shmobile/board-ag5evm.c index 0891ec6e27f5..5a6f22f05e99 100644 --- a/arch/arm/mach-shmobile/board-ag5evm.c +++ b/arch/arm/mach-shmobile/board-ag5evm.c | |||
@@ -580,5 +580,6 @@ MACHINE_START(AG5EVM, "ag5evm") | |||
580 | .init_irq = sh73a0_init_irq, | 580 | .init_irq = sh73a0_init_irq, |
581 | .handle_irq = gic_handle_irq, | 581 | .handle_irq = gic_handle_irq, |
582 | .init_machine = ag5evm_init, | 582 | .init_machine = ag5evm_init, |
583 | .init_late = shmobile_init_late, | ||
583 | .timer = &shmobile_timer, | 584 | .timer = &shmobile_timer, |
584 | MACHINE_END | 585 | MACHINE_END |
diff --git a/arch/arm/mach-shmobile/board-ap4evb.c b/arch/arm/mach-shmobile/board-ap4evb.c index b540b8eb20ca..ace60246a5df 100644 --- a/arch/arm/mach-shmobile/board-ap4evb.c +++ b/arch/arm/mach-shmobile/board-ap4evb.c | |||
@@ -1469,5 +1469,6 @@ MACHINE_START(AP4EVB, "ap4evb") | |||
1469 | .init_irq = sh7372_init_irq, | 1469 | .init_irq = sh7372_init_irq, |
1470 | .handle_irq = shmobile_handle_irq_intc, | 1470 | .handle_irq = shmobile_handle_irq_intc, |
1471 | .init_machine = ap4evb_init, | 1471 | .init_machine = ap4evb_init, |
1472 | .init_late = shmobile_init_late, | ||
1472 | .timer = &shmobile_timer, | 1473 | .timer = &shmobile_timer, |
1473 | MACHINE_END | 1474 | MACHINE_END |
diff --git a/arch/arm/mach-shmobile/board-bonito.c b/arch/arm/mach-shmobile/board-bonito.c index 63ab7062bee3..e9b32cfbf741 100644 --- a/arch/arm/mach-shmobile/board-bonito.c +++ b/arch/arm/mach-shmobile/board-bonito.c | |||
@@ -500,5 +500,6 @@ MACHINE_START(BONITO, "bonito") | |||
500 | .init_irq = r8a7740_init_irq, | 500 | .init_irq = r8a7740_init_irq, |
501 | .handle_irq = shmobile_handle_irq_intc, | 501 | .handle_irq = shmobile_handle_irq_intc, |
502 | .init_machine = bonito_init, | 502 | .init_machine = bonito_init, |
503 | .init_late = shmobile_init_late, | ||
503 | .timer = &shmobile_timer, | 504 | .timer = &shmobile_timer, |
504 | MACHINE_END | 505 | MACHINE_END |
diff --git a/arch/arm/mach-shmobile/board-g3evm.c b/arch/arm/mach-shmobile/board-g3evm.c index 39b6cf85ced6..796fa00ad3c4 100644 --- a/arch/arm/mach-shmobile/board-g3evm.c +++ b/arch/arm/mach-shmobile/board-g3evm.c | |||
@@ -338,5 +338,6 @@ MACHINE_START(G3EVM, "g3evm") | |||
338 | .init_irq = sh7367_init_irq, | 338 | .init_irq = sh7367_init_irq, |
339 | .handle_irq = shmobile_handle_irq_intc, | 339 | .handle_irq = shmobile_handle_irq_intc, |
340 | .init_machine = g3evm_init, | 340 | .init_machine = g3evm_init, |
341 | .init_late = shmobile_init_late, | ||
341 | .timer = &shmobile_timer, | 342 | .timer = &shmobile_timer, |
342 | MACHINE_END | 343 | MACHINE_END |
diff --git a/arch/arm/mach-shmobile/board-g4evm.c b/arch/arm/mach-shmobile/board-g4evm.c index 0e5a39c670bc..f1257321999a 100644 --- a/arch/arm/mach-shmobile/board-g4evm.c +++ b/arch/arm/mach-shmobile/board-g4evm.c | |||
@@ -381,5 +381,6 @@ MACHINE_START(G4EVM, "g4evm") | |||
381 | .init_irq = sh7377_init_irq, | 381 | .init_irq = sh7377_init_irq, |
382 | .handle_irq = shmobile_handle_irq_intc, | 382 | .handle_irq = shmobile_handle_irq_intc, |
383 | .init_machine = g4evm_init, | 383 | .init_machine = g4evm_init, |
384 | .init_late = shmobile_init_late, | ||
384 | .timer = &shmobile_timer, | 385 | .timer = &shmobile_timer, |
385 | MACHINE_END | 386 | MACHINE_END |
diff --git a/arch/arm/mach-shmobile/board-kota2.c b/arch/arm/mach-shmobile/board-kota2.c index 200dcd42a3a0..f60f1b281cc4 100644 --- a/arch/arm/mach-shmobile/board-kota2.c +++ b/arch/arm/mach-shmobile/board-kota2.c | |||
@@ -521,5 +521,6 @@ MACHINE_START(KOTA2, "kota2") | |||
521 | .init_irq = sh73a0_init_irq, | 521 | .init_irq = sh73a0_init_irq, |
522 | .handle_irq = gic_handle_irq, | 522 | .handle_irq = gic_handle_irq, |
523 | .init_machine = kota2_init, | 523 | .init_machine = kota2_init, |
524 | .init_late = shmobile_init_late, | ||
524 | .timer = &shmobile_timer, | 525 | .timer = &shmobile_timer, |
525 | MACHINE_END | 526 | MACHINE_END |
diff --git a/arch/arm/mach-shmobile/board-mackerel.c b/arch/arm/mach-shmobile/board-mackerel.c index 50c67b22d087..b577f7c44678 100644 --- a/arch/arm/mach-shmobile/board-mackerel.c +++ b/arch/arm/mach-shmobile/board-mackerel.c | |||
@@ -1638,5 +1638,6 @@ MACHINE_START(MACKEREL, "mackerel") | |||
1638 | .init_irq = sh7372_init_irq, | 1638 | .init_irq = sh7372_init_irq, |
1639 | .handle_irq = shmobile_handle_irq_intc, | 1639 | .handle_irq = shmobile_handle_irq_intc, |
1640 | .init_machine = mackerel_init, | 1640 | .init_machine = mackerel_init, |
1641 | .init_late = shmobile_init_late, | ||
1641 | .timer = &shmobile_timer, | 1642 | .timer = &shmobile_timer, |
1642 | MACHINE_END | 1643 | MACHINE_END |
diff --git a/arch/arm/mach-shmobile/board-marzen.c b/arch/arm/mach-shmobile/board-marzen.c index ef0e13bf0b3a..14de3787cafc 100644 --- a/arch/arm/mach-shmobile/board-marzen.c +++ b/arch/arm/mach-shmobile/board-marzen.c | |||
@@ -98,5 +98,6 @@ MACHINE_START(MARZEN, "marzen") | |||
98 | .init_irq = r8a7779_init_irq, | 98 | .init_irq = r8a7779_init_irq, |
99 | .handle_irq = gic_handle_irq, | 99 | .handle_irq = gic_handle_irq, |
100 | .init_machine = marzen_init, | 100 | .init_machine = marzen_init, |
101 | .init_late = shmobile_init_late, | ||
101 | .timer = &shmobile_timer, | 102 | .timer = &shmobile_timer, |
102 | MACHINE_END | 103 | MACHINE_END |
diff --git a/arch/arm/mach-shmobile/common.c b/arch/arm/mach-shmobile/common.c new file mode 100644 index 000000000000..608aba9d60d7 --- /dev/null +++ b/arch/arm/mach-shmobile/common.c | |||
@@ -0,0 +1,24 @@ | |||
1 | /* | ||
2 | * This program is free software; you can redistribute it and/or modify | ||
3 | * it under the terms of the GNU General Public License as published by | ||
4 | * the Free Software Foundation; version 2 of the License. | ||
5 | * | ||
6 | * This program is distributed in the hope that it will be useful, | ||
7 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
8 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
9 | * GNU General Public License for more details. | ||
10 | * | ||
11 | * You should have received a copy of the GNU General Public License | ||
12 | * along with this program; if not, write to the Free Software | ||
13 | * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
14 | * | ||
15 | */ | ||
16 | #include <linux/kernel.h> | ||
17 | #include <linux/init.h> | ||
18 | #include <mach/common.h> | ||
19 | |||
20 | void __init shmobile_init_late(void) | ||
21 | { | ||
22 | shmobile_suspend_init(); | ||
23 | shmobile_cpuidle_init(); | ||
24 | } | ||
diff --git a/arch/arm/mach-shmobile/cpuidle.c b/arch/arm/mach-shmobile/cpuidle.c index 7e6559105d40..7b541e911ab4 100644 --- a/arch/arm/mach-shmobile/cpuidle.c +++ b/arch/arm/mach-shmobile/cpuidle.c | |||
@@ -46,7 +46,7 @@ static struct cpuidle_driver shmobile_cpuidle_driver = { | |||
46 | 46 | ||
47 | void (*shmobile_cpuidle_setup)(struct cpuidle_driver *drv); | 47 | void (*shmobile_cpuidle_setup)(struct cpuidle_driver *drv); |
48 | 48 | ||
49 | static int shmobile_cpuidle_init(void) | 49 | int shmobile_cpuidle_init(void) |
50 | { | 50 | { |
51 | struct cpuidle_device *dev = &shmobile_cpuidle_dev; | 51 | struct cpuidle_device *dev = &shmobile_cpuidle_dev; |
52 | struct cpuidle_driver *drv = &shmobile_cpuidle_driver; | 52 | struct cpuidle_driver *drv = &shmobile_cpuidle_driver; |
@@ -65,4 +65,3 @@ static int shmobile_cpuidle_init(void) | |||
65 | 65 | ||
66 | return 0; | 66 | return 0; |
67 | } | 67 | } |
68 | late_initcall(shmobile_cpuidle_init); | ||
diff --git a/arch/arm/mach-shmobile/include/mach/common.h b/arch/arm/mach-shmobile/include/mach/common.h index ff5f12fd742f..01e2bc014f15 100644 --- a/arch/arm/mach-shmobile/include/mach/common.h +++ b/arch/arm/mach-shmobile/include/mach/common.h | |||
@@ -85,4 +85,18 @@ extern int r8a7779_boot_secondary(unsigned int cpu); | |||
85 | extern void r8a7779_smp_prepare_cpus(void); | 85 | extern void r8a7779_smp_prepare_cpus(void); |
86 | extern void r8a7779_register_twd(void); | 86 | extern void r8a7779_register_twd(void); |
87 | 87 | ||
88 | extern void shmobile_init_late(void); | ||
89 | |||
90 | #ifdef CONFIG_SUSPEND | ||
91 | int shmobile_suspend_init(void); | ||
92 | #else | ||
93 | static inline int shmobile_suspend_init(void) { return 0; } | ||
94 | #endif | ||
95 | |||
96 | #ifdef CONFIG_CPU_IDLE | ||
97 | int shmobile_cpuidle_init(void); | ||
98 | #else | ||
99 | static inline int shmobile_cpuidle_init(void) { return 0; } | ||
100 | #endif | ||
101 | |||
88 | #endif /* __ARCH_MACH_COMMON_H */ | 102 | #endif /* __ARCH_MACH_COMMON_H */ |
diff --git a/arch/arm/mach-shmobile/suspend.c b/arch/arm/mach-shmobile/suspend.c index 4d1b86a49923..47d83f7a70b6 100644 --- a/arch/arm/mach-shmobile/suspend.c +++ b/arch/arm/mach-shmobile/suspend.c | |||
@@ -39,9 +39,8 @@ struct platform_suspend_ops shmobile_suspend_ops = { | |||
39 | .valid = suspend_valid_only_mem, | 39 | .valid = suspend_valid_only_mem, |
40 | }; | 40 | }; |
41 | 41 | ||
42 | static int __init shmobile_suspend_init(void) | 42 | int __init shmobile_suspend_init(void) |
43 | { | 43 | { |
44 | suspend_set_ops(&shmobile_suspend_ops); | 44 | suspend_set_ops(&shmobile_suspend_ops); |
45 | return 0; | 45 | return 0; |
46 | } | 46 | } |
47 | late_initcall(shmobile_suspend_init); | ||