On Wed, 2020-01-15 at 14:13 +0000, Bryan O'Donoghue wrote: > From: Jorge Ramirez-Ortiz <jorge.ramirez-ortiz@xxxxxxxxxx> > > Controls Qualcomm's SS phy 1.0.0 implemented in the QCS404 and some > other Qualcomm platforms. > > Based on Sriharsha Allenki's <sallenki@xxxxxxxxxxxxxx> original code. > > [bod: Removed dependency on extcon. > Switched to gpio-usb-conn to handle VBUS On/Off > Switched to usb-role-switch to bind gpio-usb-conn to DWC3] > Signed-off-by: Jorge Ramirez-Ortiz <jorge.ramirez-ortiz@xxxxxxxxxx> > Cc: Jorge Ramirez-Ortiz <jorge.ramirez.ortiz@xxxxxxxxx> > Cc: Sriharsha Allenki's <sallenki@xxxxxxxxxxxxxx> > Cc: Andy Gross <agross@xxxxxxxxxx> > Cc: Bjorn Andersson <bjorn.andersson@xxxxxxxxxx> > Cc: Kishon Vijay Abraham I <kishon@xxxxxx> > Cc: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> > Cc: linux-arm-msm@xxxxxxxxxxxxxxx > Cc: linux-kernel@xxxxxxxxxxxxxxx > Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@xxxxxxxxxx> > --- > drivers/phy/qualcomm/Kconfig | 11 ++ > drivers/phy/qualcomm/Makefile | 1 + > drivers/phy/qualcomm/phy-qcom-usb-ss.c | 246 +++++++++++++++++++++++++ > 3 files changed, 258 insertions(+) > create mode 100644 drivers/phy/qualcomm/phy-qcom-usb-ss.c > [...] > diff --git a/drivers/phy/qualcomm/phy-qcom-usb-ss.c b/drivers/phy/qualcomm/phy-qcom-usb-ss.c > new file mode 100644 > index 000000000000..109e455cb509 > --- /dev/null > +++ b/drivers/phy/qualcomm/phy-qcom-usb-ss.c > @@ -0,0 +1,246 @@ [...] > +static int qcom_ssphy_init_reset(struct ssphy_priv *priv) > +{ > + priv->reset_com = devm_reset_control_get_optional(priv->dev, "com"); Please use devm_reset_control_get_optional_exclusive() here ... > + if (IS_ERR(priv->reset_com)) { > + dev_err(priv->dev, "Failed to get reset control com\n"); > + return PTR_ERR(priv->reset_com); > + } > + > + if (priv->reset_com) { > + /* if reset_com is present, reset_phy is no longer optional */ > + priv->reset_phy = devm_reset_control_get(priv->dev, "phy"); ... and devm_reset_control_get_exclusive() here. regards Philipp