On Wed, Nov 13, 2013 at 04:41:23PM -0700, Stephen Warren wrote: > On 11/13/2013 03:29 PM, Mark Brown wrote: > > In theory. In practice people often add bindings for devices without > > including the regulators and then someone comes along and adds the > > regulators later, perhaps not even using a system with DT, and renders > > all existing DTs buggy. This is generally miserable for everyone so > > it's better if we're liberal in what we accept. > But that's a per-binding issue. Earlier, you wrote: No, it's an issue that affects running systems every time a binding gets updated. The binding doesn't care. > That sounds like a system-global flag, not a per-device/binding flag. > Has the conversation shifted topics? And indeed, I've been talking about > the system-global has_full_constraints flag all along here. Yes, this is a behaviour which is implemented by the system in order to help keep device trees valid. > But the regulator code already calls of_have_populated_dt() in order to > determine whether to set has_full_constraints = true; The only issue is > that it does it too late. If of_have_populated_dt() is the flag that the > code should key off, what's wrong with the suggestion I made yesterday > to simply move the existing code (that uses of_have_populated_dt()) to > an earlier location? This is a third suggestion which is to check have_populated_dt() at use time not at some random point during initialisation which may or may not be the right one. And someone needs to check that this is actually the check we want to use earlier on.