diff options
Diffstat (limited to 'drivers/regulator/max8649.c')
-rw-r--r-- | drivers/regulator/max8649.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/regulator/max8649.c b/drivers/regulator/max8649.c index 3ebdf698c648..bfc4c5ffdc96 100644 --- a/drivers/regulator/max8649.c +++ b/drivers/regulator/max8649.c | |||
@@ -14,6 +14,7 @@ | |||
14 | #include <linux/i2c.h> | 14 | #include <linux/i2c.h> |
15 | #include <linux/platform_device.h> | 15 | #include <linux/platform_device.h> |
16 | #include <linux/regulator/driver.h> | 16 | #include <linux/regulator/driver.h> |
17 | #include <linux/slab.h> | ||
17 | #include <linux/regulator/max8649.h> | 18 | #include <linux/regulator/max8649.h> |
18 | 19 | ||
19 | #define MAX8649_DCDC_VMIN 750000 /* uV */ | 20 | #define MAX8649_DCDC_VMIN 750000 /* uV */ |
@@ -356,6 +357,7 @@ static int __devinit max8649_regulator_probe(struct i2c_client *client, | |||
356 | dev_info(info->dev, "Max8649 regulator device is detected.\n"); | 357 | dev_info(info->dev, "Max8649 regulator device is detected.\n"); |
357 | return 0; | 358 | return 0; |
358 | out: | 359 | out: |
360 | i2c_set_clientdata(client, NULL); | ||
359 | kfree(info); | 361 | kfree(info); |
360 | return ret; | 362 | return ret; |
361 | } | 363 | } |
@@ -367,9 +369,9 @@ static int __devexit max8649_regulator_remove(struct i2c_client *client) | |||
367 | if (info) { | 369 | if (info) { |
368 | if (info->regulator) | 370 | if (info->regulator) |
369 | regulator_unregister(info->regulator); | 371 | regulator_unregister(info->regulator); |
372 | i2c_set_clientdata(client, NULL); | ||
370 | kfree(info); | 373 | kfree(info); |
371 | } | 374 | } |
372 | i2c_set_clientdata(client, NULL); | ||
373 | 375 | ||
374 | return 0; | 376 | return 0; |
375 | } | 377 | } |