Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

usb: phy: twl4030-usb: check regulator_enable return value

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.

Reviewed-by: Kalle Jokiniemi <kalle.jokiniemi@jollamobile.com>
Signed-off-by: Fabio Baltieri <fabio.baltieri@linaro.org>
Signed-off-by: Felipe Balbi <balbi@ti.com>

authored by

Fabio Baltieri and committed by
Felipe Balbi
9ec602ec 88b1c78d

+15 -3
+15 -3
drivers/usb/phy/phy-twl4030-usb.c
··· 384 384 385 385 static void twl4030_phy_power(struct twl4030_usb *twl, int on) 386 386 { 387 + int ret; 388 + 387 389 if (on) { 388 - regulator_enable(twl->usb3v1); 389 - regulator_enable(twl->usb1v8); 390 + ret = regulator_enable(twl->usb3v1); 391 + if (ret) 392 + dev_err(twl->dev, "Failed to enable usb3v1\n"); 393 + 394 + ret = regulator_enable(twl->usb1v8); 395 + if (ret) 396 + dev_err(twl->dev, "Failed to enable usb1v8\n"); 397 + 390 398 /* 391 399 * Disabling usb3v1 regulator (= writing 0 to VUSB3V1_DEV_GRP 392 400 * in twl4030) resets the VUSB_DEDICATED2 register. This reset ··· 403 395 * is re-activated. This ensures that VUSB3V1 is really active. 404 396 */ 405 397 twl_i2c_write_u8(TWL_MODULE_PM_RECEIVER, 0, VUSB_DEDICATED2); 406 - regulator_enable(twl->usb1v5); 398 + 399 + ret = regulator_enable(twl->usb1v5); 400 + if (ret) 401 + dev_err(twl->dev, "Failed to enable usb1v5\n"); 402 + 407 403 __twl4030_phy_power(twl, 1); 408 404 twl4030_usb_write(twl, PHY_CLK_CTRL, 409 405 twl4030_usb_read(twl, PHY_CLK_CTRL) |