From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752793AbbI3N6w (ORCPT ); Wed, 30 Sep 2015 09:58:52 -0400 Received: from metis.ext.4.pengutronix.de ([92.198.50.35]:34625 "EHLO metis.ext.pengutronix.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751494AbbI3N6s (ORCPT ); Wed, 30 Sep 2015 09:58:48 -0400 From: Sascha Hauer To: linux-kernel@vger.kernel.org Cc: Liam Girdwood , Mark Brown , kernel@pengutronix.de, alkml@pengutronix.de, Sascha Hauer Subject: [PATCH 1/6] Revert "regulator: core: Handle full constraints systems when resolving supplies" Date: Wed, 30 Sep 2015 15:57:49 +0200 Message-Id: <1443621474-2191-2-git-send-email-s.hauer@pengutronix.de> X-Mailer: git-send-email 2.5.3 In-Reply-To: <1443621474-2191-1-git-send-email-s.hauer@pengutronix.de> References: <1443621474-2191-1-git-send-email-s.hauer@pengutronix.de> X-SA-Exim-Connect-IP: 2001:67c:670:100:1d::7 X-SA-Exim-Mail-From: sha@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-kernel@vger.kernel.org Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This reverts commit 9f7e25edb1575a6d2363dc003f9cc09d840657e2. When a regulator A is registered and is supplied by regulator B which is not yet registered then a regulator_get on regulator A will set the As supply to the dummy regulator. This is not correct, we should return -EPROBE_DEFER instead as done without this patch. Of course reverting this patch brings back the issue it fixed, so this is not a solution, but what is the correct solution? Signed-off-by: Sascha Hauer --- drivers/regulator/core.c | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/drivers/regulator/core.c b/drivers/regulator/core.c index 7849187..bd9db70 100644 --- a/drivers/regulator/core.c +++ b/drivers/regulator/core.c @@ -1403,13 +1403,9 @@ static int regulator_resolve_supply(struct regulator_dev *rdev) return 0; } - if (have_full_constraints()) { - r = dummy_regulator_rdev; - } else { - dev_err(dev, "Failed to resolve %s-supply for %s\n", - rdev->supply_name, rdev->desc->name); - return -EPROBE_DEFER; - } + dev_err(dev, "Failed to resolve %s-supply for %s\n", + rdev->supply_name, rdev->desc->name); + return -EPROBE_DEFER; } /* Recursively resolve the supply of the supply */ -- 2.5.3