On Thu, Oct 29, 2020 at 03:28:43PM +0000, Mark Brown wrote: > On Thu, Oct 29, 2020 at 04:15:38PM +0100, Vincent Whitchurch wrote: > > > + config.init_data = of_get_regulator_init_data(dev, dev->of_node, &da9121_reg); > > + if (!config.init_data) > > + return -ENOMEM; > > Don't do this, the core can do the DT bit for you and there is no reason > not to register the device if there are no constraints. -ENOMEM would > also be the wrong error code here. OK, thanks. I see that I can get the core to do it if I set ->of_match on the regulator_desc. I also see that there is some flexibility about the placement of the constraints (desc->regulators_node is optional). This chip has only one output which the datasheet calls Buck1, so I will remove this call and set the desc.of_match field to get the driver to support a node which looks like this: regulator@68 { compatible = "dlg,da9121"; reg = <0x68>; buck1 { regulator-min-microvolt = <675000>; regulator-max-microvolt = <825000>; }; };