static int firmware_update_func(struct cypress_ts_data *ts) { signed char rc; /* vote to turn on power */ if (ts->power(&ts->client->dev, TS_VDD_POWER_ON)) pr_err("%s: power on failed\n", __func__); pr_info("================ download_firmware_main ==============="); if (ts->firmware_path == AUTO) rc = download_firmware_main(FILEPATH_A9_DVT); else if (ts->firmware_path == USER) rc = download_firmware_main(FILEPATH_USER); else if (ts->firmware_path == USER_EX) rc = download_firmware_main(FILEPATH_USEREX); else rc = download_firmware_main(FILEPATH_A9_DVT); /* vote to turn off power because update is finish */ if (ts->power(&ts->client->dev, TS_VDD_POWER_OFF)) pr_err("%s: power off failed\n", __func__); if (rc) return rc; if (ts->power(&ts->client->dev, TS_RESET)) pr_info("%s: fail to reset tp\n", __func__); return 0; }
static int firmware_update_func(struct cypress_ts_data *ts, uint8_t panel) { char file[30]; signed char rc; if (panel == CANDO_PALNEL) strcpy(file, FILEPATH_CANDO); else if (panel == A4_PANEL) strcpy(file, FILEPATH_A4); else if (panel == USER_DEF_PANEL) strcpy(file, FILEPATH_USER); else if (panel == USEREX_DEF_PANEL) strcpy(file, FILEPATH_USEREX); else strcpy(file, FILEPATH_LGD); /* vote to turn on power */ if (ts->power(TS_VDD_POWER_ON)) pr_err("%s: power on failed\n", __func__); rc = download_firmware_main(file); /* vote to turn off power because update is finish */ if (ts->power(TS_VDD_POWER_OFF)) pr_err("%s: power off failed\n", __func__); if (rc) return rc; if (ts->power(TS_RESET)) pr_info("%s: fail to reset tp\n", __func__); return 0; }
static int proc_write_val(struct file *file, const char *buffer, unsigned long count, void *data) { //ZTE_XUKE_CRDB00517999, BEGIN char *buf; #if defined (CONFIG_DOWNLOAD_FIRMWARE) struct wake_lock ts_fwup_wake_lock; char *tgt_fw = "/system/etc/cypress_firmware.bin";//ZTE_WLY_CRDB00517999 update_flag=0; update_result_flag=0; firmware_version=0; #endif buf = kmalloc(count + 1, GFP_KERNEL); if (buf == NULL) return -ENOMEM; if (copy_from_user(buf, buffer, count)) { count = -EFAULT; goto out; } buf[count] = '\0'; #if defined (CONFIG_DOWNLOAD_FIRMWARE) init(); wake_lock_init(&ts_fwup_wake_lock, WAKE_LOCK_SUSPEND, "ts_fwup"); wake_lock(&ts_fwup_wake_lock); // wake_lock_timeout(&ts_fwup_wake_lock,60000); download_firmware_main(tgt_fw); wake_unlock(&ts_fwup_wake_lock); wake_lock_destroy(&ts_fwup_wake_lock); reset(); update_result_flag=update_flag; #endif //ZTE_XUKE_CRDB00517999, END return count; out: kfree(buf); return -EFAULT; }