Re: [PATCH 3/5] mfd: arizona: Don't use devres for DCVDD

Charles Keepax
2014-06-17T15:17:58Z

On Tue, Jun 17, 2014 at 03:36:10PM +0100, Lee Jones wrote:
> On Mon, 02 Jun 2014, Charles Keepax wrote:
>
> > Currently the Arizona core uses a devm_regulator_get against its own
> > device node to obtain DCVDD. The Arizona core is an MFD device and DCVDD
> > is usually supplied by a child node (arizona-ldo1) of the core. As
> > devres destruction for the MFD device will run after all its children
> > have been destroyed, the regulator will be destroyed before devres
> > calls regulator_put. This causes a warning from both the destruction of
> > the child node, as the regulator is still open, and from the put of the
> > regulator as the regulator device has already been destroyed.
> >
> > This patch handles the regulator get and put without devres to avoid
> > this issue.
> >
> > Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
> > ---
> > drivers/mfd/arizona-core.c | 9 ++++++---
> > 1 files changed, 6 insertions(+), 3 deletions(-)
>
> For the fear of someone coming along and undoing this work, can you
> write a nice succinct comment above regulator_get() that describes why
> you're not using managed resources as a subsequent patch please?
>
> Patch applied though.

Good point I should have thought to do that myself, I will get a
patch out for this shortly.

Thanks,
Charles