On 4/14/2016 2:38 PM, dinguyen@xxxxxxxxxxxxxxxxxxxxx wrote: > From: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> > > Allow for platforms that have a reset controller driver in place to bring > the USB IP out of reset. > > Signed-off-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> > --- > v5: updated error conditions for not finding the reset property > v4: use dev_dbg() if not a -EPROBE_DEFER > v3: fix compile error > v2: move to lowlevel_hw_init() > --- > drivers/usb/dwc2/core.h | 1 + > drivers/usb/dwc2/platform.c | 20 ++++++++++++++++++++ > 2 files changed, 21 insertions(+) > > diff --git a/drivers/usb/dwc2/core.h b/drivers/usb/dwc2/core.h > index 3c58d63..f748132 100644 > --- a/drivers/usb/dwc2/core.h > +++ b/drivers/usb/dwc2/core.h > @@ -837,6 +837,7 @@ struct dwc2_hsotg { > void *priv; > int irq; > struct clk *clk; > + struct reset_control *reset; > > unsigned int queuing_high_bandwidth:1; > unsigned int srp_success:1; > diff --git a/drivers/usb/dwc2/platform.c b/drivers/usb/dwc2/platform.c > index 88629be..2861c89 100644 > --- a/drivers/usb/dwc2/platform.c > +++ b/drivers/usb/dwc2/platform.c > @@ -45,6 +45,7 @@ > #include <linux/platform_device.h> > #include <linux/phy/phy.h> > #include <linux/platform_data/s3c-hsotg.h> > +#include <linux/reset.h> > > #include <linux/usb/of.h> > > @@ -337,6 +338,22 @@ static int dwc2_lowlevel_hw_init(struct dwc2_hsotg *hsotg) > { > int i, ret; > > + hsotg->reset = devm_reset_control_get(hsotg->dev, "dwc2"); > + if (IS_ERR(hsotg->reset)) { > + ret = PTR_ERR(hsotg->reset); > + switch (ret) { > + case -ENOENT: > + hsotg->reset = NULL; > + break; > + default: > + dev_err(hsotg->dev, "error getting reset control %d\n", ret); Please address checkpatch, line over 80 characters. Thanks, John -- 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