static int __init modem_off_init(void) { #ifndef CONFIG_MTK_CCCI_EXT printk("[ccci-off]power off MD when CCCI is disabled\n"); internal_md_power_down(); #else #ifdef MTK_KERNEL_POWER_OFF_CHARGING if ((g_boot_mode == KERNEL_POWER_OFF_CHARGING_BOOT) || (g_boot_mode == LOW_POWER_OFF_CHARGING_BOOT)) { printk("[ccci-off]power off MD in charging mode %d\n", g_boot_mode); internal_md_power_down(); } #endif #endif return 0; }
static int modem_power_down_worker(void *data) { unsigned int val; val = get_devinfo_with_index(4); if ((val & (0x1 << 1)) == 0) internal_md_power_down(); else pr_debug("[ccci-off]md1 effused,no need power off\n"); if ((val & (0x1 << 15)) == 0) internal_md2_power_down(); else pr_debug("[ccci-off]md2 effused,no need power off\n"); return 0; }