static int wd_cpu_hot_plug_on_notify(int cpu) { int res=0; wk_cpu_update_bit_flag(cpu,1); mtk_wdt_restart(WD_TYPE_NOLOCK);// for KICK external wdt printk("WD wd_cpu_hot_plug_on_notify kick ext wd\n"); return res; }
static int start_kicker(void) { int i; wk_cpu_update_bit_flag(0, 1); for (i = 0; i < CPU_NR; i++) { wk_tsk[i] = kthread_create(kwdt_thread, (void *)(unsigned long)i, "wdtk-%d", i); if (IS_ERR(wk_tsk[i])) { int ret = PTR_ERR(wk_tsk[i]); wk_tsk[i] = NULL; return ret; } /* wk_cpu_update_bit_flag(i,1); */ wk_start_kick_cpu(i); } g_kicker_init = 1; printk("[WDK] WDT start kicker done\n"); return 0; }
static int wd_cpu_hot_plug_off_notify(int cpu) { int res=0; wk_cpu_update_bit_flag(cpu,0); return res; }