Use devm_add_action_or_reset to remove the call to
tsl2772_disable_regulators_action to simplify the error path.
Signed-off-by: Chuhong Yuan <[email protected]>
---
Changes in v4:
- Split v3 into three patches.
- Revise description to make it more precise.
drivers/iio/light/tsl2772.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/iio/light/tsl2772.c b/drivers/iio/light/tsl2772.c
index 83cece921843..29cfd8ae2700 100644
--- a/drivers/iio/light/tsl2772.c
+++ b/drivers/iio/light/tsl2772.c
@@ -1807,10 +1807,10 @@ static int tsl2772_probe(struct i2c_client *clientp,
return PTR_ERR(chip->vdd_supply);
}
- ret = devm_add_action(&clientp->dev, tsl2772_disable_regulators_action,
- chip);
+ ret = devm_add_action_or_reset(&clientp->dev,
+ tsl2772_disable_regulators_action,
+ chip);
if (ret < 0) {
- tsl2772_disable_regulators_action(chip);
dev_err(&clientp->dev, "Failed to setup regulator cleanup action %d\n",
ret);
return ret;
--
2.20.1
On Thu, Aug 01, 2019 at 03:35:57PM +0800, Chuhong Yuan wrote:
> Use devm_add_action_or_reset to remove the call to
> tsl2772_disable_regulators_action to simplify the error path.
>
> Signed-off-by: Chuhong Yuan <[email protected]>
For the whole series:
Reviewed-by: Brian Masney <[email protected]>
I forgot to mention this before, but next time please use a cover letter
if you're sending more than one patch: git format-patch --cover-letter.
Brian
> ---
> Changes in v4:
> - Split v3 into three patches.
> - Revise description to make it more precise.
>
> drivers/iio/light/tsl2772.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/iio/light/tsl2772.c b/drivers/iio/light/tsl2772.c
> index 83cece921843..29cfd8ae2700 100644
> --- a/drivers/iio/light/tsl2772.c
> +++ b/drivers/iio/light/tsl2772.c
> @@ -1807,10 +1807,10 @@ static int tsl2772_probe(struct i2c_client *clientp,
> return PTR_ERR(chip->vdd_supply);
> }
>
> - ret = devm_add_action(&clientp->dev, tsl2772_disable_regulators_action,
> - chip);
> + ret = devm_add_action_or_reset(&clientp->dev,
> + tsl2772_disable_regulators_action,
> + chip);
> if (ret < 0) {
> - tsl2772_disable_regulators_action(chip);
> dev_err(&clientp->dev, "Failed to setup regulator cleanup action %d\n",
> ret);
> return ret;
> --
> 2.20.1
On Thu, Aug 01, 2019 at 05:33:47AM -0400, Brian Masney wrote:
> On Thu, Aug 01, 2019 at 03:35:57PM +0800, Chuhong Yuan wrote:
> > Use devm_add_action_or_reset to remove the call to
> > tsl2772_disable_regulators_action to simplify the error path.
> >
> > Signed-off-by: Chuhong Yuan <[email protected]>
>
> For the whole series:
>
> Reviewed-by: Brian Masney <[email protected]>
Oops, I forgot to add this as well:
Tested-by: Brian Masney <[email protected]>
I tested this on a Nexus 5 phone.
Brian
>
> I forgot to mention this before, but next time please use a cover letter
> if you're sending more than one patch: git format-patch --cover-letter.
>
> Brian
>
>
> > ---
> > Changes in v4:
> > - Split v3 into three patches.
> > - Revise description to make it more precise.
> >
> > drivers/iio/light/tsl2772.c | 6 +++---
> > 1 file changed, 3 insertions(+), 3 deletions(-)
> >
> > diff --git a/drivers/iio/light/tsl2772.c b/drivers/iio/light/tsl2772.c
> > index 83cece921843..29cfd8ae2700 100644
> > --- a/drivers/iio/light/tsl2772.c
> > +++ b/drivers/iio/light/tsl2772.c
> > @@ -1807,10 +1807,10 @@ static int tsl2772_probe(struct i2c_client *clientp,
> > return PTR_ERR(chip->vdd_supply);
> > }
> >
> > - ret = devm_add_action(&clientp->dev, tsl2772_disable_regulators_action,
> > - chip);
> > + ret = devm_add_action_or_reset(&clientp->dev,
> > + tsl2772_disable_regulators_action,
> > + chip);
> > if (ret < 0) {
> > - tsl2772_disable_regulators_action(chip);
> > dev_err(&clientp->dev, "Failed to setup regulator cleanup action %d\n",
> > ret);
> > return ret;
> > --
> > 2.20.1
On Thu, 1 Aug 2019 05:37:31 -0400
Brian Masney <[email protected]> wrote:
> On Thu, Aug 01, 2019 at 05:33:47AM -0400, Brian Masney wrote:
> > On Thu, Aug 01, 2019 at 03:35:57PM +0800, Chuhong Yuan wrote:
> > > Use devm_add_action_or_reset to remove the call to
> > > tsl2772_disable_regulators_action to simplify the error path.
> > >
> > > Signed-off-by: Chuhong Yuan <[email protected]>
> >
> > For the whole series:
> >
> > Reviewed-by: Brian Masney <[email protected]>
>
> Oops, I forgot to add this as well:
>
> Tested-by: Brian Masney <[email protected]>
>
> I tested this on a Nexus 5 phone.
>
> Brian
>
Applied to the togreg branch of iio.git and pushed out as testing.
Now the fact we have a fix in the middle of this series is
a bit unfortunate as it'll mean we need an explicit backport to
take that for stable.
Oh well, if anyone wants it up to them to do the work ;)
Thanks,
Jonathan
>
> >
> > I forgot to mention this before, but next time please use a cover letter
> > if you're sending more than one patch: git format-patch --cover-letter.
> >
> > Brian
> >
> >
> > > ---
> > > Changes in v4:
> > > - Split v3 into three patches.
> > > - Revise description to make it more precise.
> > >
> > > drivers/iio/light/tsl2772.c | 6 +++---
> > > 1 file changed, 3 insertions(+), 3 deletions(-)
> > >
> > > diff --git a/drivers/iio/light/tsl2772.c b/drivers/iio/light/tsl2772.c
> > > index 83cece921843..29cfd8ae2700 100644
> > > --- a/drivers/iio/light/tsl2772.c
> > > +++ b/drivers/iio/light/tsl2772.c
> > > @@ -1807,10 +1807,10 @@ static int tsl2772_probe(struct i2c_client *clientp,
> > > return PTR_ERR(chip->vdd_supply);
> > > }
> > >
> > > - ret = devm_add_action(&clientp->dev, tsl2772_disable_regulators_action,
> > > - chip);
> > > + ret = devm_add_action_or_reset(&clientp->dev,
> > > + tsl2772_disable_regulators_action,
> > > + chip);
> > > if (ret < 0) {
> > > - tsl2772_disable_regulators_action(chip);
> > > dev_err(&clientp->dev, "Failed to setup regulator cleanup action %d\n",
> > > ret);
> > > return ret;
> > > --
> > > 2.20.1