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>;
        };
      };

Reply via email to