On Thu, Mar 28, 2024 at 06:18:32PM +0000, Mark Brown wrote: > On Thu, Mar 28, 2024 at 11:03:23AM -0700, Dmitry Torokhov wrote: > > > So because we decided that we could not have devm_regulator_enable() > > because of (IMO) contrived example of someone totally mixing up the devm > > and non-devm APIs we now have to make more and more devm- variants > > simply because we do not have access to the regulator structure with > > devm_regulator_get_enable() and so all normal APIs are not available. > > I don't follow what you're saying here? What normal APIs are not > available? AFAICT this has nothing to do with a devm enable, it's a > combined operation which reports the voltage for the regulator if one is > available which would still be being added even if it used a devm > enable. You can not do devm_regulator_get_enable() and then call regulator_get_voltage(), you need a new combined API. > > > This is quite bad honestly. Mark, could we please reverse this > > shortsighted decision and have normal devm_regulator_enable() operating > > on a regulator? > > Nothing has changed here. Yes, unfortunately. We could have: reg = devm_regulator_get(...); ... err = devm_regulator_enable(dev, reg); ... err = regulator_get_voltage(reg); and not multiply APIs, but we do not have devm_regulator_enable(). Thanks. -- Dmitry