diff options
| -rw-r--r-- | arch/arm/mach-omap2/soc.h | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/arch/arm/mach-omap2/soc.h b/arch/arm/mach-omap2/soc.h index f31d90774de0..092aedd7ed13 100644 --- a/arch/arm/mach-omap2/soc.h +++ b/arch/arm/mach-omap2/soc.h | |||
| @@ -42,6 +42,9 @@ | |||
| 42 | #undef MULTI_OMAP2 | 42 | #undef MULTI_OMAP2 |
| 43 | #undef OMAP_NAME | 43 | #undef OMAP_NAME |
| 44 | 44 | ||
| 45 | #ifdef CONFIG_ARCH_MULTIPLATFORM | ||
| 46 | #define MULTI_OMAP2 | ||
| 47 | #endif | ||
| 45 | #ifdef CONFIG_SOC_OMAP2420 | 48 | #ifdef CONFIG_SOC_OMAP2420 |
| 46 | # ifdef OMAP_NAME | 49 | # ifdef OMAP_NAME |
| 47 | # undef MULTI_OMAP2 | 50 | # undef MULTI_OMAP2 |
| @@ -112,6 +115,11 @@ int omap_type(void); | |||
| 112 | */ | 115 | */ |
| 113 | unsigned int omap_rev(void); | 116 | unsigned int omap_rev(void); |
| 114 | 117 | ||
| 118 | static inline int soc_is_omap(void) | ||
| 119 | { | ||
| 120 | return omap_rev() != 0; | ||
| 121 | } | ||
| 122 | |||
| 115 | /* | 123 | /* |
| 116 | * Get the CPU revision for OMAP devices | 124 | * Get the CPU revision for OMAP devices |
| 117 | */ | 125 | */ |
| @@ -465,5 +473,26 @@ static inline unsigned int omap4_has_ ##feat(void) \ | |||
| 465 | 473 | ||
| 466 | OMAP4_HAS_FEATURE(perf_silicon, PERF_SILICON) | 474 | OMAP4_HAS_FEATURE(perf_silicon, PERF_SILICON) |
| 467 | 475 | ||
| 476 | /* | ||
| 477 | * We need to make sure omap initcalls don't run when | ||
| 478 | * multiplatform kernels are booted on other SoCs. | ||
| 479 | */ | ||
| 480 | #define omap_initcall(level, fn) \ | ||
| 481 | static int __init __used __##fn(void) \ | ||
| 482 | { \ | ||
| 483 | if (!soc_is_omap()) \ | ||
| 484 | return 0; \ | ||
| 485 | return fn(); \ | ||
| 486 | } \ | ||
| 487 | level(__##fn); | ||
| 488 | |||
| 489 | #define omap_early_initcall(fn) omap_initcall(early_initcall, fn) | ||
| 490 | #define omap_core_initcall(fn) omap_initcall(core_initcall, fn) | ||
| 491 | #define omap_postcore_initcall(fn) omap_initcall(postcore_initcall, fn) | ||
| 492 | #define omap_arch_initcall(fn) omap_initcall(arch_initcall, fn) | ||
| 493 | #define omap_subsys_initcall(fn) omap_initcall(subsys_initcall, fn) | ||
| 494 | #define omap_device_initcall(fn) omap_initcall(device_initcall, fn) | ||
| 495 | #define omap_late_initcall(fn) omap_initcall(late_initcall, fn) | ||
| 496 | |||
| 468 | #endif /* __ASSEMBLY__ */ | 497 | #endif /* __ASSEMBLY__ */ |
| 469 | 498 | ||
