forked from Minki/linux
Merge branch 'clean/late_initcall_v2' of git://git.linaro.org/people/shawnguo/linux-2.6 into staging/cleanup
By Shawn Guo via Shawn Guo * 'clean/late_initcall_v2' of git://git.linaro.org/people/shawnguo/linux-2.6: 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
This commit is contained in:
commit
80b9abf973
@ -43,6 +43,7 @@ struct machine_desc {
|
||||
void (*init_irq)(void);
|
||||
struct sys_timer *timer; /* system tick timer */
|
||||
void (*init_machine)(void);
|
||||
void (*init_late)(void);
|
||||
#ifdef CONFIG_MULTI_IRQ_HANDLER
|
||||
void (*handle_irq)(struct pt_regs *);
|
||||
#endif
|
||||
|
@ -800,6 +800,14 @@ static int __init customize_machine(void)
|
||||
}
|
||||
arch_initcall(customize_machine);
|
||||
|
||||
static int __init init_machine_late(void)
|
||||
{
|
||||
if (machine_desc->init_late)
|
||||
machine_desc->init_late();
|
||||
return 0;
|
||||
}
|
||||
late_initcall(init_machine_late);
|
||||
|
||||
#ifdef CONFIG_KEXEC
|
||||
static inline unsigned long long get_total_mem(void)
|
||||
{
|
||||
|
@ -681,6 +681,7 @@ MACHINE_START(DAVINCI_DA830_EVM, "DaVinci DA830/OMAP-L137/AM17x EVM")
|
||||
.init_irq = cp_intc_init,
|
||||
.timer = &davinci_timer,
|
||||
.init_machine = da830_evm_init,
|
||||
.init_late = davinci_init_late,
|
||||
.dma_zone_size = SZ_128M,
|
||||
.restart = da8xx_restart,
|
||||
MACHINE_END
|
||||
|
@ -1411,6 +1411,7 @@ MACHINE_START(DAVINCI_DA850_EVM, "DaVinci DA850/OMAP-L138/AM18x EVM")
|
||||
.init_irq = cp_intc_init,
|
||||
.timer = &davinci_timer,
|
||||
.init_machine = da850_evm_init,
|
||||
.init_late = davinci_init_late,
|
||||
.dma_zone_size = SZ_128M,
|
||||
.restart = da8xx_restart,
|
||||
MACHINE_END
|
||||
|
@ -357,6 +357,7 @@ MACHINE_START(DAVINCI_DM355_EVM, "DaVinci DM355 EVM")
|
||||
.init_irq = davinci_irq_init,
|
||||
.timer = &davinci_timer,
|
||||
.init_machine = dm355_evm_init,
|
||||
.init_late = davinci_init_late,
|
||||
.dma_zone_size = SZ_128M,
|
||||
.restart = davinci_restart,
|
||||
MACHINE_END
|
||||
|
@ -276,6 +276,7 @@ MACHINE_START(DM355_LEOPARD, "DaVinci DM355 leopard")
|
||||
.init_irq = davinci_irq_init,
|
||||
.timer = &davinci_timer,
|
||||
.init_machine = dm355_leopard_init,
|
||||
.init_late = davinci_init_late,
|
||||
.dma_zone_size = SZ_128M,
|
||||
.restart = davinci_restart,
|
||||
MACHINE_END
|
||||
|
@ -618,6 +618,7 @@ MACHINE_START(DAVINCI_DM365_EVM, "DaVinci DM365 EVM")
|
||||
.init_irq = davinci_irq_init,
|
||||
.timer = &davinci_timer,
|
||||
.init_machine = dm365_evm_init,
|
||||
.init_late = davinci_init_late,
|
||||
.dma_zone_size = SZ_128M,
|
||||
.restart = davinci_restart,
|
||||
MACHINE_END
|
||||
|
@ -825,6 +825,7 @@ MACHINE_START(DAVINCI_EVM, "DaVinci DM644x EVM")
|
||||
.init_irq = davinci_irq_init,
|
||||
.timer = &davinci_timer,
|
||||
.init_machine = davinci_evm_init,
|
||||
.init_late = davinci_init_late,
|
||||
.dma_zone_size = SZ_128M,
|
||||
.restart = davinci_restart,
|
||||
MACHINE_END
|
||||
|
@ -788,6 +788,7 @@ MACHINE_START(DAVINCI_DM6467_EVM, "DaVinci DM646x EVM")
|
||||
.init_irq = davinci_irq_init,
|
||||
.timer = &davinci_timer,
|
||||
.init_machine = evm_init,
|
||||
.init_late = davinci_init_late,
|
||||
.dma_zone_size = SZ_128M,
|
||||
.restart = davinci_restart,
|
||||
MACHINE_END
|
||||
@ -798,6 +799,7 @@ MACHINE_START(DAVINCI_DM6467TEVM, "DaVinci DM6467T EVM")
|
||||
.init_irq = davinci_irq_init,
|
||||
.timer = &davinci_timer,
|
||||
.init_machine = evm_init,
|
||||
.init_late = davinci_init_late,
|
||||
.dma_zone_size = SZ_128M,
|
||||
.restart = davinci_restart,
|
||||
MACHINE_END
|
||||
|
@ -572,6 +572,7 @@ MACHINE_START(MITYOMAPL138, "MityDSP-L138/MityARM-1808")
|
||||
.init_irq = cp_intc_init,
|
||||
.timer = &davinci_timer,
|
||||
.init_machine = mityomapl138_init,
|
||||
.init_late = davinci_init_late,
|
||||
.dma_zone_size = SZ_128M,
|
||||
.restart = da8xx_restart,
|
||||
MACHINE_END
|
||||
|
@ -278,6 +278,7 @@ MACHINE_START(NEUROS_OSD2, "Neuros OSD2")
|
||||
.init_irq = davinci_irq_init,
|
||||
.timer = &davinci_timer,
|
||||
.init_machine = davinci_ntosd2_init,
|
||||
.init_late = davinci_init_late,
|
||||
.dma_zone_size = SZ_128M,
|
||||
.restart = davinci_restart,
|
||||
MACHINE_END
|
||||
|
@ -343,6 +343,7 @@ MACHINE_START(OMAPL138_HAWKBOARD, "AM18x/OMAP-L138 Hawkboard")
|
||||
.init_irq = cp_intc_init,
|
||||
.timer = &davinci_timer,
|
||||
.init_machine = omapl138_hawk_init,
|
||||
.init_late = davinci_init_late,
|
||||
.dma_zone_size = SZ_128M,
|
||||
.restart = da8xx_restart,
|
||||
MACHINE_END
|
||||
|
@ -157,6 +157,7 @@ MACHINE_START(SFFSDR, "Lyrtech SFFSDR")
|
||||
.init_irq = davinci_irq_init,
|
||||
.timer = &davinci_timer,
|
||||
.init_machine = davinci_sffsdr_init,
|
||||
.init_late = davinci_init_late,
|
||||
.dma_zone_size = SZ_128M,
|
||||
.restart = davinci_restart,
|
||||
MACHINE_END
|
||||
|
@ -282,6 +282,7 @@ MACHINE_START(TNETV107X, "TNETV107X EVM")
|
||||
.init_irq = cp_intc_init,
|
||||
.timer = &davinci_timer,
|
||||
.init_machine = tnetv107x_evm_board_init,
|
||||
.init_late = davinci_init_late,
|
||||
.dma_zone_size = SZ_128M,
|
||||
.restart = tnetv107x_restart,
|
||||
MACHINE_END
|
||||
|
@ -213,7 +213,7 @@ EXPORT_SYMBOL(clk_unregister);
|
||||
/*
|
||||
* Disable any unused clocks left on by the bootloader
|
||||
*/
|
||||
static int __init clk_disable_unused(void)
|
||||
int __init davinci_clk_disable_unused(void)
|
||||
{
|
||||
struct clk *ck;
|
||||
|
||||
@ -237,7 +237,6 @@ static int __init clk_disable_unused(void)
|
||||
|
||||
return 0;
|
||||
}
|
||||
late_initcall(clk_disable_unused);
|
||||
#endif
|
||||
|
||||
static unsigned long clk_sysclk_recalc(struct clk *clk)
|
||||
|
@ -117,3 +117,10 @@ void __init davinci_common_init(struct davinci_soc_info *soc_info)
|
||||
err:
|
||||
panic("davinci_common_init: SoC Initialization failed\n");
|
||||
}
|
||||
|
||||
void __init davinci_init_late(void)
|
||||
{
|
||||
davinci_cpufreq_init();
|
||||
davinci_pm_init();
|
||||
davinci_clk_disable_unused();
|
||||
}
|
||||
|
@ -240,10 +240,9 @@ static struct platform_driver davinci_cpufreq_driver = {
|
||||
.remove = __exit_p(davinci_cpufreq_remove),
|
||||
};
|
||||
|
||||
static int __init davinci_cpufreq_init(void)
|
||||
int __init davinci_cpufreq_init(void)
|
||||
{
|
||||
return platform_driver_probe(&davinci_cpufreq_driver,
|
||||
davinci_cpufreq_probe);
|
||||
}
|
||||
late_initcall(davinci_cpufreq_init);
|
||||
|
||||
|
@ -84,6 +84,25 @@ extern struct davinci_soc_info davinci_soc_info;
|
||||
extern void davinci_common_init(struct davinci_soc_info *soc_info);
|
||||
extern void davinci_init_ide(void);
|
||||
void davinci_restart(char mode, const char *cmd);
|
||||
void davinci_init_late(void);
|
||||
|
||||
#ifdef CONFIG_DAVINCI_RESET_CLOCKS
|
||||
int davinci_clk_disable_unused(void);
|
||||
#else
|
||||
static inline int davinci_clk_disable_unused(void) { return 0; }
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_CPU_FREQ
|
||||
int davinci_cpufreq_init(void);
|
||||
#else
|
||||
static inline int davinci_cpufreq_init(void) { return 0; }
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_SUSPEND
|
||||
int davinci_pm_init(void);
|
||||
#else
|
||||
static inline int davinci_pm_init(void) { return 0; }
|
||||
#endif
|
||||
|
||||
/* standard place to map on-chip SRAMs; they *may* support DMA */
|
||||
#define SRAM_VIRT 0xfffe0000
|
||||
|
@ -152,8 +152,7 @@ static struct platform_driver davinci_pm_driver = {
|
||||
.remove = __exit_p(davinci_pm_remove),
|
||||
};
|
||||
|
||||
static int __init davinci_pm_init(void)
|
||||
int __init davinci_pm_init(void)
|
||||
{
|
||||
return platform_driver_probe(&davinci_pm_driver, davinci_pm_probe);
|
||||
}
|
||||
late_initcall(davinci_pm_init);
|
||||
|
@ -41,5 +41,6 @@ MACHINE_START(ADSSPHERE, "ADS Sphere board")
|
||||
.handle_irq = vic_handle_irq,
|
||||
.timer = &ep93xx_timer,
|
||||
.init_machine = adssphere_init_machine,
|
||||
.init_late = ep93xx_init_late,
|
||||
.restart = ep93xx_restart,
|
||||
MACHINE_END
|
||||
|
@ -904,3 +904,8 @@ void ep93xx_restart(char mode, const char *cmd)
|
||||
while (1)
|
||||
;
|
||||
}
|
||||
|
||||
void __init ep93xx_init_late(void)
|
||||
{
|
||||
crunch_init();
|
||||
}
|
||||
|
@ -79,12 +79,10 @@ static struct notifier_block crunch_notifier_block = {
|
||||
.notifier_call = crunch_do,
|
||||
};
|
||||
|
||||
static int __init crunch_init(void)
|
||||
int __init crunch_init(void)
|
||||
{
|
||||
thread_register_notifier(&crunch_notifier_block);
|
||||
elf_hwcap |= HWCAP_CRUNCH;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
late_initcall(crunch_init);
|
||||
|
@ -255,6 +255,7 @@ MACHINE_START(EDB9301, "Cirrus Logic EDB9301 Evaluation Board")
|
||||
.handle_irq = vic_handle_irq,
|
||||
.timer = &ep93xx_timer,
|
||||
.init_machine = edb93xx_init_machine,
|
||||
.init_late = ep93xx_init_late,
|
||||
.restart = ep93xx_restart,
|
||||
MACHINE_END
|
||||
#endif
|
||||
@ -268,6 +269,7 @@ MACHINE_START(EDB9302, "Cirrus Logic EDB9302 Evaluation Board")
|
||||
.handle_irq = vic_handle_irq,
|
||||
.timer = &ep93xx_timer,
|
||||
.init_machine = edb93xx_init_machine,
|
||||
.init_late = ep93xx_init_late,
|
||||
.restart = ep93xx_restart,
|
||||
MACHINE_END
|
||||
#endif
|
||||
@ -281,6 +283,7 @@ MACHINE_START(EDB9302A, "Cirrus Logic EDB9302A Evaluation Board")
|
||||
.handle_irq = vic_handle_irq,
|
||||
.timer = &ep93xx_timer,
|
||||
.init_machine = edb93xx_init_machine,
|
||||
.init_late = ep93xx_init_late,
|
||||
.restart = ep93xx_restart,
|
||||
MACHINE_END
|
||||
#endif
|
||||
@ -294,6 +297,7 @@ MACHINE_START(EDB9307, "Cirrus Logic EDB9307 Evaluation Board")
|
||||
.handle_irq = vic_handle_irq,
|
||||
.timer = &ep93xx_timer,
|
||||
.init_machine = edb93xx_init_machine,
|
||||
.init_late = ep93xx_init_late,
|
||||
.restart = ep93xx_restart,
|
||||
MACHINE_END
|
||||
#endif
|
||||
@ -307,6 +311,7 @@ MACHINE_START(EDB9307A, "Cirrus Logic EDB9307A Evaluation Board")
|
||||
.handle_irq = vic_handle_irq,
|
||||
.timer = &ep93xx_timer,
|
||||
.init_machine = edb93xx_init_machine,
|
||||
.init_late = ep93xx_init_late,
|
||||
.restart = ep93xx_restart,
|
||||
MACHINE_END
|
||||
#endif
|
||||
@ -320,6 +325,7 @@ MACHINE_START(EDB9312, "Cirrus Logic EDB9312 Evaluation Board")
|
||||
.handle_irq = vic_handle_irq,
|
||||
.timer = &ep93xx_timer,
|
||||
.init_machine = edb93xx_init_machine,
|
||||
.init_late = ep93xx_init_late,
|
||||
.restart = ep93xx_restart,
|
||||
MACHINE_END
|
||||
#endif
|
||||
@ -333,6 +339,7 @@ MACHINE_START(EDB9315, "Cirrus Logic EDB9315 Evaluation Board")
|
||||
.handle_irq = vic_handle_irq,
|
||||
.timer = &ep93xx_timer,
|
||||
.init_machine = edb93xx_init_machine,
|
||||
.init_late = ep93xx_init_late,
|
||||
.restart = ep93xx_restart,
|
||||
MACHINE_END
|
||||
#endif
|
||||
@ -346,6 +353,7 @@ MACHINE_START(EDB9315A, "Cirrus Logic EDB9315A Evaluation Board")
|
||||
.handle_irq = vic_handle_irq,
|
||||
.timer = &ep93xx_timer,
|
||||
.init_machine = edb93xx_init_machine,
|
||||
.init_late = ep93xx_init_late,
|
||||
.restart = ep93xx_restart,
|
||||
MACHINE_END
|
||||
#endif
|
||||
|
@ -41,5 +41,6 @@ MACHINE_START(GESBC9312, "Glomation GESBC-9312-sx")
|
||||
.handle_irq = vic_handle_irq,
|
||||
.timer = &ep93xx_timer,
|
||||
.init_machine = gesbc9312_init_machine,
|
||||
.init_late = ep93xx_init_late,
|
||||
.restart = ep93xx_restart,
|
||||
MACHINE_END
|
||||
|
@ -53,5 +53,12 @@ void ep93xx_init_devices(void);
|
||||
extern struct sys_timer ep93xx_timer;
|
||||
|
||||
void ep93xx_restart(char, const char *);
|
||||
void ep93xx_init_late(void);
|
||||
|
||||
#ifdef CONFIG_CRUNCH
|
||||
int crunch_init(void);
|
||||
#else
|
||||
static inline int crunch_init(void) { return 0; }
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
@ -85,6 +85,7 @@ MACHINE_START(MICRO9, "Contec Micro9-High")
|
||||
.handle_irq = vic_handle_irq,
|
||||
.timer = &ep93xx_timer,
|
||||
.init_machine = micro9_init_machine,
|
||||
.init_late = ep93xx_init_late,
|
||||
.restart = ep93xx_restart,
|
||||
MACHINE_END
|
||||
#endif
|
||||
@ -98,6 +99,7 @@ MACHINE_START(MICRO9M, "Contec Micro9-Mid")
|
||||
.handle_irq = vic_handle_irq,
|
||||
.timer = &ep93xx_timer,
|
||||
.init_machine = micro9_init_machine,
|
||||
.init_late = ep93xx_init_late,
|
||||
.restart = ep93xx_restart,
|
||||
MACHINE_END
|
||||
#endif
|
||||
@ -111,6 +113,7 @@ MACHINE_START(MICRO9L, "Contec Micro9-Lite")
|
||||
.handle_irq = vic_handle_irq,
|
||||
.timer = &ep93xx_timer,
|
||||
.init_machine = micro9_init_machine,
|
||||
.init_late = ep93xx_init_late,
|
||||
.restart = ep93xx_restart,
|
||||
MACHINE_END
|
||||
#endif
|
||||
@ -124,6 +127,7 @@ MACHINE_START(MICRO9S, "Contec Micro9-Slim")
|
||||
.handle_irq = vic_handle_irq,
|
||||
.timer = &ep93xx_timer,
|
||||
.init_machine = micro9_init_machine,
|
||||
.init_late = ep93xx_init_late,
|
||||
.restart = ep93xx_restart,
|
||||
MACHINE_END
|
||||
#endif
|
||||
|
@ -86,5 +86,6 @@ MACHINE_START(SIM_ONE, "Simplemachines Sim.One Board")
|
||||
.handle_irq = vic_handle_irq,
|
||||
.timer = &ep93xx_timer,
|
||||
.init_machine = simone_init_machine,
|
||||
.init_late = ep93xx_init_late,
|
||||
.restart = ep93xx_restart,
|
||||
MACHINE_END
|
||||
|
@ -183,5 +183,6 @@ MACHINE_START(SNAPPER_CL15, "Bluewater Systems Snapper CL15")
|
||||
.handle_irq = vic_handle_irq,
|
||||
.timer = &ep93xx_timer,
|
||||
.init_machine = snappercl15_init_machine,
|
||||
.init_late = ep93xx_init_late,
|
||||
.restart = ep93xx_restart,
|
||||
MACHINE_END
|
||||
|
@ -252,5 +252,6 @@ MACHINE_START(TS72XX, "Technologic Systems TS-72xx SBC")
|
||||
.handle_irq = vic_handle_irq,
|
||||
.timer = &ep93xx_timer,
|
||||
.init_machine = ts72xx_init_machine,
|
||||
.init_late = ep93xx_init_late,
|
||||
.restart = ep93xx_restart,
|
||||
MACHINE_END
|
||||
|
@ -367,5 +367,6 @@ MACHINE_START(VISION_EP9307, "Vision Engraving Systems EP9307")
|
||||
.handle_irq = vic_handle_irq,
|
||||
.timer = &ep93xx_timer,
|
||||
.init_machine = vision_init_machine,
|
||||
.init_late = ep93xx_init_late,
|
||||
.restart = ep93xx_restart,
|
||||
MACHINE_END
|
||||
|
@ -285,6 +285,11 @@ void exynos5_restart(char mode, const char *cmd)
|
||||
__raw_writel(0x1, EXYNOS_SWRESET);
|
||||
}
|
||||
|
||||
void __init exynos_init_late(void)
|
||||
{
|
||||
exynos_pm_late_initcall();
|
||||
}
|
||||
|
||||
/*
|
||||
* exynos_map_io
|
||||
*
|
||||
|
@ -19,6 +19,13 @@ void exynos4_init_irq(void);
|
||||
void exynos5_init_irq(void);
|
||||
void exynos4_restart(char mode, const char *cmd);
|
||||
void exynos5_restart(char mode, const char *cmd);
|
||||
void exynos_init_late(void);
|
||||
|
||||
#ifdef CONFIG_PM_GENERIC_DOMAINS
|
||||
int exynos_pm_late_initcall(void);
|
||||
#else
|
||||
static int exynos_pm_late_initcall(void) { return 0; }
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_ARCH_EXYNOS4
|
||||
void exynos4_register_clocks(void);
|
||||
|
@ -214,6 +214,7 @@ MACHINE_START(ARMLEX4210, "ARMLEX4210")
|
||||
.map_io = armlex4210_map_io,
|
||||
.handle_irq = gic_handle_irq,
|
||||
.init_machine = armlex4210_machine_init,
|
||||
.init_late = exynos_init_late,
|
||||
.timer = &exynos4_timer,
|
||||
.restart = exynos4_restart,
|
||||
MACHINE_END
|
||||
|
@ -83,6 +83,7 @@ DT_MACHINE_START(EXYNOS4210_DT, "Samsung Exynos4 (Flattened Device Tree)")
|
||||
.map_io = exynos4210_dt_map_io,
|
||||
.handle_irq = gic_handle_irq,
|
||||
.init_machine = exynos4210_dt_machine_init,
|
||||
.init_late = exynos_init_late,
|
||||
.timer = &exynos4_timer,
|
||||
.dt_compat = exynos4210_dt_compat,
|
||||
.restart = exynos4_restart,
|
||||
|
@ -72,6 +72,7 @@ DT_MACHINE_START(EXYNOS5_DT, "SAMSUNG EXYNOS5 (Flattened Device Tree)")
|
||||
.map_io = exynos5250_dt_map_io,
|
||||
.handle_irq = gic_handle_irq,
|
||||
.init_machine = exynos5250_dt_machine_init,
|
||||
.init_late = exynos_init_late,
|
||||
.timer = &exynos4_timer,
|
||||
.dt_compat = exynos5250_dt_compat,
|
||||
.restart = exynos5_restart,
|
||||
|
@ -1351,6 +1351,7 @@ MACHINE_START(NURI, "NURI")
|
||||
.map_io = nuri_map_io,
|
||||
.handle_irq = gic_handle_irq,
|
||||
.init_machine = nuri_machine_init,
|
||||
.init_late = exynos_init_late,
|
||||
.timer = &exynos4_timer,
|
||||
.reserve = &nuri_reserve,
|
||||
.restart = exynos4_restart,
|
||||
|
@ -735,6 +735,7 @@ MACHINE_START(ORIGEN, "ORIGEN")
|
||||
.map_io = origen_map_io,
|
||||
.handle_irq = gic_handle_irq,
|
||||
.init_machine = origen_machine_init,
|
||||
.init_late = exynos_init_late,
|
||||
.timer = &exynos4_timer,
|
||||
.reserve = &origen_reserve,
|
||||
.restart = exynos4_restart,
|
||||
|
@ -303,6 +303,7 @@ MACHINE_START(SMDK4412, "SMDK4412")
|
||||
.map_io = smdk4x12_map_io,
|
||||
.handle_irq = gic_handle_irq,
|
||||
.init_machine = smdk4x12_machine_init,
|
||||
.init_late = exynos_init_late,
|
||||
.timer = &exynos4_timer,
|
||||
.restart = exynos4_restart,
|
||||
MACHINE_END
|
||||
|
@ -393,6 +393,7 @@ MACHINE_START(SMDKC210, "SMDKC210")
|
||||
.map_io = smdkv310_map_io,
|
||||
.handle_irq = gic_handle_irq,
|
||||
.init_machine = smdkv310_machine_init,
|
||||
.init_late = exynos_init_late,
|
||||
.timer = &exynos4_timer,
|
||||
.restart = exynos4_restart,
|
||||
MACHINE_END
|
||||
|
@ -1113,6 +1113,7 @@ MACHINE_START(UNIVERSAL_C210, "UNIVERSAL_C210")
|
||||
.map_io = universal_map_io,
|
||||
.handle_irq = gic_handle_irq,
|
||||
.init_machine = universal_machine_init,
|
||||
.init_late = exynos_init_late,
|
||||
.timer = &exynos4_timer,
|
||||
.reserve = &universal_reserve,
|
||||
.restart = exynos4_restart,
|
||||
|
@ -193,9 +193,8 @@ static __init int exynos4_pm_init_power_domain(void)
|
||||
}
|
||||
arch_initcall(exynos4_pm_init_power_domain);
|
||||
|
||||
static __init int exynos_pm_late_initcall(void)
|
||||
int __init exynos_pm_late_initcall(void)
|
||||
{
|
||||
pm_genpd_poweroff_unused();
|
||||
return 0;
|
||||
}
|
||||
late_initcall(exynos_pm_late_initcall);
|
||||
|
@ -62,11 +62,8 @@ EXPORT_SYMBOL(mx51_revision);
|
||||
* Dependent on link order - so the assumption is that vfp_init is called
|
||||
* before us.
|
||||
*/
|
||||
static int __init mx51_neon_fixup(void)
|
||||
int __init mx51_neon_fixup(void)
|
||||
{
|
||||
if (!cpu_is_mx51())
|
||||
return 0;
|
||||
|
||||
if (mx51_revision() < IMX_CHIP_REVISION_3_0 &&
|
||||
(elf_hwcap & HWCAP_NEON)) {
|
||||
elf_hwcap &= ~HWCAP_NEON;
|
||||
@ -75,7 +72,6 @@ static int __init mx51_neon_fixup(void)
|
||||
return 0;
|
||||
}
|
||||
|
||||
late_initcall(mx51_neon_fixup);
|
||||
#endif
|
||||
|
||||
static int get_mx53_srev(void)
|
||||
|
@ -115,6 +115,7 @@ DT_MACHINE_START(IMX51_DT, "Freescale i.MX51 (Device Tree Support)")
|
||||
.handle_irq = imx51_handle_irq,
|
||||
.timer = &imx51_timer,
|
||||
.init_machine = imx51_dt_init,
|
||||
.init_late = imx51_init_late,
|
||||
.dt_compat = imx51_dt_board_compat,
|
||||
.restart = mxc_restart,
|
||||
MACHINE_END
|
||||
|
@ -297,5 +297,6 @@ MACHINE_START(EUKREA_CPUIMX51, "Eukrea CPUIMX51 Module")
|
||||
.handle_irq = imx51_handle_irq,
|
||||
.timer = &mxc_timer,
|
||||
.init_machine = eukrea_cpuimx51_init,
|
||||
.init_late = imx51_init_late,
|
||||
.restart = mxc_restart,
|
||||
MACHINE_END
|
||||
|
@ -335,5 +335,6 @@ MACHINE_START(EUKREA_CPUIMX51SD, "Eukrea CPUIMX51SD")
|
||||
.handle_irq = imx51_handle_irq,
|
||||
.timer = &mxc_timer,
|
||||
.init_machine = eukrea_cpuimx51sd_init,
|
||||
.init_late = imx51_init_late,
|
||||
.restart = mxc_restart,
|
||||
MACHINE_END
|
||||
|
@ -175,5 +175,6 @@ MACHINE_START(MX51_3DS, "Freescale MX51 3-Stack Board")
|
||||
.handle_irq = imx51_handle_irq,
|
||||
.timer = &mx51_3ds_timer,
|
||||
.init_machine = mx51_3ds_init,
|
||||
.init_late = imx51_init_late,
|
||||
.restart = mxc_restart,
|
||||
MACHINE_END
|
||||
|
@ -426,5 +426,6 @@ MACHINE_START(MX51_BABBAGE, "Freescale MX51 Babbage Board")
|
||||
.handle_irq = imx51_handle_irq,
|
||||
.timer = &mx51_babbage_timer,
|
||||
.init_machine = mx51_babbage_init,
|
||||
.init_late = imx51_init_late,
|
||||
.restart = mxc_restart,
|
||||
MACHINE_END
|
||||
|
@ -207,29 +207,32 @@ static void mx51_efikamx_power_off(void)
|
||||
|
||||
static int __init mx51_efikamx_power_init(void)
|
||||
{
|
||||
if (machine_is_mx51_efikamx()) {
|
||||
pwgt1 = regulator_get(NULL, "pwgt1");
|
||||
pwgt2 = regulator_get(NULL, "pwgt2");
|
||||
if (!IS_ERR(pwgt1) && !IS_ERR(pwgt2)) {
|
||||
regulator_enable(pwgt1);
|
||||
regulator_enable(pwgt2);
|
||||
}
|
||||
gpio_request(EFIKAMX_POWEROFF, "poweroff");
|
||||
pm_power_off = mx51_efikamx_power_off;
|
||||
|
||||
/* enable coincell charger. maybe need a small power driver ? */
|
||||
coincell = regulator_get(NULL, "coincell");
|
||||
if (!IS_ERR(coincell)) {
|
||||
regulator_set_voltage(coincell, 3000000, 3000000);
|
||||
regulator_enable(coincell);
|
||||
}
|
||||
|
||||
regulator_has_full_constraints();
|
||||
pwgt1 = regulator_get(NULL, "pwgt1");
|
||||
pwgt2 = regulator_get(NULL, "pwgt2");
|
||||
if (!IS_ERR(pwgt1) && !IS_ERR(pwgt2)) {
|
||||
regulator_enable(pwgt1);
|
||||
regulator_enable(pwgt2);
|
||||
}
|
||||
gpio_request(EFIKAMX_POWEROFF, "poweroff");
|
||||
pm_power_off = mx51_efikamx_power_off;
|
||||
|
||||
/* enable coincell charger. maybe need a small power driver ? */
|
||||
coincell = regulator_get(NULL, "coincell");
|
||||
if (!IS_ERR(coincell)) {
|
||||
regulator_set_voltage(coincell, 3000000, 3000000);
|
||||
regulator_enable(coincell);
|
||||
}
|
||||
|
||||
regulator_has_full_constraints();
|
||||
|
||||
return 0;
|
||||
}
|
||||
late_initcall(mx51_efikamx_power_init);
|
||||
|
||||
static void __init mx51_efikamx_init_late(void)
|
||||
{
|
||||
imx51_init_late();
|
||||
mx51_efikamx_power_init();
|
||||
}
|
||||
|
||||
static void __init mx51_efikamx_init(void)
|
||||
{
|
||||
@ -293,5 +296,6 @@ MACHINE_START(MX51_EFIKAMX, "Genesi EfikaMX nettop")
|
||||
.handle_irq = imx51_handle_irq,
|
||||
.timer = &mx51_efikamx_timer,
|
||||
.init_machine = mx51_efikamx_init,
|
||||
.init_late = mx51_efikamx_init_late,
|
||||
.restart = mx51_efikamx_restart,
|
||||
MACHINE_END
|
||||
|
@ -211,22 +211,25 @@ static void mx51_efikasb_power_off(void)
|
||||
|
||||
static int __init mx51_efikasb_power_init(void)
|
||||
{
|
||||
if (machine_is_mx51_efikasb()) {
|
||||
pwgt1 = regulator_get(NULL, "pwgt1");
|
||||
pwgt2 = regulator_get(NULL, "pwgt2");
|
||||
if (!IS_ERR(pwgt1) && !IS_ERR(pwgt2)) {
|
||||
regulator_enable(pwgt1);
|
||||
regulator_enable(pwgt2);
|
||||
}
|
||||
gpio_request(EFIKASB_POWEROFF, "poweroff");
|
||||
pm_power_off = mx51_efikasb_power_off;
|
||||
|
||||
regulator_has_full_constraints();
|
||||
pwgt1 = regulator_get(NULL, "pwgt1");
|
||||
pwgt2 = regulator_get(NULL, "pwgt2");
|
||||
if (!IS_ERR(pwgt1) && !IS_ERR(pwgt2)) {
|
||||
regulator_enable(pwgt1);
|
||||
regulator_enable(pwgt2);
|
||||
}
|
||||
gpio_request(EFIKASB_POWEROFF, "poweroff");
|
||||
pm_power_off = mx51_efikasb_power_off;
|
||||
|
||||
regulator_has_full_constraints();
|
||||
|
||||
return 0;
|
||||
}
|
||||
late_initcall(mx51_efikasb_power_init);
|
||||
|
||||
static void __init mx51_efikasb_init_late(void)
|
||||
{
|
||||
imx51_init_late();
|
||||
mx51_efikasb_power_init();
|
||||
}
|
||||
|
||||
/* 01 R1.3 board
|
||||
10 R2.0 board */
|
||||
@ -287,6 +290,7 @@ MACHINE_START(MX51_EFIKASB, "Genesi Efika Smartbook")
|
||||
.init_irq = mx51_init_irq,
|
||||
.handle_irq = imx51_handle_irq,
|
||||
.init_machine = efikasb_board_init,
|
||||
.init_late = mx51_efikasb_init_late,
|
||||
.timer = &mx51_efikasb_timer,
|
||||
.restart = mxc_restart,
|
||||
MACHINE_END
|
||||
|
@ -694,6 +694,11 @@ static void __init pcm037_reserve(void)
|
||||
MX3_CAMERA_BUF_SIZE);
|
||||
}
|
||||
|
||||
static void __init pcm037_init_late(void)
|
||||
{
|
||||
pcm037_eet_init_devices();
|
||||
}
|
||||
|
||||
MACHINE_START(PCM037, "Phytec Phycore pcm037")
|
||||
/* Maintainer: Pengutronix */
|
||||
.atag_offset = 0x100,
|
||||
@ -704,5 +709,6 @@ MACHINE_START(PCM037, "Phytec Phycore pcm037")
|
||||
.handle_irq = imx31_handle_irq,
|
||||
.timer = &pcm037_timer,
|
||||
.init_machine = pcm037_init,
|
||||
.init_late = pcm037_init_late,
|
||||
.restart = mxc_restart,
|
||||
MACHINE_END
|
||||
|
@ -160,9 +160,9 @@ static const struct gpio_keys_platform_data
|
||||
.rep = 0, /* No auto-repeat */
|
||||
};
|
||||
|
||||
static int __init eet_init_devices(void)
|
||||
int __init pcm037_eet_init_devices(void)
|
||||
{
|
||||
if (!machine_is_pcm037() || pcm037_variant() != PCM037_EET)
|
||||
if (pcm037_variant() != PCM037_EET)
|
||||
return 0;
|
||||
|
||||
mxc_iomux_setup_multiple_pins(pcm037_eet_pins,
|
||||
@ -176,4 +176,3 @@ static int __init eet_init_devices(void)
|
||||
|
||||
return 0;
|
||||
}
|
||||
late_initcall(eet_init_devices);
|
||||
|
@ -234,3 +234,8 @@ void __init imx53_soc_init(void)
|
||||
platform_device_register_simple("imx31-audmux", 0, imx53_audmux_res,
|
||||
ARRAY_SIZE(imx53_audmux_res));
|
||||
}
|
||||
|
||||
void __init imx51_init_late(void)
|
||||
{
|
||||
mx51_neon_fixup();
|
||||
}
|
||||
|
@ -8,4 +8,10 @@ enum pcm037_board_variant {
|
||||
|
||||
extern enum pcm037_board_variant pcm037_variant(void);
|
||||
|
||||
#ifdef CONFIG_MACH_PCM037_EET
|
||||
int pcm037_eet_init_devices(void);
|
||||
#else
|
||||
static inline int pcm037_eet_init_devices(void) { return 0; }
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
@ -94,6 +94,11 @@ static void __init halibut_map_io(void)
|
||||
msm_clock_init(msm_clocks_7x01a, msm_num_clocks_7x01a);
|
||||
}
|
||||
|
||||
static void __init halibut_init_late(void)
|
||||
{
|
||||
smd_debugfs_init();
|
||||
}
|
||||
|
||||
MACHINE_START(HALIBUT, "Halibut Board (QCT SURF7200A)")
|
||||
.atag_offset = 0x100,
|
||||
.fixup = halibut_fixup,
|
||||
@ -101,5 +106,6 @@ MACHINE_START(HALIBUT, "Halibut Board (QCT SURF7200A)")
|
||||
.init_early = halibut_init_early,
|
||||
.init_irq = halibut_init_irq,
|
||||
.init_machine = halibut_init,
|
||||
.init_late = halibut_init_late,
|
||||
.timer = &msm_timer,
|
||||
MACHINE_END
|
||||
|
@ -71,6 +71,11 @@ static void __init mahimahi_map_io(void)
|
||||
msm_clock_init();
|
||||
}
|
||||
|
||||
static void __init mahimahi_init_late(void)
|
||||
{
|
||||
smd_debugfs_init();
|
||||
}
|
||||
|
||||
extern struct sys_timer msm_timer;
|
||||
|
||||
MACHINE_START(MAHIMAHI, "mahimahi")
|
||||
@ -79,5 +84,6 @@ MACHINE_START(MAHIMAHI, "mahimahi")
|
||||
.map_io = mahimahi_map_io,
|
||||
.init_irq = msm_init_irq,
|
||||
.init_machine = mahimahi_init,
|
||||
.init_late = mahimahi_init_late,
|
||||
.timer = &msm_timer,
|
||||
MACHINE_END
|
||||
|
@ -128,11 +128,17 @@ static void __init msm7x2x_map_io(void)
|
||||
#endif
|
||||
}
|
||||
|
||||
static void __init msm7x2x_init_late(void)
|
||||
{
|
||||
smd_debugfs_init();
|
||||
}
|
||||
|
||||
MACHINE_START(MSM7X27_SURF, "QCT MSM7x27 SURF")
|
||||
.atag_offset = 0x100,
|
||||
.map_io = msm7x2x_map_io,
|
||||
.init_irq = msm7x2x_init_irq,
|
||||
.init_machine = msm7x2x_init,
|
||||
.init_late = msm7x2x_init_late,
|
||||
.timer = &msm_timer,
|
||||
MACHINE_END
|
||||
|
||||
@ -141,6 +147,7 @@ MACHINE_START(MSM7X27_FFA, "QCT MSM7x27 FFA")
|
||||
.map_io = msm7x2x_map_io,
|
||||
.init_irq = msm7x2x_init_irq,
|
||||
.init_machine = msm7x2x_init,
|
||||
.init_late = msm7x2x_init_late,
|
||||
.timer = &msm_timer,
|
||||
MACHINE_END
|
||||
|
||||
@ -149,6 +156,7 @@ MACHINE_START(MSM7X25_SURF, "QCT MSM7x25 SURF")
|
||||
.map_io = msm7x2x_map_io,
|
||||
.init_irq = msm7x2x_init_irq,
|
||||
.init_machine = msm7x2x_init,
|
||||
.init_late = msm7x2x_init_late,
|
||||
.timer = &msm_timer,
|
||||
MACHINE_END
|
||||
|
||||
@ -157,5 +165,6 @@ MACHINE_START(MSM7X25_FFA, "QCT MSM7x25 FFA")
|
||||
.map_io = msm7x2x_map_io,
|
||||
.init_irq = msm7x2x_init_irq,
|
||||
.init_machine = msm7x2x_init,
|
||||
.init_late = msm7x2x_init_late,
|
||||
.timer = &msm_timer,
|
||||
MACHINE_END
|
||||
|
@ -120,6 +120,11 @@ static void __init msm7x30_map_io(void)
|
||||
msm_clock_init(msm_clocks_7x30, msm_num_clocks_7x30);
|
||||
}
|
||||
|
||||
static void __init msm7x30_init_late(void)
|
||||
{
|
||||
smd_debugfs_init();
|
||||
}
|
||||
|
||||
MACHINE_START(MSM7X30_SURF, "QCT MSM7X30 SURF")
|
||||
.atag_offset = 0x100,
|
||||
.fixup = msm7x30_fixup,
|
||||
@ -127,6 +132,7 @@ MACHINE_START(MSM7X30_SURF, "QCT MSM7X30 SURF")
|
||||
.map_io = msm7x30_map_io,
|
||||
.init_irq = msm7x30_init_irq,
|
||||
.init_machine = msm7x30_init,
|
||||
.init_late = msm7x30_init_late,
|
||||
.timer = &msm_timer,
|
||||
MACHINE_END
|
||||
|
||||
@ -137,6 +143,7 @@ MACHINE_START(MSM7X30_FFA, "QCT MSM7X30 FFA")
|
||||
.map_io = msm7x30_map_io,
|
||||
.init_irq = msm7x30_init_irq,
|
||||
.init_machine = msm7x30_init,
|
||||
.init_late = msm7x30_init_late,
|
||||
.timer = &msm_timer,
|
||||
MACHINE_END
|
||||
|
||||
@ -147,5 +154,6 @@ MACHINE_START(MSM7X30_FLUID, "QCT MSM7X30 FLUID")
|
||||
.map_io = msm7x30_map_io,
|
||||
.init_irq = msm7x30_init_irq,
|
||||
.init_machine = msm7x30_init,
|
||||
.init_late = msm7x30_init_late,
|
||||
.timer = &msm_timer,
|
||||
MACHINE_END
|
||||
|
@ -93,6 +93,11 @@ static void __init msm8960_rumi3_init(void)
|
||||
platform_add_devices(rumi3_devices, ARRAY_SIZE(rumi3_devices));
|
||||
}
|
||||
|
||||
static void __init msm8960_init_late(void)
|
||||
{
|
||||
smd_debugfs_init();
|
||||
}
|
||||
|
||||
MACHINE_START(MSM8960_SIM, "QCT MSM8960 SIMULATOR")
|
||||
.fixup = msm8960_fixup,
|
||||
.reserve = msm8960_reserve,
|
||||
@ -101,6 +106,7 @@ MACHINE_START(MSM8960_SIM, "QCT MSM8960 SIMULATOR")
|
||||
.timer = &msm_timer,
|
||||
.handle_irq = gic_handle_irq,
|
||||
.init_machine = msm8960_sim_init,
|
||||
.init_late = msm8960_init_late,
|
||||
MACHINE_END
|
||||
|
||||
MACHINE_START(MSM8960_RUMI3, "QCT MSM8960 RUMI3")
|
||||
@ -111,5 +117,6 @@ MACHINE_START(MSM8960_RUMI3, "QCT MSM8960 RUMI3")
|
||||
.timer = &msm_timer,
|
||||
.handle_irq = gic_handle_irq,
|
||||
.init_machine = msm8960_rumi3_init,
|
||||
.init_late = msm8960_init_late,
|
||||
MACHINE_END
|
||||
|
||||
|
@ -81,6 +81,11 @@ static void __init msm8x60_init(void)
|
||||
{
|
||||
}
|
||||
|
||||
static void __init msm8x60_init_late(void)
|
||||
{
|
||||
smd_debugfs_init();
|
||||
}
|
||||
|
||||
#ifdef CONFIG_OF
|
||||
static struct of_dev_auxdata msm_auxdata_lookup[] __initdata = {
|
||||
{}
|
||||
@ -111,6 +116,7 @@ MACHINE_START(MSM8X60_RUMI3, "QCT MSM8X60 RUMI3")
|
||||
.init_irq = msm8x60_init_irq,
|
||||
.handle_irq = gic_handle_irq,
|
||||
.init_machine = msm8x60_init,
|
||||
.init_late = msm8x60_init_late,
|
||||
.timer = &msm_timer,
|
||||
MACHINE_END
|
||||
|
||||
@ -121,6 +127,7 @@ MACHINE_START(MSM8X60_SURF, "QCT MSM8X60 SURF")
|
||||
.init_irq = msm8x60_init_irq,
|
||||
.handle_irq = gic_handle_irq,
|
||||
.init_machine = msm8x60_init,
|
||||
.init_late = msm8x60_init_late,
|
||||
.timer = &msm_timer,
|
||||
MACHINE_END
|
||||
|
||||
@ -131,6 +138,7 @@ MACHINE_START(MSM8X60_SIM, "QCT MSM8X60 SIMULATOR")
|
||||
.init_irq = msm8x60_init_irq,
|
||||
.handle_irq = gic_handle_irq,
|
||||
.init_machine = msm8x60_init,
|
||||
.init_late = msm8x60_init_late,
|
||||
.timer = &msm_timer,
|
||||
MACHINE_END
|
||||
|
||||
@ -141,6 +149,7 @@ MACHINE_START(MSM8X60_FFA, "QCT MSM8X60 FFA")
|
||||
.init_irq = msm8x60_init_irq,
|
||||
.handle_irq = gic_handle_irq,
|
||||
.init_machine = msm8x60_init,
|
||||
.init_late = msm8x60_init_late,
|
||||
.timer = &msm_timer,
|
||||
MACHINE_END
|
||||
|
||||
@ -150,6 +159,7 @@ DT_MACHINE_START(MSM_DT, "Qualcomm MSM (Flattened Device Tree)")
|
||||
.map_io = msm8x60_map_io,
|
||||
.init_irq = msm8x60_init_irq,
|
||||
.init_machine = msm8x60_dt_init,
|
||||
.init_late = msm8x60_init_late,
|
||||
.timer = &msm_timer,
|
||||
.dt_compat = msm8x60_fluid_match,
|
||||
MACHINE_END
|
||||
|
@ -191,11 +191,17 @@ static void __init qsd8x50_init(void)
|
||||
qsd8x50_init_mmc();
|
||||
}
|
||||
|
||||
static void __init qsd8x50_init_late(void)
|
||||
{
|
||||
smd_debugfs_init();
|
||||
}
|
||||
|
||||
MACHINE_START(QSD8X50_SURF, "QCT QSD8X50 SURF")
|
||||
.atag_offset = 0x100,
|
||||
.map_io = qsd8x50_map_io,
|
||||
.init_irq = qsd8x50_init_irq,
|
||||
.init_machine = qsd8x50_init,
|
||||
.init_late = qsd8x50_init_late,
|
||||
.timer = &msm_timer,
|
||||
MACHINE_END
|
||||
|
||||
@ -204,5 +210,6 @@ MACHINE_START(QSD8X50A_ST1_5, "QCT QSD8X50A ST1.5")
|
||||
.map_io = qsd8x50_map_io,
|
||||
.init_irq = qsd8x50_init_irq,
|
||||
.init_machine = qsd8x50_init,
|
||||
.init_late = qsd8x50_init_late,
|
||||
.timer = &msm_timer,
|
||||
MACHINE_END
|
||||
|
@ -101,6 +101,11 @@ static void __init sapphire_map_io(void)
|
||||
msm_clock_init();
|
||||
}
|
||||
|
||||
static void __init sapphire_init_late(void)
|
||||
{
|
||||
smd_debugfs_init();
|
||||
}
|
||||
|
||||
MACHINE_START(SAPPHIRE, "sapphire")
|
||||
/* Maintainer: Brian Swetland <swetland@google.com> */
|
||||
.atag_offset = 0x100,
|
||||
@ -108,5 +113,6 @@ MACHINE_START(SAPPHIRE, "sapphire")
|
||||
.map_io = sapphire_map_io,
|
||||
.init_irq = sapphire_init_irq,
|
||||
.init_machine = sapphire_init,
|
||||
.init_late = sapphire_init_late,
|
||||
.timer = &msm_timer,
|
||||
MACHINE_END
|
||||
|
@ -98,6 +98,11 @@ static void __init trout_map_io(void)
|
||||
msm_clock_init(msm_clocks_7x01a, msm_num_clocks_7x01a);
|
||||
}
|
||||
|
||||
static void __init trout_init_late(void)
|
||||
{
|
||||
smd_debugfs_init();
|
||||
}
|
||||
|
||||
MACHINE_START(TROUT, "HTC Dream")
|
||||
.atag_offset = 0x100,
|
||||
.fixup = trout_fixup,
|
||||
@ -105,5 +110,6 @@ MACHINE_START(TROUT, "HTC Dream")
|
||||
.init_early = trout_init_early,
|
||||
.init_irq = trout_init_irq,
|
||||
.init_machine = trout_init,
|
||||
.init_late = trout_init_late,
|
||||
.timer = &msm_timer,
|
||||
MACHINE_END
|
||||
|
@ -47,4 +47,10 @@ int __init msm_add_sdcc(unsigned int controller,
|
||||
struct msm_mmc_platform_data *plat,
|
||||
unsigned int stat_irq, unsigned long stat_irq_flags);
|
||||
|
||||
#if defined(CONFIG_MSM_SMD) && defined(CONFIG_DEBUG_FS)
|
||||
int smd_debugfs_init(void);
|
||||
#else
|
||||
static inline int smd_debugfs_init(void) { return 0; }
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
@ -216,7 +216,7 @@ static void debug_create(const char *name, umode_t mode,
|
||||
debugfs_create_file(name, mode, dent, fill, &debug_ops);
|
||||
}
|
||||
|
||||
static int smd_debugfs_init(void)
|
||||
int __init smd_debugfs_init(void)
|
||||
{
|
||||
struct dentry *dent;
|
||||
|
||||
@ -234,7 +234,6 @@ static int smd_debugfs_init(void)
|
||||
return 0;
|
||||
}
|
||||
|
||||
late_initcall(smd_debugfs_init);
|
||||
#endif
|
||||
|
||||
|
||||
|
@ -595,7 +595,12 @@ gpio_free:
|
||||
gpio_free(AMS_DELTA_GPIO_PIN_MODEM_IRQ);
|
||||
return err;
|
||||
}
|
||||
late_initcall(late_init);
|
||||
|
||||
static void __init ams_delta_init_late(void)
|
||||
{
|
||||
omap1_init_late();
|
||||
late_init();
|
||||
}
|
||||
|
||||
static void __init ams_delta_map_io(void)
|
||||
{
|
||||
@ -611,6 +616,7 @@ MACHINE_START(AMS_DELTA, "Amstrad E3 (Delta)")
|
||||
.reserve = omap_reserve,
|
||||
.init_irq = omap1_init_irq,
|
||||
.init_machine = ams_delta_init,
|
||||
.init_late = ams_delta_init_late,
|
||||
.timer = &omap1_timer,
|
||||
.restart = omap1_restart,
|
||||
MACHINE_END
|
||||
|
@ -383,6 +383,7 @@ MACHINE_START(OMAP_FSAMPLE, "OMAP730 F-Sample")
|
||||
.reserve = omap_reserve,
|
||||
.init_irq = omap1_init_irq,
|
||||
.init_machine = omap_fsample_init,
|
||||
.init_late = omap1_init_late,
|
||||
.timer = &omap1_timer,
|
||||
.restart = omap1_restart,
|
||||
MACHINE_END
|
||||
|
@ -88,6 +88,7 @@ MACHINE_START(OMAP_GENERIC, "Generic OMAP1510/1610/1710")
|
||||
.reserve = omap_reserve,
|
||||
.init_irq = omap1_init_irq,
|
||||
.init_machine = omap_generic_init,
|
||||
.init_late = omap1_init_late,
|
||||
.timer = &omap1_timer,
|
||||
.restart = omap1_restart,
|
||||
MACHINE_END
|
||||
|
@ -446,6 +446,7 @@ MACHINE_START(OMAP_H2, "TI-H2")
|
||||
.reserve = omap_reserve,
|
||||
.init_irq = omap1_init_irq,
|
||||
.init_machine = h2_init,
|
||||
.init_late = omap1_init_late,
|
||||
.timer = &omap1_timer,
|
||||
.restart = omap1_restart,
|
||||
MACHINE_END
|
||||
|
@ -439,6 +439,7 @@ MACHINE_START(OMAP_H3, "TI OMAP1710 H3 board")
|
||||
.reserve = omap_reserve,
|
||||
.init_irq = omap1_init_irq,
|
||||
.init_machine = h3_init,
|
||||
.init_late = omap1_init_late,
|
||||
.timer = &omap1_timer,
|
||||
.restart = omap1_restart,
|
||||
MACHINE_END
|
||||
|
@ -605,6 +605,7 @@ MACHINE_START(HERALD, "HTC Herald")
|
||||
.reserve = omap_reserve,
|
||||
.init_irq = omap1_init_irq,
|
||||
.init_machine = htcherald_init,
|
||||
.init_late = omap1_init_late,
|
||||
.timer = &omap1_timer,
|
||||
.restart = omap1_restart,
|
||||
MACHINE_END
|
||||
|
@ -457,6 +457,7 @@ MACHINE_START(OMAP_INNOVATOR, "TI-Innovator")
|
||||
.reserve = omap_reserve,
|
||||
.init_irq = omap1_init_irq,
|
||||
.init_machine = innovator_init,
|
||||
.init_late = omap1_init_late,
|
||||
.timer = &omap1_timer,
|
||||
.restart = omap1_restart,
|
||||
MACHINE_END
|
||||
|
@ -255,6 +255,7 @@ MACHINE_START(NOKIA770, "Nokia 770")
|
||||
.reserve = omap_reserve,
|
||||
.init_irq = omap1_init_irq,
|
||||
.init_machine = omap_nokia770_init,
|
||||
.init_late = omap1_init_late,
|
||||
.timer = &omap1_timer,
|
||||
.restart = omap1_restart,
|
||||
MACHINE_END
|
||||
|
@ -574,6 +574,7 @@ MACHINE_START(OMAP_OSK, "TI-OSK")
|
||||
.reserve = omap_reserve,
|
||||
.init_irq = omap1_init_irq,
|
||||
.init_machine = osk_init,
|
||||
.init_late = omap1_init_late,
|
||||
.timer = &omap1_timer,
|
||||
.restart = omap1_restart,
|
||||
MACHINE_END
|
||||
|
@ -267,6 +267,7 @@ MACHINE_START(OMAP_PALMTE, "OMAP310 based Palm Tungsten E")
|
||||
.reserve = omap_reserve,
|
||||
.init_irq = omap1_init_irq,
|
||||
.init_machine = omap_palmte_init,
|
||||
.init_late = omap1_init_late,
|
||||
.timer = &omap1_timer,
|
||||
.restart = omap1_restart,
|
||||
MACHINE_END
|
||||
|
@ -313,6 +313,7 @@ MACHINE_START(OMAP_PALMTT, "OMAP1510 based Palm Tungsten|T")
|
||||
.reserve = omap_reserve,
|
||||
.init_irq = omap1_init_irq,
|
||||
.init_machine = omap_palmtt_init,
|
||||
.init_late = omap1_init_late,
|
||||
.timer = &omap1_timer,
|
||||
.restart = omap1_restart,
|
||||
MACHINE_END
|
||||
|
@ -330,6 +330,7 @@ MACHINE_START(OMAP_PALMZ71, "OMAP310 based Palm Zire71")
|
||||
.reserve = omap_reserve,
|
||||
.init_irq = omap1_init_irq,
|
||||
.init_machine = omap_palmz71_init,
|
||||
.init_late = omap1_init_late,
|
||||
.timer = &omap1_timer,
|
||||
.restart = omap1_restart,
|
||||
MACHINE_END
|
||||
|
@ -345,6 +345,7 @@ MACHINE_START(OMAP_PERSEUS2, "OMAP730 Perseus2")
|
||||
.reserve = omap_reserve,
|
||||
.init_irq = omap1_init_irq,
|
||||
.init_machine = omap_perseus2_init,
|
||||
.init_late = omap1_init_late,
|
||||
.timer = &omap1_timer,
|
||||
.restart = omap1_restart,
|
||||
MACHINE_END
|
||||
|
@ -407,6 +407,7 @@ MACHINE_START(SX1, "OMAP310 based Siemens SX1")
|
||||
.reserve = omap_reserve,
|
||||
.init_irq = omap1_init_irq,
|
||||
.init_machine = omap_sx1_init,
|
||||
.init_late = omap1_init_late,
|
||||
.timer = &omap1_timer,
|
||||
.restart = omap1_restart,
|
||||
MACHINE_END
|
||||
|
@ -294,6 +294,7 @@ MACHINE_START(VOICEBLUE, "VoiceBlue OMAP5910")
|
||||
.reserve = omap_reserve,
|
||||
.init_irq = omap1_init_irq,
|
||||
.init_machine = voiceblue_init,
|
||||
.init_late = omap1_init_late,
|
||||
.timer = &omap1_timer,
|
||||
.restart = voiceblue_restart,
|
||||
MACHINE_END
|
||||
|
@ -52,8 +52,18 @@ static inline void omap16xx_map_io(void)
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_OMAP_SERIAL_WAKE
|
||||
int omap_serial_wakeup_init(void);
|
||||
#else
|
||||
static inline int omap_serial_wakeup_init(void)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
void omap1_init_early(void);
|
||||
void omap1_init_irq(void);
|
||||
void omap1_init_late(void);
|
||||
void omap1_restart(char, const char *);
|
||||
|
||||
extern struct sys_timer omap1_timer;
|
||||
|
@ -138,6 +138,11 @@ void __init omap1_init_early(void)
|
||||
omap_init_consistent_dma_size();
|
||||
}
|
||||
|
||||
void __init omap1_init_late(void)
|
||||
{
|
||||
omap_serial_wakeup_init();
|
||||
}
|
||||
|
||||
/*
|
||||
* NOTE: Please use ioremap + __raw_read/write where possible instead of these
|
||||
*/
|
||||
|
@ -237,7 +237,7 @@ static void __init omap_serial_set_port_wakeup(int gpio_nr)
|
||||
enable_irq_wake(gpio_to_irq(gpio_nr));
|
||||
}
|
||||
|
||||
static int __init omap_serial_wakeup_init(void)
|
||||
int __init omap_serial_wakeup_init(void)
|
||||
{
|
||||
if (!cpu_is_omap16xx())
|
||||
return 0;
|
||||
@ -251,7 +251,6 @@ static int __init omap_serial_wakeup_init(void)
|
||||
|
||||
return 0;
|
||||
}
|
||||
late_initcall(omap_serial_wakeup_init);
|
||||
|
||||
#endif /* CONFIG_OMAP_SERIAL_WAKE */
|
||||
|
||||
|
@ -303,6 +303,7 @@ MACHINE_START(OMAP_2430SDP, "OMAP2430 sdp2430 board")
|
||||
.init_irq = omap2_init_irq,
|
||||
.handle_irq = omap2_intc_handle_irq,
|
||||
.init_machine = omap_2430sdp_init,
|
||||
.init_late = omap2430_init_late,
|
||||
.timer = &omap2_timer,
|
||||
.restart = omap_prcm_restart,
|
||||
MACHINE_END
|
||||
|
@ -635,6 +635,7 @@ MACHINE_START(OMAP_3430SDP, "OMAP3430 3430SDP board")
|
||||
.init_irq = omap3_init_irq,
|
||||
.handle_irq = omap3_intc_handle_irq,
|
||||
.init_machine = omap_3430sdp_init,
|
||||
.init_late = omap3430_init_late,
|
||||
.timer = &omap3_timer,
|
||||
.restart = omap_prcm_restart,
|
||||
MACHINE_END
|
||||
|
@ -217,6 +217,7 @@ MACHINE_START(OMAP_3630SDP, "OMAP 3630SDP board")
|
||||
.init_irq = omap3_init_irq,
|
||||
.handle_irq = omap3_intc_handle_irq,
|
||||
.init_machine = omap_sdp_init,
|
||||
.init_late = omap3630_init_late,
|
||||
.timer = &omap3_timer,
|
||||
.restart = omap_prcm_restart,
|
||||
MACHINE_END
|
||||
|
@ -969,6 +969,7 @@ MACHINE_START(OMAP_4430SDP, "OMAP4430 4430SDP board")
|
||||
.init_irq = gic_init_irq,
|
||||
.handle_irq = gic_handle_irq,
|
||||
.init_machine = omap_4430sdp_init,
|
||||
.init_late = omap4430_init_late,
|
||||
.timer = &omap4_timer,
|
||||
.restart = omap_prcm_restart,
|
||||
MACHINE_END
|
||||
|
@ -100,6 +100,7 @@ MACHINE_START(CRANEBOARD, "AM3517/05 CRANEBOARD")
|
||||
.init_irq = omap3_init_irq,
|
||||
.handle_irq = omap3_intc_handle_irq,
|
||||
.init_machine = am3517_crane_init,
|
||||
.init_late = am35xx_init_late,
|
||||
.timer = &omap3_timer,
|
||||
.restart = omap_prcm_restart,
|
||||
MACHINE_END
|
||||
|
@ -402,6 +402,7 @@ MACHINE_START(OMAP3517EVM, "OMAP3517/AM3517 EVM")
|
||||
.init_irq = omap3_init_irq,
|
||||
.handle_irq = omap3_intc_handle_irq,
|
||||
.init_machine = am3517_evm_init,
|
||||
.init_late = am35xx_init_late,
|
||||
.timer = &omap3_timer,
|
||||
.restart = omap_prcm_restart,
|
||||
MACHINE_END
|
||||
|
@ -356,6 +356,7 @@ MACHINE_START(OMAP_APOLLON, "OMAP24xx Apollon")
|
||||
.init_irq = omap2_init_irq,
|
||||
.handle_irq = omap2_intc_handle_irq,
|
||||
.init_machine = omap_apollon_init,
|
||||
.init_late = omap2420_init_late,
|
||||
.timer = &omap2_timer,
|
||||
.restart = omap_prcm_restart,
|
||||
MACHINE_END
|
||||
|
@ -686,6 +686,7 @@ MACHINE_START(CM_T35, "Compulab CM-T35")
|
||||
.init_irq = omap3_init_irq,
|
||||
.handle_irq = omap3_intc_handle_irq,
|
||||
.init_machine = cm_t35_init,
|
||||
.init_late = omap35xx_init_late,
|
||||
.timer = &omap3_timer,
|
||||
.restart = omap_prcm_restart,
|
||||
MACHINE_END
|
||||
@ -698,6 +699,7 @@ MACHINE_START(CM_T3730, "Compulab CM-T3730")
|
||||
.init_irq = omap3_init_irq,
|
||||
.handle_irq = omap3_intc_handle_irq,
|
||||
.init_machine = cm_t3730_init,
|
||||
.init_late = omap3630_init_late,
|
||||
.timer = &omap3_timer,
|
||||
.restart = omap_prcm_restart,
|
||||
MACHINE_END
|
||||
|
@ -303,6 +303,7 @@ MACHINE_START(CM_T3517, "Compulab CM-T3517")
|
||||
.init_irq = omap3_init_irq,
|
||||
.handle_irq = omap3_intc_handle_irq,
|
||||
.init_machine = cm_t3517_init,
|
||||
.init_late = am35xx_init_late,
|
||||
.timer = &omap3_timer,
|
||||
.restart = omap_prcm_restart,
|
||||
MACHINE_END
|
||||
|
@ -664,6 +664,7 @@ MACHINE_START(DEVKIT8000, "OMAP3 Devkit8000")
|
||||
.init_irq = omap3_init_irq,
|
||||
.handle_irq = omap3_intc_handle_irq,
|
||||
.init_machine = devkit8000_init,
|
||||
.init_late = omap35xx_init_late,
|
||||
.timer = &omap3_secure_timer,
|
||||
.restart = omap_prcm_restart,
|
||||
MACHINE_END
|
||||
|
@ -158,6 +158,7 @@ DT_MACHINE_START(OMAP4_DT, "Generic OMAP4 (Flattened Device Tree)")
|
||||
.init_irq = omap_init_irq,
|
||||
.handle_irq = gic_handle_irq,
|
||||
.init_machine = omap4_init,
|
||||
.init_late = omap4430_init_late,
|
||||
.timer = &omap4_timer,
|
||||
.dt_compat = omap4_boards_compat,
|
||||
.restart = omap_prcm_restart,
|
||||
|
@ -398,6 +398,7 @@ MACHINE_START(OMAP_H4, "OMAP2420 H4 board")
|
||||
.init_irq = omap2_init_irq,
|
||||
.handle_irq = omap2_intc_handle_irq,
|
||||
.init_machine = omap_h4_init,
|
||||
.init_late = omap2420_init_late,
|
||||
.timer = &omap2_timer,
|
||||
.restart = omap_prcm_restart,
|
||||
MACHINE_END
|
||||
|
@ -684,6 +684,7 @@ MACHINE_START(IGEP0020, "IGEP v2 board")
|
||||
.init_irq = omap3_init_irq,
|
||||
.handle_irq = omap3_intc_handle_irq,
|
||||
.init_machine = igep_init,
|
||||
.init_late = omap35xx_init_late,
|
||||
.timer = &omap3_timer,
|
||||
.restart = omap_prcm_restart,
|
||||
MACHINE_END
|
||||
@ -696,6 +697,7 @@ MACHINE_START(IGEP0030, "IGEP OMAP3 module")
|
||||
.init_irq = omap3_init_irq,
|
||||
.handle_irq = omap3_intc_handle_irq,
|
||||
.init_machine = igep_init,
|
||||
.init_late = omap35xx_init_late,
|
||||
.timer = &omap3_timer,
|
||||
.restart = omap_prcm_restart,
|
||||
MACHINE_END
|
||||
|
@ -442,6 +442,7 @@ MACHINE_START(OMAP_LDP, "OMAP LDP board")
|
||||
.init_irq = omap3_init_irq,
|
||||
.handle_irq = omap3_intc_handle_irq,
|
||||
.init_machine = omap_ldp_init,
|
||||
.init_late = omap3430_init_late,
|
||||
.timer = &omap3_timer,
|
||||
.restart = omap_prcm_restart,
|
||||
MACHINE_END
|
||||
|
@ -694,6 +694,7 @@ MACHINE_START(NOKIA_N800, "Nokia N800")
|
||||
.init_irq = omap2_init_irq,
|
||||
.handle_irq = omap2_intc_handle_irq,
|
||||
.init_machine = n8x0_init_machine,
|
||||
.init_late = omap2420_init_late,
|
||||
.timer = &omap2_timer,
|
||||
.restart = omap_prcm_restart,
|
||||
MACHINE_END
|
||||
@ -706,6 +707,7 @@ MACHINE_START(NOKIA_N810, "Nokia N810")
|
||||
.init_irq = omap2_init_irq,
|
||||
.handle_irq = omap2_intc_handle_irq,
|
||||
.init_machine = n8x0_init_machine,
|
||||
.init_late = omap2420_init_late,
|
||||
.timer = &omap2_timer,
|
||||
.restart = omap_prcm_restart,
|
||||
MACHINE_END
|
||||
@ -718,6 +720,7 @@ MACHINE_START(NOKIA_N810_WIMAX, "Nokia N810 WiMAX")
|
||||
.init_irq = omap2_init_irq,
|
||||
.handle_irq = omap2_intc_handle_irq,
|
||||
.init_machine = n8x0_init_machine,
|
||||
.init_late = omap2420_init_late,
|
||||
.timer = &omap2_timer,
|
||||
.restart = omap_prcm_restart,
|
||||
MACHINE_END
|
||||
|
@ -565,6 +565,7 @@ MACHINE_START(OMAP3_BEAGLE, "OMAP3 Beagle Board")
|
||||
.init_irq = omap3_init_irq,
|
||||
.handle_irq = omap3_intc_handle_irq,
|
||||
.init_machine = omap3_beagle_init,
|
||||
.init_late = omap3_init_late,
|
||||
.timer = &omap3_secure_timer,
|
||||
.restart = omap_prcm_restart,
|
||||
MACHINE_END
|
||||
|
@ -692,6 +692,7 @@ MACHINE_START(OMAP3EVM, "OMAP3 EVM")
|
||||
.init_irq = omap3_init_irq,
|
||||
.handle_irq = omap3_intc_handle_irq,
|
||||
.init_machine = omap3_evm_init,
|
||||
.init_late = omap35xx_init_late,
|
||||
.timer = &omap3_timer,
|
||||
.restart = omap_prcm_restart,
|
||||
MACHINE_END
|
||||
|
@ -218,6 +218,7 @@ MACHINE_START(OMAP3_TORPEDO, "Logic OMAP3 Torpedo board")
|
||||
.init_irq = omap3_init_irq,
|
||||
.handle_irq = omap3_intc_handle_irq,
|
||||
.init_machine = omap3logic_init,
|
||||
.init_late = omap35xx_init_late,
|
||||
.timer = &omap3_timer,
|
||||
.restart = omap_prcm_restart,
|
||||
MACHINE_END
|
||||
@ -230,6 +231,7 @@ MACHINE_START(OMAP3530_LV_SOM, "OMAP Logic 3530 LV SOM board")
|
||||
.init_irq = omap3_init_irq,
|
||||
.handle_irq = omap3_intc_handle_irq,
|
||||
.init_machine = omap3logic_init,
|
||||
.init_late = omap35xx_init_late,
|
||||
.timer = &omap3_timer,
|
||||
.restart = omap_prcm_restart,
|
||||
MACHINE_END
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user