static void run_reference_read(void *device_data) { struct mxt_data *data = (struct mxt_data *)device_data; struct mxt_fac_data *fdata = data->fdata; int ret; char buff[16] = {0}; set_default_result(fdata); #if TSP_PATCH if(data->patch.event_cnt) mxt_patch_test_event(data, 2); #endif ret = mxt_read_all_diagnostic_data(data, MXT_DIAG_REFERENCE_MODE); if (ret) fdata->cmd_state = CMD_STATUS_FAIL; else { snprintf(buff, sizeof(buff), "%d,%d", fdata->ref_min_data, fdata->ref_max_data); set_cmd_result(fdata, buff, strnlen(buff, sizeof(buff))); fdata->cmd_state = CMD_STATUS_OK; } }
static void run_delta_read(void *device_data) { struct mxt_data *data = (struct mxt_data *)device_data; struct mxt_data_sysfs *sysfs_data = data->sysfs_data; int ret; set_default_result(sysfs_data); ret = mxt_read_all_diagnostic_data(data, MXT_DIAG_DELTA_MODE); if (ret) sysfs_data->cmd_state = CMD_STATUS_FAIL; else sysfs_data->cmd_state = CMD_STATUS_OK; }
static void run_reference_read(void *device_data) { struct mxt_data *data = (struct mxt_data *)device_data; struct mxt_data_sysfs *sysfs_data = data->sysfs_data; int ret; char buff[16] = {0}; set_default_result(sysfs_data); ret = mxt_read_all_diagnostic_data(data, MXT_DIAG_REFERENCE_MODE); if (ret) sysfs_data->cmd_state = CMD_STATUS_FAIL; else { snprintf(buff, sizeof(buff), "%d,%d", sysfs_data->ref_min_data, sysfs_data->ref_max_data); set_cmd_result(sysfs_data, buff, strnlen(buff, sizeof(buff))); sysfs_data->cmd_state = CMD_STATUS_OK; } }
/* * find the x,y position to use maximum delta. * it is diffult to map the orientation and caculate the node number * because layout is always different according to device */ static void find_delta_node(void *device_data) { struct mxt_data *data = (struct mxt_data *)device_data; struct mxt_data_sysfs *sysfs_data = data->sysfs_data; char buff[16] = {0}; u16 x, y; int ret; set_default_result(sysfs_data); /* read all delta to get the maximum delta value */ ret = mxt_read_all_diagnostic_data(data, MXT_DIAG_DELTA_MODE); if (ret) { sysfs_data->cmd_state = CMD_STATUS_FAIL; } else { mxt_node_to_xy(data, &x, &y); snprintf(buff, sizeof(buff), "%d,%d", x, y); set_cmd_result(sysfs_data, buff, strnlen(buff, sizeof(buff))); sysfs_data->cmd_state = CMD_STATUS_OK; } }