Dear Mark, 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: > > Jisheng Zhang <jszhang@xxxxxxxxxxx> writes: > > > > + 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. > > > > > > + if (PTR_ERR(vbus) == -ENODEV) { > > > + vbus = NULL; > > > + } else if (IS_ERR(vbus)) { > > > + ret = PTR_ERR(vbus); > > > + goto disable_clk; > > > + } else if (vbus) { > > > + ret = regulator_enable(vbus); > > > + if (ret) { > > > + dev_err(&pdev->dev, > > > + "failed to enable usb vbus regulator: %d\n", > > > + ret); > > > + goto disable_clk; > > > + } > > > + } > > This is all completely broken unless the supply is optional. The supply is optional. Thanks for your review, Jisheng -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html