Skip to content

Commit

Permalink
Input: atmel_mxt_ts - remove matrix size check
Browse files Browse the repository at this point in the history
The mxt_check_matrix_size() is currently setting the CTE mode to match
xline/yline information that is in the platform data, but it does not
take into account for example the fact that we could have a key array
in use too (key array would use some x/y lines as well).

It would be better to simply rely on the configuration data, and make
sure that the CTE mode set in there matches the touch object (touchscreen,
key array, proximity) configuration (which are set in the config data too).

Signed-off-by: Iiro Valkonen <iiro.valkonen@atmel.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
  • Loading branch information
Iiro Valkonen authored and Dmitry Torokhov committed Feb 25, 2011
1 parent 5f62615 commit 0d3c073
Showing 1 changed file with 0 additions and 73 deletions.
73 changes: 0 additions & 73 deletions drivers/input/touchscreen/atmel_mxt_ts.c
Original file line number Diff line number Diff line change
Expand Up @@ -630,74 +630,6 @@ static int mxt_check_reg_init(struct mxt_data *data)
return 0;
}

static int mxt_check_matrix_size(struct mxt_data *data)
{
const struct mxt_platform_data *pdata = data->pdata;
struct device *dev = &data->client->dev;
int mode = -1;
int error;
u8 val;

dev_dbg(dev, "Number of X lines: %d\n", pdata->x_line);
dev_dbg(dev, "Number of Y lines: %d\n", pdata->y_line);

switch (pdata->x_line) {
case 0 ... 15:
if (pdata->y_line <= 14)
mode = 0;
break;
case 16:
if (pdata->y_line <= 12)
mode = 1;
if (pdata->y_line == 13 || pdata->y_line == 14)
mode = 0;
break;
case 17:
if (pdata->y_line <= 11)
mode = 2;
if (pdata->y_line == 12 || pdata->y_line == 13)
mode = 1;
break;
case 18:
if (pdata->y_line <= 10)
mode = 3;
if (pdata->y_line == 11 || pdata->y_line == 12)
mode = 2;
break;
case 19:
if (pdata->y_line <= 9)
mode = 4;
if (pdata->y_line == 10 || pdata->y_line == 11)
mode = 3;
break;
case 20:
mode = 4;
}

if (mode < 0) {
dev_err(dev, "Invalid X/Y lines\n");
return -EINVAL;
}

error = mxt_read_object(data, MXT_SPT_CTECONFIG,
MXT_CTE_MODE, &val);
if (error)
return error;

if (mode == val)
return 0;

/* Change the CTE configuration */
mxt_write_object(data, MXT_SPT_CTECONFIG,
MXT_CTE_CTRL, 1);
mxt_write_object(data, MXT_SPT_CTECONFIG,
MXT_CTE_MODE, mode);
mxt_write_object(data, MXT_SPT_CTECONFIG,
MXT_CTE_CTRL, 0);

return 0;
}

static int mxt_make_highchg(struct mxt_data *data)
{
struct device *dev = &data->client->dev;
Expand Down Expand Up @@ -864,11 +796,6 @@ static int mxt_initialize(struct mxt_data *data)
if (error)
return error;

/* Check X/Y matrix size */
error = mxt_check_matrix_size(data);
if (error)
return error;

error = mxt_make_highchg(data);
if (error)
return error;
Expand Down

0 comments on commit 0d3c073

Please sign in to comment.