On Wed, Jun 17, 2020 at 05:27:12PM +0530, Sumit Semwal wrote: > On Wed, 17 Jun 2020 at 17:17, Mark Brown wrote: > > On Wed, Jun 17, 2020 at 05:12:35PM +0530, Sumit Semwal wrote: > > > I understand from a pure regulators' correctness point of view, > > > ENABLE_CTL should be the one checked there, so I can change the patch > > > as you suggested, but there seems to be some performance penalty > > > there. > > I thought the goal was to have the performance penalty to ensure that > > the regulator had actually started? > IMHO, with the poll_enabled_time mechanism added, we would not need to > wait for the full enabled_time time for the regulator to get enabled, > but we could poll (and potentially know earlier) if the regulator is > enabled. > The performance penalty I was talking, is about how should we check if > the regulator is really enabled or not - via reading the STATUS1 > register, which seems to tell the status a bit faster, or via reading > the ENABLE_CTL register which we also use to enable/disable the > regulator, but which seems to be slower in updating the status. That seems... interesting. Are you sure the regulator has fully ramped when STATUS1 starts flagging? > > > > > The WARN_ON? This was suggested by Bjorn to catch the case where the > > > > > DT binding for a PMIC instantiates only one of the regulators. > > > > No, this whole loop - why this whole match and get child stuff? > > > This loop mechanism is what I saw in the other qcom regulators > > > upstream, so thought it was an acceptable way. > > > For the two children nodes, do you recommend another mechanism to get > > > and validate both nodes? > > I don't understand what you mean by "two children nodes" here? > The two 'lab' and 'ibb' regulator nodes that are part of the labibb node. Use of_match and regulators_node like other regulator drivers.