On Mon, Nov 18, 2019 at 08:29:49PM +0000, Mark Brown wrote: > On Mon, Nov 18, 2019 at 08:40:12PM +0100, Torsten Duwe wrote: > > > kernel: anx6345 0-0038: 0-0038 supply dvdd12-supply not found, using dummy regulator > > kernel: anx6345 0-0038: 0-0038 supply dvdd25-supply not found, using dummy regulator > > > DT has: > > dvdd25-supply = <®_dldo2>; > > dvdd12-supply = <®_dldo3>; Note these 4 lines... > > It's only that the regulator driver module has not fully loaded at that point. > > We substitute in the dummy regulator in regulator_get() if > regulator_dev_lookup() returns -ENODEV and a few other conditions are > satisfied. When lookup up via DT regulator_dev_lookup() will use > of_find_regulator_by_node() to look up the regulator, if that lookup > fails it returns -EPROBE_DEFER. Until we get to of_find_regulator_by_node() > we're just looking to see if nodes exist, not to see if anything is > registered. What mechanism do you see causing issues? If there's > something going wrong here it's in that area. First of all: thanks a lot! This has put me onto the right track. > As far as I can tell whatever is going on with your system it's only > ever been working through luck. Yes indeed. It turned out the regulators were still on from U-Boot and that code never worked. > Without any specific references to > what's going on in the system it's hard to tell what might be happening, Well, actually the 4 lines above give a good hint :) of_get_regulator() will look for "dvdd25-supply-supply". I'm fairly relieved that even you didn't spot this right away. The fix just went to dri-devel, you're Cc'ed. Unfortunately the documentation for this is buried in the git commit log. For the record: I'm still convinced that the original change can uncover bugs unexpectedly, and is not suited for -stable. Thanks for the help, and sorry for the non-standard nomenclature. Torsten