Messages in this thread | | | Date | Fri, 21 Feb 2014 15:54:38 +0530 | Subject | Re: [PATCH] regulator: max14577: Fix invalid return value on DT parse success | From | Sachin Kamat <> |
| |
Hi Krzysztof,
On 20 February 2014 20:49, Krzysztof Kozlowski <k.kozlowski@samsung.com> wrote: > This fixes bug introduced in 667a6b7a (regulator: max14577: Add missing > of_node_put). The DTS parsing function returned number of matched > regulators as success status which then was compared against 0 in probe. > > Result was a probe fail after successful parsing the DTS: > max14577-regulator: probe of max14577-regulator failed with error 2 > > Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com> > --- > drivers/regulator/max14577.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/drivers/regulator/max14577.c b/drivers/regulator/max14577.c > index 186df8785a91..6ba11a8dd23d 100644 > --- a/drivers/regulator/max14577.c > +++ b/drivers/regulator/max14577.c > @@ -168,11 +168,13 @@ static int max14577_regulator_dt_parse_pdata(struct platform_device *pdev) > MAX14577_REG_MAX); > if (ret < 0) { > dev_err(&pdev->dev, "Error parsing regulator init data: %d\n", ret); > + of_node_put(np); > + return ret; > } > > of_node_put(np); > > - return ret; > + return 0; > }
Instead of so many changes here, you could simply make the following change in the max14577_regulator_probe function.
ret = max14577_regulator_dt_parse_pdata(pdev); if (ret < 0) return ret;
-- With warm regards, Sachin
| |