On Thu, Oct 10, 2019 at 03:05:24PM +0000, Sa, Nuno wrote: > On Thu, 2019-10-10 at 15:05 +0100, Mark Brown wrote: > > You could use regulator_bulk_enable() here (and similarly on > > disable) but it doesn't fundamentally matter - they do guarantee > > that they'll do things in sequence, though they don't wait for > > the ramp to complete before kicking off the next enable in the > > sequence which can be an issue for some hardware. > Yes, regulator_bulk_enable() could fit. The only thing that worries me > is that we only check for errors returned from regulator_enable() after > all async work is done (which is probably what you mean by "they don't > wait for the ramp to complete before kicking off the next enable...") > which could leave us with DVDD applied without IOVDD for a short amount > of time. I'm not sure this would be a really issue and that would > damage the HW, but from what I can tell from the datasheet, It's not > advised to apply DVDD without IOVDD. Yeah, exactly. OTOH things like that (especially for brief time periods) are much more likely to result in the chip being in some weird state on init which won't matter if we immediately power off than anything else. Like I say it's not a requirement to use bulk operations.