power: max17048: fix bug in version check func
Hyongbin Kim [Wed, 24 Jul 2013 12:03:43 +0000 (21:03 +0900)]
1. Add 0x12 version value in max17048_check_battery().
2. remove duplicate call swab16 in max17048_get_version().
3. call max17048_get_version() in probe fuction instead of
max17048_check_battery().

max17048_check_battery() doesn't return version.
using max17048_get_version() is right.

Change-Id: Ie039e1bcffd5b2fb8080f6b3f25bbfc51d52990e
Signed-off-by: Hyongbin Kim <hyongbink@nvidia.com>
Reviewed-on: http://git-master/r/252892
(cherry picked from commit 4d914a5bee3f2327fac46db7d49e23e56d9e1991)
Reviewed-on: http://git-master/r/271358
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>

drivers/power/max17048_battery.c

index 2feb3f3..c34eb8a 100644 (file)
@@ -44,7 +44,8 @@
 #define MAX17048_DELAY      (30*HZ)
 #define MAX17048_BATTERY_FULL  100
 #define MAX17048_BATTERY_LOW   15
-#define MAX17048_VERSION_NO    0x11
+#define MAX17048_VERSION_NO_11 0x11
+#define MAX17048_VERSION_NO_12 0x12
 
 /* MAX17048 ALERT interrupts */
 #define MAX17048_STATUS_RI             0x0100 /* reset */
@@ -258,7 +259,7 @@ static void max17048_get_soc(struct i2c_client *client)
 
 static uint16_t max17048_get_version(struct i2c_client *client)
 {
-       return swab16(max17048_read_word(client, MAX17048_VER));
+       return max17048_read_word(client, MAX17048_VER);
 }
 
 static void max17048_work(struct work_struct *work)
@@ -492,9 +493,11 @@ int max17048_check_battery()
                return -ENODEV;
 
        version = max17048_get_version(max17048_data->client);
-       if (version != MAX17048_VERSION_NO) {
+       if ((version != MAX17048_VERSION_NO_11) &&
+               (version != MAX17048_VERSION_NO_12)) {
                return -ENODEV;
        }
+
        return 0;
 }
 EXPORT_SYMBOL_GPL(max17048_check_battery);
@@ -713,11 +716,7 @@ static int __devinit max17048_probe(struct i2c_client *client,
        chip->shutdown_complete = 0;
        i2c_set_clientdata(client, chip);
 
-       version = max17048_check_battery();
-       if (version < 0) {
-               ret = -ENODEV;
-               goto error2;
-       }
+       version = max17048_get_version(client);
        dev_info(&client->dev, "MAX17048 Fuel-Gauge Ver 0x%x\n", version);
 
        ret = max17048_initialize(chip);