On Thu, Sep 15, 2016 at 08:38:44PM +0530, Viresh Kumar wrote: > On 15-09-16, 15:47, Mark Brown wrote: > > On Thu, Sep 15, 2016 at 04:47:01PM +0530, Viresh Kumar wrote: > > > Fix the kernel warnings and crashes by moving away from managed > > > regulator bulk get API by using regulator_bulk_get() and explicitly > > > calling regulator_put() for all the supplies in exit paths. > > Moving away from regulator bulk get to regulator bulk get? > Moving away from "managed" regulator bulk get to regulator bulk get? > Isn't this how we call the devm_* APIs as? That's really unclearly worded (especially since one uses the function name and the other doesn't). > > > - ret = devm_regulator_bulk_get(wm8994->dev, wm8994->num_supplies, > > > + ret = regulator_bulk_get(wm8994->dev, wm8994->num_supplies, > > > wm8994->supplies); > > > +err_regulator_put: > > > + for (i = wm8994->num_supplies - 1; i >= 0; i--) > > > + regulator_put(wm8994->supplies[i].consumer); > > Why are you unwinding regulator_bulk_get() with an open coded > > regulator_bulk_put()? > Because there is no regulator_bulk_put(). Should I add it? I mean regulator_bulk_free() there.