These changes are the raw update to linux-4.4.6-rt14. Kernel sources
[kvmfornfv.git] / kernel / drivers / input / mouse / elan_i2c_smbus.c
index 30ab80d..cb6aecb 100644 (file)
@@ -165,7 +165,8 @@ static int elan_smbus_get_version(struct i2c_client *client,
        return 0;
 }
 
-static int elan_smbus_get_sm_version(struct i2c_client *client, u8 *version)
+static int elan_smbus_get_sm_version(struct i2c_client *client,
+                                    u8 *ic_type, u8 *version)
 {
        int error;
        u8 val[3];
@@ -177,11 +178,12 @@ static int elan_smbus_get_sm_version(struct i2c_client *client, u8 *version)
                return error;
        }
 
-       *version = val[0]; /* XXX Why 0 and not 2 as in IAP/FW versions? */
+       *version = val[0];
+       *ic_type = val[1];
        return 0;
 }
 
-static int elan_smbus_get_product_id(struct i2c_client *client, u8 *id)
+static int elan_smbus_get_product_id(struct i2c_client *client, u16 *id)
 {
        int error;
        u8 val[3];
@@ -193,7 +195,7 @@ static int elan_smbus_get_product_id(struct i2c_client *client, u8 *id)
                return error;
        }
 
-       *id = val[1];
+       *id = be16_to_cpup((__be16 *)val);
        return 0;
 }