aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDuson Lin <dusonlin@emc.com.tw>2015-09-03 12:46:45 -0400
committerDmitry Torokhov <dmitry.torokhov@gmail.com>2015-09-03 13:00:16 -0400
commit58f1eae48e5372200553de07b5ecc7574803ee91 (patch)
tree78f3e9dd4eb025663cf7ec777aa17cec7dff6e08
parentd6f5aef298b5e5bd12e5d3ef111a4d0fc727ca70 (diff)
Input: elan_i2c - use iap_version to get firmware information
When driver is in IAP mode ic_type query may return 0xff. However iap_version will always be valid, so let's use it to determine parameters of the firmware that the controller is supposed to accept. Signed-off-by: Duson Lin <dusonlin@emc.com.tw> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
-rw-r--r--drivers/input/mouse/elan_i2c_core.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/drivers/input/mouse/elan_i2c_core.c b/drivers/input/mouse/elan_i2c_core.c
index d4a38caa1ab1..e2b7420eed97 100644
--- a/drivers/input/mouse/elan_i2c_core.c
+++ b/drivers/input/mouse/elan_i2c_core.c
@@ -4,7 +4,7 @@
4 * Copyright (c) 2013 ELAN Microelectronics Corp. 4 * Copyright (c) 2013 ELAN Microelectronics Corp.
5 * 5 *
6 * Author: 林政維 (Duson Lin) <dusonlin@emc.com.tw> 6 * Author: 林政維 (Duson Lin) <dusonlin@emc.com.tw>
7 * Version: 1.5.9 7 * Version: 1.6.0
8 * 8 *
9 * Based on cyapa driver: 9 * Based on cyapa driver:
10 * copyright (c) 2011-2012 Cypress Semiconductor, Inc. 10 * copyright (c) 2011-2012 Cypress Semiconductor, Inc.
@@ -40,7 +40,7 @@
40#include "elan_i2c.h" 40#include "elan_i2c.h"
41 41
42#define DRIVER_NAME "elan_i2c" 42#define DRIVER_NAME "elan_i2c"
43#define ELAN_DRIVER_VERSION "1.5.9" 43#define ELAN_DRIVER_VERSION "1.6.0"
44#define ETP_MAX_PRESSURE 255 44#define ETP_MAX_PRESSURE 255
45#define ETP_FWIDTH_REDUCE 90 45#define ETP_FWIDTH_REDUCE 90
46#define ETP_FINGER_WIDTH 15 46#define ETP_FINGER_WIDTH 15
@@ -94,10 +94,10 @@ struct elan_tp_data {
94 bool baseline_ready; 94 bool baseline_ready;
95}; 95};
96 96
97static int elan_get_fwinfo(u8 ic_type, u16 *validpage_count, 97static int elan_get_fwinfo(u8 iap_version, u16 *validpage_count,
98 u16 *signature_address) 98 u16 *signature_address)
99{ 99{
100 switch(ic_type) { 100 switch (iap_version) {
101 case 0x08: 101 case 0x08:
102 *validpage_count = 512; 102 *validpage_count = 512;
103 break; 103 break;
@@ -264,11 +264,11 @@ static int elan_query_device_info(struct elan_tp_data *data)
264 if (error) 264 if (error)
265 return error; 265 return error;
266 266
267 error = elan_get_fwinfo(data->ic_type, &data->fw_validpage_count, 267 error = elan_get_fwinfo(data->iap_version, &data->fw_validpage_count,
268 &data->fw_signature_address); 268 &data->fw_signature_address);
269 if (error) { 269 if (error) {
270 dev_err(&data->client->dev, 270 dev_err(&data->client->dev,
271 "unknown ic type %d\n", data->ic_type); 271 "unknown iap version %d\n", data->iap_version);
272 return error; 272 return error;
273 } 273 }
274 274