On Wed, 2013-04-03 at 16:02 +0200, Fabio Baltieri wrote: > Since regulator_enable() is going to be marked as __must_check in the > next merge window, always check regulator_enable() return value and > print a warning if it fails. Could go bananas with this and all kinds of recovery schemes, but nah.. Looks good to me. FWIW, Reviewed-by: Kalle Jokiniemi <kalle.jokiniemi@xxxxxxxxxxxxxxx> > > Cc: Kalle Jokiniemi <kalle.jokiniemi@xxxxxxxxxxxxxxx> > Signed-off-by: Fabio Baltieri <fabio.baltieri@xxxxxxxxxx> > --- > drivers/usb/phy/phy-twl4030-usb.c | 18 +++++++++++++++--- > 1 file changed, 15 insertions(+), 3 deletions(-) > > diff --git a/drivers/usb/phy/phy-twl4030-usb.c b/drivers/usb/phy/phy-twl4030-usb.c > index 3f9858f..13e17ae 100644 > --- a/drivers/usb/phy/phy-twl4030-usb.c > +++ b/drivers/usb/phy/phy-twl4030-usb.c > @@ -384,9 +384,17 @@ static void __twl4030_phy_power(struct twl4030_usb *twl, int on) > > static void twl4030_phy_power(struct twl4030_usb *twl, int on) > { > + int ret; > + > if (on) { > - regulator_enable(twl->usb3v1); > - regulator_enable(twl->usb1v8); > + ret = regulator_enable(twl->usb3v1); > + if (ret) > + dev_err(twl->dev, "Failed to enable usb3v1\n"); > + > + ret = regulator_enable(twl->usb1v8); > + if (ret) > + dev_err(twl->dev, "Failed to enable usb1v8\n"); > + > /* > * Disabling usb3v1 regulator (= writing 0 to VUSB3V1_DEV_GRP > * in twl4030) resets the VUSB_DEDICATED2 register. This reset > @@ -395,7 +403,11 @@ static void twl4030_phy_power(struct twl4030_usb *twl, int on) > * is re-activated. This ensures that VUSB3V1 is really active. > */ > twl_i2c_write_u8(TWL_MODULE_PM_RECEIVER, 0, VUSB_DEDICATED2); > - regulator_enable(twl->usb1v5); > + > + ret = regulator_enable(twl->usb1v5); > + if (ret) > + dev_err(twl->dev, "Failed to enable usb1v5\n"); > + > __twl4030_phy_power(twl, 1); > twl4030_usb_write(twl, PHY_CLK_CTRL, > twl4030_usb_read(twl, PHY_CLK_CTRL) | -- 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