It seems odd that this driver explicitly enables the vddcx regulator on probe along with the other regulators, but doesn't disable it again when the device is removed. This changes the remove callback to handle all three regulators the same way and disable them in the end. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> --- drivers/usb/phy/phy-msm-usb.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/usb/phy/phy-msm-usb.c b/drivers/usb/phy/phy-msm-usb.c index 570fd3433937..48fe48e5bf6d 100644 --- a/drivers/usb/phy/phy-msm-usb.c +++ b/drivers/usb/phy/phy-msm-usb.c @@ -2030,8 +2030,7 @@ static int msm_otg_remove(struct platform_device *pdev) clk_disable_unprepare(motg->clk); if (!IS_ERR(motg->core_clk)) clk_disable_unprepare(motg->core_clk); - /* vddcx is left active */ - regulator_bulk_disable(2, &motg->regulators[V3P3]); + regulator_bulk_disable(ARRAY_SIZE(motg->regulators), motg->regulators); pm_runtime_set_suspended(&pdev->dev); -- 2.7.0 -- 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