summaryrefslogtreecommitdiffstats
path: root/kernel/drivers/input/mouse/elan_i2c_i2c.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/drivers/input/mouse/elan_i2c_i2c.c')
-rw-r--r--kernel/drivers/input/mouse/elan_i2c_i2c.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/kernel/drivers/input/mouse/elan_i2c_i2c.c b/kernel/drivers/input/mouse/elan_i2c_i2c.c
index a0acbbf83..a679e56c4 100644
--- a/kernel/drivers/input/mouse/elan_i2c_i2c.c
+++ b/kernel/drivers/input/mouse/elan_i2c_i2c.c
@@ -259,7 +259,8 @@ static int elan_i2c_get_version(struct i2c_client *client,
return 0;
}
-static int elan_i2c_get_sm_version(struct i2c_client *client, u8 *version)
+static int elan_i2c_get_sm_version(struct i2c_client *client,
+ u8 *ic_type, u8 *version)
{
int error;
u8 val[3];
@@ -271,10 +272,11 @@ static int elan_i2c_get_sm_version(struct i2c_client *client, u8 *version)
}
*version = val[0];
+ *ic_type = val[1];
return 0;
}
-static int elan_i2c_get_product_id(struct i2c_client *client, u8 *id)
+static int elan_i2c_get_product_id(struct i2c_client *client, u16 *id)
{
int error;
u8 val[3];
@@ -285,7 +287,7 @@ static int elan_i2c_get_product_id(struct i2c_client *client, u8 *id)
return error;
}
- *id = val[0];
+ *id = le16_to_cpup((__le16 *)val);
return 0;
}