Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 75c6a9ec authored by Shantanu Jain's avatar Shantanu Jain
Browse files

input: touchscreen: fix compilation errors for Goodix driver



Fix compilation errors for Goodix touch driver for msm-3.18
kernel after porting the driver. This includes replacing the
deprecated api(s) with proper ones and changing code for
proper compilation.

Change-Id: I2abd67a8ff647165ddedb385e80f8705d73d3100
Signed-off-by: default avatarShantanu Jain <shjain@codeaurora.org>
parent a877e0f9
Loading
Loading
Loading
Loading
+19 −13
Original line number Diff line number Diff line
@@ -300,12 +300,12 @@ static s32 fill_update_info(char __user *user_buf,
/********************************************************
Function:
    Goodix tool write function.
nput:
Input:
  standard proc write function param.
Output:
    Return write length.
********************************************************/
static s32 goodix_tool_write(struct file *filp, const char __user *userbuf,
static ssize_t goodix_tool_write(struct file *filp, const char __user *userbuf,
						size_t count, loff_t *ppos)
{
	s32 ret = 0;
@@ -318,22 +318,28 @@ static s32 goodix_tool_write(struct file *filp, const char __user *userbuf,
		goto exit;
	}

	dev_dbg(&gt_client->dev, "wr:0x%02x, flag:0x%02x, flag addr:0x%02x%02x, flag val:0x%02x, flag rel:0x%02x, circle:%d, times:%d, retry:%d, delay:%d, data len:%d, addr len:%d, addr:0x%02x%02x, write len: %d.",
		cmd_head.wr, cmd_head.flag, cmd_head.flag_addr[0],
		cmd_head.flag_addr[1], cmd_head.flag_val,
		cmd_head.flag_relation,	(s32)cmd_head.circle,
		(s32)cmd_head.times, (s32)cmd_head.retry, (s32)cmd_head.delay,
	dev_dbg(&gt_client->dev,
		"wr: 0x%02x, flag:0x%02x, flag addr:0x%02x%02x\n", cmd_head.wr,
		cmd_head.flag, cmd_head.flag_addr[0], cmd_head.flag_addr[1]);
	dev_dbg(&gt_client->dev,
		"flag val:0x%02x, flag rel:0x%02x,\n", cmd_head.flag_val,
		cmd_head.flag_relation);
	dev_dbg(&gt_client->dev, "circle:%u, times:%u, retry:%u, delay:%u\n",
		(s32) cmd_head.circle, (s32) cmd_head.times,
		(s32) cmd_head.retry, (s32)cmd_head.delay);
	dev_dbg(&gt_client->dev,
		"data len:%u, addr len:%u, addr:0x%02x%02x, write len: %u\n",
		(s32)cmd_head.data_len,	(s32)cmd_head.addr_len,
		cmd_head.addr[0], cmd_head.addr[1], (s32)count);

	if (cmd_head.data_len > (data_length - GTP_ADDR_LENGTH)) {
		dev_err(&gt_client->dev, "data len %d > data buff %d, rejected!\n",
		dev_err(&gt_client->dev, "data len %u > data buff %d, rejected!\n",
			cmd_head.data_len, (data_length - GTP_ADDR_LENGTH));
		ret = -EINVAL;
		goto exit;
	}
	if (cmd_head.addr_len > GTP_ADDR_LENGTH) {
		dev_err(&gt_client->dev, "addr len %d > data buff %d, rejected!\n",
		dev_err(&gt_client->dev, "addr len %u > data buff %d, rejected!\n",
			cmd_head.addr_len, GTP_ADDR_LENGTH);
		ret = -EINVAL;
		goto exit;
@@ -383,7 +389,7 @@ static s32 goodix_tool_write(struct file *filp, const char __user *userbuf,

		if (cmd_head.data_len > sizeof(ic_type)) {
			dev_err(&gt_client->dev,
				"data len %d > data buff %d, rejected!\n",
				"data len %u > data buff %zu, rejected!\n",
				cmd_head.data_len, sizeof(ic_type));
			ret = -EINVAL;
			goto exit;
@@ -445,7 +451,7 @@ static s32 goodix_tool_write(struct file *filp, const char __user *userbuf,
		show_len = 0;
		total_len = 0;
		if (cmd_head.data_len + 1 > data_length) {
			dev_err(&gt_client->dev, "data len %d > data buff %d, rejected!\n",
			dev_err(&gt_client->dev, "data len %u > data buff %d, rejected!\n",
			cmd_head.data_len + 1, data_length);
			ret = -EINVAL;
			goto exit;
@@ -474,7 +480,7 @@ Input:
Output:
    Return read length.
********************************************************/
static s32 goodix_tool_read(struct file *file, char __user *user_buf,
static ssize_t goodix_tool_read(struct file *file, char __user *user_buf,
					size_t count, loff_t *ppos)
{
	u16 data_len = 0;
+5 −4
Original line number Diff line number Diff line
@@ -861,7 +861,7 @@ static int gtp_init_panel(struct goodix_ts_data *ts)

	if (ts->pdata->driver_send_cfg) {
		for (i = 0; i < GOODIX_MAX_CFG_GROUP; i++)
			dev_dbg(&client->dev, "Config Groups(%d) Lengths: %d",
			dev_dbg(&client->dev, "Config Groups(%d) Lengths: %zu",
				i, ts->pdata->config_data_len[i]);

		ret = gtp_i2c_read_dbl_check(ts->client, 0x41E4, opr_buf, 1);
@@ -1822,7 +1822,7 @@ static int goodix_parse_dt(struct device *dev,
	u32 temp_val, num_buttons;
	u32 button_map[MAX_BUTTONS];
	char prop_name[PROP_NAME_SIZE];
	int i, read_cfg_num;
	int i, read_cfg_num, temp;

	rc = goodix_ts_get_dt_coords(dev, "goodix,panel-coords", pdata);
	if (rc && (rc != -EINVAL))
@@ -1904,14 +1904,15 @@ static int goodix_parse_dt(struct device *dev,

	read_cfg_num = 0;
	for (i = 0; i < GOODIX_MAX_CFG_GROUP; i++) {
		temp = 0;
		snprintf(prop_name, sizeof(prop_name), "goodix,cfg-data%d", i);
		prop = of_find_property(np, prop_name,
			&pdata->config_data_len[i]);
		prop = of_find_property(np, prop_name, &temp);
		if (!prop || !prop->value) {
			pdata->config_data_len[i] = 0;
			pdata->config_data[i] = NULL;
			continue;
		}
		pdata->config_data_len[i] = temp;
		pdata->config_data[i] = devm_kzalloc(dev,
				GTP_CONFIG_MAX_LENGTH + GTP_ADDR_LENGTH,
				GFP_KERNEL);
+3 −3
Original line number Diff line number Diff line
@@ -564,8 +564,8 @@ static s8 gup_update_config(struct i2c_client *client,
		!memcmp(&pid[GTP_ADDR_LENGTH], "960", 3)) {
		chip_cfg_len = 228;
	}
	pr_debug("config file ASCII len:%d", cfg->size);
	pr_debug("need config binary len:%d", chip_cfg_len);
	pr_debug("config file ASCII len: %zu", cfg->size);
	pr_debug("need config binary len: %u", chip_cfg_len);
	if ((cfg->size + 5) < chip_cfg_len * 5) {
		pr_err("Config length error");
		return -EINVAL;
@@ -644,7 +644,7 @@ static s32 gup_get_firmware_file(struct i2c_client *client,
		return -EEXIST;
	}

	dev_dbg(&client->dev, "Config File: %s size=%d", path, fw->size);
	dev_dbg(&client->dev, "Config File: %s size: %zu", path, fw->size);
	msg->fw_data =
		devm_kzalloc(&client->dev, fw->size, GFP_KERNEL);
	if (!msg->fw_data) {