Input: atmel_mxt_ts - remove unnecessary platform data
It is not necessary to download these values to the maXTouch chip on every probe, since they are stored in NVRAM. It makes life difficult when tuning the device to keep them in sync with the config array/file, and requires a new kernel build for minor tweaks. These parameters only represent a tiny subset of the available configuration options, tracking all of these options in platform data would be a endless task. In addition, different versions of maXTouch chips may have these values in different places or may not even have them at all. Having these values also makes life more complex for device tree and other platforms where having to define a static configuration isn't helpful. Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk> Acked-by: Benson Leung <bleung@chromium.org> Acked-by: Yufeng Shen <miletus@chromium.org> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
This commit is contained in:

committed by
Dmitry Torokhov

parent
7cdcb8d104
commit
2cefdb1f0a
@@ -685,54 +685,6 @@ static int mxt_make_highchg(struct mxt_data *data)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void mxt_handle_pdata(struct mxt_data *data)
|
||||
{
|
||||
const struct mxt_platform_data *pdata = data->pdata;
|
||||
u8 voltage;
|
||||
|
||||
/* Set touchscreen lines */
|
||||
mxt_write_object(data, MXT_TOUCH_MULTI_T9, MXT_TOUCH_XSIZE,
|
||||
pdata->x_line);
|
||||
mxt_write_object(data, MXT_TOUCH_MULTI_T9, MXT_TOUCH_YSIZE,
|
||||
pdata->y_line);
|
||||
|
||||
/* Set touchscreen orient */
|
||||
mxt_write_object(data, MXT_TOUCH_MULTI_T9, MXT_TOUCH_ORIENT,
|
||||
pdata->orient);
|
||||
|
||||
/* Set touchscreen burst length */
|
||||
mxt_write_object(data, MXT_TOUCH_MULTI_T9,
|
||||
MXT_TOUCH_BLEN, pdata->blen);
|
||||
|
||||
/* Set touchscreen threshold */
|
||||
mxt_write_object(data, MXT_TOUCH_MULTI_T9,
|
||||
MXT_TOUCH_TCHTHR, pdata->threshold);
|
||||
|
||||
/* Set touchscreen resolution */
|
||||
mxt_write_object(data, MXT_TOUCH_MULTI_T9,
|
||||
MXT_TOUCH_XRANGE_LSB, (pdata->x_size - 1) & 0xff);
|
||||
mxt_write_object(data, MXT_TOUCH_MULTI_T9,
|
||||
MXT_TOUCH_XRANGE_MSB, (pdata->x_size - 1) >> 8);
|
||||
mxt_write_object(data, MXT_TOUCH_MULTI_T9,
|
||||
MXT_TOUCH_YRANGE_LSB, (pdata->y_size - 1) & 0xff);
|
||||
mxt_write_object(data, MXT_TOUCH_MULTI_T9,
|
||||
MXT_TOUCH_YRANGE_MSB, (pdata->y_size - 1) >> 8);
|
||||
|
||||
/* Set touchscreen voltage */
|
||||
if (pdata->voltage) {
|
||||
if (pdata->voltage < MXT_VOLTAGE_DEFAULT) {
|
||||
voltage = (MXT_VOLTAGE_DEFAULT - pdata->voltage) /
|
||||
MXT_VOLTAGE_STEP;
|
||||
voltage = 0xff - voltage + 1;
|
||||
} else
|
||||
voltage = (pdata->voltage - MXT_VOLTAGE_DEFAULT) /
|
||||
MXT_VOLTAGE_STEP;
|
||||
|
||||
mxt_write_object(data, MXT_SPT_CTECONFIG_T28,
|
||||
MXT_CTE_VOLTAGE, voltage);
|
||||
}
|
||||
}
|
||||
|
||||
static int mxt_get_info(struct mxt_data *data)
|
||||
{
|
||||
struct i2c_client *client = data->client;
|
||||
@@ -840,8 +792,6 @@ static int mxt_initialize(struct mxt_data *data)
|
||||
if (error)
|
||||
goto err_free_object_table;
|
||||
|
||||
mxt_handle_pdata(data);
|
||||
|
||||
/* Backup to memory */
|
||||
mxt_write_object(data, MXT_GEN_COMMAND_T6,
|
||||
MXT_COMMAND_BACKUPNV,
|
||||
|
Reference in New Issue
Block a user