On Tue, Sep 06, 2016 at 10:45:19AM +0300, Felipe Balbi wrote: > Stefan Agner writes: > > According to the device tree bindings the vcc-supply is optional. This is nonsense unless the device can work without this supply. Given that the supply is called VCC that doesn't seem entirely likely. > > + nop->vcc = devm_regulator_get_optional(dev, "vcc"); > > if (IS_ERR(nop->vcc)) { > > dev_dbg(dev, "Error getting vcc regulator: %ld\n", > > PTR_ERR(nop->vcc)); > > - if (needs_vcc) > > - return -EPROBE_DEFER; > > + if (needs_vcc || PTR_ERR(nop->vcc) == -EPROBE_DEFER) > > + return PTR_ERR(nop->vcc); > does this look okay from a regulator API perspective? That's how to use _get_optional() but it's really unusual that you should be using _get_optional().