Received: by 2002:a05:6a10:9e8c:0:0:0:0 with SMTP id y12csp257277pxx; Wed, 28 Oct 2020 04:16:36 -0700 (PDT) X-Google-Smtp-Source: ABdhPJw62B42RiKmNT5vFW4a6Hh5CrSCcerFiegjs69O8y6HiN2gS8speVsE2PkoKlrAtdsaHF0N X-Received: by 2002:a17:906:f201:: with SMTP id gt1mr6568068ejb.229.1603883796759; Wed, 28 Oct 2020 04:16:36 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1603883796; cv=none; d=google.com; s=arc-20160816; b=RBaAXIC4TQC2RlF2bIlxX4ziU7tCYpIGUI+8SnxeqjjG4gstZjLbK2kVvptTJyqSDn cmzdehIGV5LV9bK2JrxNuqXIrN3IkSVmOsRplupd0hk8jALykO+ANexhoM4rLmWaQQC9 58DHmYzTYLVzZwxSqoPHDLRDW2HQu6CXSt6KC3RtLHqscQ4hxYgHkq7ZD6s5/v4BpHHV 0Rok6xGayuDX/7ApaS5zirzrbU5nEhRj90GLElvaSF5UUKX8z0ZffAtWyeN3v7CrPTQS X0qdYuGzjEFR97Bjq4ReIM5rts5gF2vtNR3jv4U6bqLblrEfpvBiRCIjpPSfAAV530Gt Q60g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=2BbVXv7BT++0J0e3ZWHR2IdxxyuOqCjIAXz7esHEi+c=; b=ScWQrKCk7V3W8uxCl74Cbelu5wypnR659/qet+4/YaPEaUKa96Os+7YLrr1gdua4Id EBv/A8LiSxB8kQfe0af0c2KPgdZh1YFrK5CRj3qlDmzjJXmrT/ZTfk63ob2aiihAMRh0 Dg5yb1YLrkSXhq2s9iqW4CAv93S57MCXAYcg57j4upytfytpGQmbHfOpzgRgQNZayxm4 sVYDxk39FZm5tXszBvZtbb4zq+p/3LgtNRbidryVvB4qJ8jWo5iNFLwMtUM3jIrMMoWm B384piBsIc0inib2YDRKqE7UxesTGi/uzsCEMI4rldjgYcU8TJt6gWUzbg3xwmuTwaDh 0//g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=BWneILm3; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id i19si2816688ejh.153.2020.10.28.04.16.14; Wed, 28 Oct 2020 04:16:36 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=BWneILm3; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1788003AbgJ0PAT (ORCPT + 99 others); Tue, 27 Oct 2020 11:00:19 -0400 Received: from mail.kernel.org ([198.145.29.99]:56290 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1781505AbgJ0Ozp (ORCPT ); Tue, 27 Oct 2020 10:55:45 -0400 Received: from localhost (83-86-74-64.cable.dynamic.v4.ziggo.nl [83.86.74.64]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id E4F6420679; Tue, 27 Oct 2020 14:55:43 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1603810544; bh=yzSjtaJ2XaJ7tXjLLsXwZwfyCjmLQTHhU121clQpNsg=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=BWneILm3s865aqfG/3jYghYTDQswBIKSq0NWz4PbyDzXQlD6tWSSC0X0hchp/R+B4 67UsUnv2Q7IAsLaYE6LufFUmHqzNsGvtZn/wVpzHForO+ut8so9DYgVue0/dfungMq /wYuSQDmH9LjBVDbXdU/l243Rr5iF9RZP2+qmq+Q= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, =?UTF-8?q?Micha=C5=82=20Miros=C5=82aw?= , Mark Brown , Sasha Levin Subject: [PATCH 5.8 145/633] regulator: resolve supply after creating regulator Date: Tue, 27 Oct 2020 14:48:08 +0100 Message-Id: <20201027135529.493522651@linuxfoundation.org> X-Mailer: git-send-email 2.29.1 In-Reply-To: <20201027135522.655719020@linuxfoundation.org> References: <20201027135522.655719020@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Michał Mirosław [ Upstream commit aea6cb99703e17019e025aa71643b4d3e0a24413 ] When creating a new regulator its supply cannot create the sysfs link because the device is not yet published. Remove early supply resolving since it will be done later anyway. This makes the following error disappear and the symlinks get created instead. DCDC_REG1: supplied by VSYS VSYS: could not add device link regulator.3 err -2 Note: It doesn't fix the problem for bypassed regulators, though. Fixes: 45389c47526d ("regulator: core: Add early supply resolution for regulators") Signed-off-by: Michał Mirosław Link: https://lore.kernel.org/r/ba09e0a8617ffeeb25cb4affffe6f3149319cef8.1601155770.git.mirq-linux@rere.qmqm.pl Signed-off-by: Mark Brown Signed-off-by: Sasha Levin --- drivers/regulator/core.c | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/drivers/regulator/core.c b/drivers/regulator/core.c index be8c709a74883..25e601bf9383e 100644 --- a/drivers/regulator/core.c +++ b/drivers/regulator/core.c @@ -5187,15 +5187,20 @@ regulator_register(const struct regulator_desc *regulator_desc, else if (regulator_desc->supply_name) rdev->supply_name = regulator_desc->supply_name; - /* - * Attempt to resolve the regulator supply, if specified, - * but don't return an error if we fail because we will try - * to resolve it again later as more regulators are added. - */ - if (regulator_resolve_supply(rdev)) - rdev_dbg(rdev, "unable to resolve supply\n"); - ret = set_machine_constraints(rdev, constraints); + if (ret == -EPROBE_DEFER) { + /* Regulator might be in bypass mode and so needs its supply + * to set the constraints */ + /* FIXME: this currently triggers a chicken-and-egg problem + * when creating -SUPPLY symlink in sysfs to a regulator + * that is just being created */ + ret = regulator_resolve_supply(rdev); + if (!ret) + ret = set_machine_constraints(rdev, constraints); + else + rdev_dbg(rdev, "unable to resolve supply early: %pe\n", + ERR_PTR(ret)); + } if (ret < 0) goto wash; -- 2.25.1