static void *process_reboot(void *m) { ALOGI("[%s] start,", __FUNCTION__); if(pop_confirm(m, LAYOUT_REBOOT, get_string(KEY_REBOOT_NOTICE))) { ALOGI("[%s] confirmed,", __FUNCTION__); if(reboot_opt == REBOOT_POWEROFF) { system("reboot -p"); } else if(reboot_opt == REBOOT_FFBM) { system("reboot"); } else if(reboot_opt == REBOOT_ANDROID) { set_boot_mode(BOOT_MODE_NORMAL); system("reboot"); } } else { ALOGI("[%s] cancelled,", __FUNCTION__); } return NULL; }
void Ui_MainWindowBase::ConfigCPUBootMode(int num) { int i; QString tmps; if(num <= 0) return; if(num >= 8) num = 7; actionGroup_BootMode = new QActionGroup(this); actionGroup_BootMode->setExclusive(true); for(i = 0; i < num; i++) { actionBootMode[i] = new Action_Control(this); tmps = tmps.setNum(i); tmps = QString::fromUtf8("actionBootMode_") + tmps; actionBootMode[i]->setObjectName(tmps); actionBootMode[i]->setCheckable(true); if(i == config.boot_mode) actionBootMode[i]->setChecked(true); actionBootMode[i]->binds->setValue1(i); menuBootMode->addAction(actionBootMode[i]); actionGroup_BootMode->addAction(actionBootMode[i]); connect(actionBootMode[i], SIGNAL(triggered()), actionBootMode[i]->binds, SLOT(set_boot_mode())); // OK? connect(actionBootMode[i]->binds, SIGNAL(on_boot_mode(int)), this, SLOT(do_change_boot_mode(int))); // OK? } }
int board_late_init(void) { int bootmode = set_boot_mode(); int display_painted =0; /* boot */ enum omap_dispc_format fmt = OMAP_XRGB888_FMT; enum coolcharger_ppz_t coolcharger_ppz = get_coolcharger_ppz(); if(coolcharger_ppz == COOLCHARGER_SHUTDOWN_NOACTION) return 0; else if(coolcharger_ppz == COOLCHARGER_INITONLY) { if(!panel_has_enabled) { fmt = OMAP_RGB565_FMT; memset((void *) FB, 0, (panel.xres * 2 * panel.yres)); display_init(&panel, (void *) FB, fmt); } return 0; } switch(bootmode) { case EMMC_ANDROID: switch(coolcharger_ppz) { case COOLCHARGER_DISABLE: display_painted = 1; break; case COOLCHARGER_SHUTDOWN_COOLDOWN: case COOLCHARGER_SHUTDOWN_WARMUP: //if we have the warm up image, we can use it. disable_panel_backlight(); display_mmc_gzip_ppm(1, 5, "cooldown.ppz", (uint32_t *) FB, panel.xres, panel.yres); break; } break; case EMMC_RECOVERY: if(boot_cooldown_charger_mode()) { disable_panel_backlight(); switch(coolcharger_ppz) { case COOLCHARGER_COOLDOWN_MODE: display_mmc_gzip_ppm(1, 5, "cooldown.ppz", (uint32_t *) FB, panel.xres, panel.yres); break; case COOLCHARGER_CHARGER_MODE: fmt = OMAP_RGB565_FMT; display_rle(_binary_lowbatt_charge_rle_start, (uint16_t *) FB, panel.xres, panel.yres); break; } } else { if (!panel_has_enabled) /* recovery image is same as boot */ show_image(boot); display_painted = 1; } break; case SD_UIMAGE: case SD_BOOTIMG: case USB_BOOTIMG: default: /* if we use PIC SD card to reflash and the SoC < BOOT_ANDROID * the show_image will not be called. */ if(!panel_has_enabled) show_image(boot); display_painted = 1; break; } if (display_painted == 0) { panel_enable(1); display_init(&panel, (void *) FB, fmt); backlight_enable(1); backlight_set_brightness(0x3f); panel_has_enabled = 1; if(coolcharger_ppz == COOLCHARGER_SHUTDOWN_COOLDOWN || coolcharger_ppz == COOLCHARGER_SHUTDOWN_WARMUP) udelay(3000000); } return bootmode; }