void __cpuinit platform_secondary_init(unsigned int cpu) { printk(KERN_CRIT "Slave cpu init\n"); mt_gic_secondary_init(); HOTPLUG_INFO("platform_secondary_init, cpu: %d\n", cpu); pen_release = -1; smp_wmb(); #ifdef CONFIG_LOCAL_WDT printk("[WDK]cpu %d plug on platform_secondary_init++++++\n", cpu); wk_start_kick_cpu_hotplug(cpu); mtk_wdt_restart(WK_WDT_LOC_TYPE); mtk_wdt_restart(WK_WDT_EXT_TYPE); printk("[WDK]cpu %d plug on platform_secondary_init------\n", cpu); #endif fiq_glue_resume(); /* * Synchronise with the boot thread. */ spin_lock(&boot_lock); spin_unlock(&boot_lock); }
void __cpuinit mt_smp_secondary_init(unsigned int cpu) { #if 0 struct wd_api *wd_api = NULL; //fix build error get_wd_api(&wd_api); if (wd_api) wd_api->wd_cpu_hot_plug_on_notify(cpu); #endif pr_debug("Slave cpu init\n"); HOTPLUG_INFO("platform_secondary_init, cpu: %d\n", cpu); mt_gic_secondary_init(); /* * let the primary processor know we're out of the * pen, then head off into the C entry point */ write_pen_release(-1); #if !defined (CONFIG_ARM_PSCI) //cannot enable in secure world fiq_glue_resume(); #endif //#if !defined (CONFIG_ARM_PSCI) /* * Synchronise with the boot thread. */ spin_lock(&boot_lock); spin_unlock(&boot_lock); }