static int get_panel_coordinate(struct mdnie_info *mdnie, int *result) { int ret = 0; unsigned short x, y; x = mdnie->coordinate[0]; y = mdnie->coordinate[1]; if( !(x || y)) { dev_info(mdnie->dev, "This panel do not need to adjust coordinate\n"); ret = -EINVAL; goto skip_color_correction; } result[1] = mdnie->tune->color_offset[0](x, y); result[2] = mdnie->tune->color_offset[1](x, y); result[3] = mdnie->tune->color_offset[2](x, y); result[4] = mdnie->tune->color_offset[3](x, y); ret = mdnie_calibration(result); dev_info(mdnie->dev, "%s: %d, %d, idx=%d\n", __func__, x, y, ret); skip_color_correction: mdnie->color_correction = 1; return ret; }
static int get_panel_coordinate(struct mdnie_info *mdnie, int *result) { int ret = 0; char *fp = NULL; unsigned int coordinate[2] = {0,}; ret = mdnie_open_file(PANEL_COORDINATE_PATH, &fp); if (IS_ERR_OR_NULL(fp) || ret <= 0) { dev_info(mdnie->dev, "%s: open skip: %s, %d\n", __func__, PANEL_COORDINATE_PATH, ret); ret = -EINVAL; goto skip_color_correction; } ret = sscanf(fp, "%d, %d", &coordinate[0], &coordinate[1]); if (!(coordinate[0] + coordinate[1]) || ret != 2) { dev_info(mdnie->dev, "%s: %d, %d\n", __func__, coordinate[0], coordinate[1]); ret = -EINVAL; goto skip_color_correction; } ret = mdnie_calibration(coordinate[0], coordinate[1], result); dev_info(mdnie->dev, "%s: %d, %d, idx=%d\n", __func__, coordinate[0], coordinate[1], ret - 1); skip_color_correction: mdnie->color_correction = 1; if (!IS_ERR_OR_NULL(fp)) kfree(fp); return ret; }
static int get_panel_coordinate(struct mdnie_info *mdnie, int *result) { int ret = 0; unsigned short x, y; x = mdnie->coordinate[0]; y = mdnie->coordinate[1]; result[1] = COLOR_OFFSET_F1(x, y); result[2] = COLOR_OFFSET_F2(x, y); result[3] = COLOR_OFFSET_F3(x, y); result[4] = COLOR_OFFSET_F4(x, y); ret = mdnie_calibration(result); dev_info(mdnie->dev, "%s: %d, %d, idx=%d\n", __func__, x, y, ret); //skip_color_correction: mdnie->color_correction = 1; return ret; }