diff options
Diffstat (limited to 'kernel/drivers/input/mouse/elan_i2c_i2c.c')
-rw-r--r-- | kernel/drivers/input/mouse/elan_i2c_i2c.c | 8 |
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; } |