diff options
-rw-r--r-- | drivers/regulator/axp20x-regulator.c | 6 | ||||
-rw-r--r-- | drivers/regulator/cpcap-regulator.c | 8 | ||||
-rw-r--r-- | drivers/regulator/of_regulator.c | 2 |
3 files changed, 12 insertions, 4 deletions
diff --git a/drivers/regulator/axp20x-regulator.c b/drivers/regulator/axp20x-regulator.c index e2608fe770b9..f18b36dd57dd 100644 --- a/drivers/regulator/axp20x-regulator.c +++ b/drivers/regulator/axp20x-regulator.c | |||
@@ -691,6 +691,9 @@ static int axp20x_regulator_probe(struct platform_device *pdev) | |||
691 | (regulators == axp809_regulators && i == AXP809_DC1SW)) { | 691 | (regulators == axp809_regulators && i == AXP809_DC1SW)) { |
692 | new_desc = devm_kzalloc(&pdev->dev, sizeof(*desc), | 692 | new_desc = devm_kzalloc(&pdev->dev, sizeof(*desc), |
693 | GFP_KERNEL); | 693 | GFP_KERNEL); |
694 | if (!new_desc) | ||
695 | return -ENOMEM; | ||
696 | |||
694 | *new_desc = regulators[i]; | 697 | *new_desc = regulators[i]; |
695 | new_desc->supply_name = dcdc1_name; | 698 | new_desc->supply_name = dcdc1_name; |
696 | desc = new_desc; | 699 | desc = new_desc; |
@@ -700,6 +703,9 @@ static int axp20x_regulator_probe(struct platform_device *pdev) | |||
700 | (regulators == axp809_regulators && i == AXP809_DC5LDO)) { | 703 | (regulators == axp809_regulators && i == AXP809_DC5LDO)) { |
701 | new_desc = devm_kzalloc(&pdev->dev, sizeof(*desc), | 704 | new_desc = devm_kzalloc(&pdev->dev, sizeof(*desc), |
702 | GFP_KERNEL); | 705 | GFP_KERNEL); |
706 | if (!new_desc) | ||
707 | return -ENOMEM; | ||
708 | |||
703 | *new_desc = regulators[i]; | 709 | *new_desc = regulators[i]; |
704 | new_desc->supply_name = dcdc5_name; | 710 | new_desc->supply_name = dcdc5_name; |
705 | desc = new_desc; | 711 | desc = new_desc; |
diff --git a/drivers/regulator/cpcap-regulator.c b/drivers/regulator/cpcap-regulator.c index cc98aceed1c1..ce1cab320f6f 100644 --- a/drivers/regulator/cpcap-regulator.c +++ b/drivers/regulator/cpcap-regulator.c | |||
@@ -77,6 +77,8 @@ | |||
77 | #define CPCAP_BIT_VAUDIO_MODE0 BIT(1) | 77 | #define CPCAP_BIT_VAUDIO_MODE0 BIT(1) |
78 | #define CPCAP_BIT_V_AUDIO_EN BIT(0) | 78 | #define CPCAP_BIT_V_AUDIO_EN BIT(0) |
79 | 79 | ||
80 | #define CPCAP_BIT_AUDIO_NORMAL_MODE 0x00 | ||
81 | |||
80 | /* | 82 | /* |
81 | * Off mode configuration bit. Used currently only by SW5 on omap4. There's | 83 | * Off mode configuration bit. Used currently only by SW5 on omap4. There's |
82 | * the following comment in Motorola Linux kernel tree for it: | 84 | * the following comment in Motorola Linux kernel tree for it: |
@@ -217,7 +219,7 @@ static unsigned int cpcap_regulator_get_mode(struct regulator_dev *rdev) | |||
217 | 219 | ||
218 | regmap_read(rdev->regmap, rdev->desc->enable_reg, &value); | 220 | regmap_read(rdev->regmap, rdev->desc->enable_reg, &value); |
219 | 221 | ||
220 | if (!(value & CPCAP_BIT_AUDIO_LOW_PWR)) | 222 | if (value & CPCAP_BIT_AUDIO_LOW_PWR) |
221 | return REGULATOR_MODE_STANDBY; | 223 | return REGULATOR_MODE_STANDBY; |
222 | 224 | ||
223 | return REGULATOR_MODE_NORMAL; | 225 | return REGULATOR_MODE_NORMAL; |
@@ -230,10 +232,10 @@ static int cpcap_regulator_set_mode(struct regulator_dev *rdev, | |||
230 | 232 | ||
231 | switch (mode) { | 233 | switch (mode) { |
232 | case REGULATOR_MODE_NORMAL: | 234 | case REGULATOR_MODE_NORMAL: |
233 | value = CPCAP_BIT_AUDIO_LOW_PWR; | 235 | value = CPCAP_BIT_AUDIO_NORMAL_MODE; |
234 | break; | 236 | break; |
235 | case REGULATOR_MODE_STANDBY: | 237 | case REGULATOR_MODE_STANDBY: |
236 | value = 0; | 238 | value = CPCAP_BIT_AUDIO_LOW_PWR; |
237 | break; | 239 | break; |
238 | default: | 240 | default: |
239 | return -EINVAL; | 241 | return -EINVAL; |
diff --git a/drivers/regulator/of_regulator.c b/drivers/regulator/of_regulator.c index 96bf75458da5..9dd44dd4cdf6 100644 --- a/drivers/regulator/of_regulator.c +++ b/drivers/regulator/of_regulator.c | |||
@@ -333,7 +333,7 @@ struct regulator_init_data *regulator_of_get_init_data(struct device *dev, | |||
333 | search = of_get_child_by_name(dev->of_node, | 333 | search = of_get_child_by_name(dev->of_node, |
334 | desc->regulators_node); | 334 | desc->regulators_node); |
335 | else | 335 | else |
336 | search = dev->of_node; | 336 | search = of_node_get(dev->of_node); |
337 | 337 | ||
338 | if (!search) { | 338 | if (!search) { |
339 | dev_dbg(dev, "Failed to find regulator container node '%s'\n", | 339 | dev_dbg(dev, "Failed to find regulator container node '%s'\n", |