On Wed, Apr 27, 2016 at 06:25:16PM +0800, Jisheng Zhang wrote: > On Wed, 27 Apr 2016 10:57:39 +0100 Mark Brown wrote: > > On Wed, Apr 27, 2016 at 08:37:20AM +0300, Felipe Balbi wrote: > > > > + vbus = devm_regulator_get(&pdev->dev, "vbus"); > > > devm_regulator_get_optional() ?? > > Does USB work without a VBUS? Unless the answer is yes then I'd expect > > this to be just a normal regulator_get(). > Per spec no. But the vbus may be transparent to SW on some platforms, so I > think devm_regulator_get_optional() is better. Really, no. If it's physically there the software needs to be written as such. Please see the documentation and list archives for extensive discussion on this topic. > > This is all completely broken unless the supply is optional. > The supply is optional. To repeat a supply is only optional if it might be physically absent.