diff options
| -rw-r--r-- | drivers/regulator/core.c | 3 | ||||
| -rw-r--r-- | drivers/regulator/fixed.c | 5 | ||||
| -rw-r--r-- | drivers/regulator/wm831x-ldo.c | 6 |
3 files changed, 7 insertions, 7 deletions
diff --git a/drivers/regulator/core.c b/drivers/regulator/core.c index 744ea1d0b59b..efe568deda12 100644 --- a/drivers/regulator/core.c +++ b/drivers/regulator/core.c | |||
| @@ -1283,7 +1283,8 @@ static int _regulator_disable(struct regulator_dev *rdev) | |||
| 1283 | return -EIO; | 1283 | return -EIO; |
| 1284 | 1284 | ||
| 1285 | /* are we the last user and permitted to disable ? */ | 1285 | /* are we the last user and permitted to disable ? */ |
| 1286 | if (rdev->use_count == 1 && !rdev->constraints->always_on) { | 1286 | if (rdev->use_count == 1 && |
| 1287 | (rdev->constraints && !rdev->constraints->always_on)) { | ||
| 1287 | 1288 | ||
| 1288 | /* we are last user */ | 1289 | /* we are last user */ |
| 1289 | if (_regulator_can_change_status(rdev) && | 1290 | if (_regulator_can_change_status(rdev) && |
diff --git a/drivers/regulator/fixed.c b/drivers/regulator/fixed.c index f8b295700d7d..f9f516a3028a 100644 --- a/drivers/regulator/fixed.c +++ b/drivers/regulator/fixed.c | |||
| @@ -196,11 +196,10 @@ static int regulator_fixed_voltage_remove(struct platform_device *pdev) | |||
| 196 | struct fixed_voltage_data *drvdata = platform_get_drvdata(pdev); | 196 | struct fixed_voltage_data *drvdata = platform_get_drvdata(pdev); |
| 197 | 197 | ||
| 198 | regulator_unregister(drvdata->dev); | 198 | regulator_unregister(drvdata->dev); |
| 199 | kfree(drvdata->desc.name); | ||
| 200 | kfree(drvdata); | ||
| 201 | |||
| 202 | if (gpio_is_valid(drvdata->gpio)) | 199 | if (gpio_is_valid(drvdata->gpio)) |
| 203 | gpio_free(drvdata->gpio); | 200 | gpio_free(drvdata->gpio); |
| 201 | kfree(drvdata->desc.name); | ||
| 202 | kfree(drvdata); | ||
| 204 | 203 | ||
| 205 | return 0; | 204 | return 0; |
| 206 | } | 205 | } |
diff --git a/drivers/regulator/wm831x-ldo.c b/drivers/regulator/wm831x-ldo.c index bb61aede4801..902db56ce099 100644 --- a/drivers/regulator/wm831x-ldo.c +++ b/drivers/regulator/wm831x-ldo.c | |||
| @@ -175,18 +175,18 @@ static unsigned int wm831x_gp_ldo_get_mode(struct regulator_dev *rdev) | |||
| 175 | struct wm831x *wm831x = ldo->wm831x; | 175 | struct wm831x *wm831x = ldo->wm831x; |
| 176 | int ctrl_reg = ldo->base + WM831X_LDO_CONTROL; | 176 | int ctrl_reg = ldo->base + WM831X_LDO_CONTROL; |
| 177 | int on_reg = ldo->base + WM831X_LDO_ON_CONTROL; | 177 | int on_reg = ldo->base + WM831X_LDO_ON_CONTROL; |
| 178 | unsigned int ret; | 178 | int ret; |
| 179 | 179 | ||
| 180 | ret = wm831x_reg_read(wm831x, on_reg); | 180 | ret = wm831x_reg_read(wm831x, on_reg); |
| 181 | if (ret < 0) | 181 | if (ret < 0) |
| 182 | return 0; | 182 | return ret; |
| 183 | 183 | ||
| 184 | if (!(ret & WM831X_LDO1_ON_MODE)) | 184 | if (!(ret & WM831X_LDO1_ON_MODE)) |
| 185 | return REGULATOR_MODE_NORMAL; | 185 | return REGULATOR_MODE_NORMAL; |
| 186 | 186 | ||
| 187 | ret = wm831x_reg_read(wm831x, ctrl_reg); | 187 | ret = wm831x_reg_read(wm831x, ctrl_reg); |
| 188 | if (ret < 0) | 188 | if (ret < 0) |
| 189 | return 0; | 189 | return ret; |
| 190 | 190 | ||
| 191 | if (ret & WM831X_LDO1_LP_MODE) | 191 | if (ret & WM831X_LDO1_LP_MODE) |
| 192 | return REGULATOR_MODE_STANDBY; | 192 | return REGULATOR_MODE_STANDBY; |
