Received: by 2002:a05:6a10:9e8c:0:0:0:0 with SMTP id y12csp329719pxx; Wed, 28 Oct 2020 06:04:12 -0700 (PDT) X-Google-Smtp-Source: ABdhPJx+/R7E7jyfJ9gM0IRR2A1SMLBjM/p8tRpRCKXZF+piS05DojPO10AnkVV/SEsFKP5kjCyQ X-Received: by 2002:a2e:8194:: with SMTP id e20mr3262748ljg.405.1603890252353; Wed, 28 Oct 2020 06:04:12 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1603890252; cv=none; d=google.com; s=arc-20160816; b=KWiDrUHU4jT8V9U1XWuoYuitMuOwD66Spu72DpLLTqWCUuynw9mq09EHy8DgbqRxJn M13th1+f5vklpiTZSKzvE2QiwX85BUuvZUXdIRlfV4X/PAcWc2dFzAoFJlU2mMtQTpZf bklzKSfzyQ/QUbgbZald1nLTnY+RNL8rhdDObREf0XM84dMP6msB+lxpUMWw36qD0k9u e3IuRDNbPxm9ys2Pn8EUvQVKUmmCoLbJPqjn18FWaaxAqELCQfs8ud/6uD7uOEUvmwFW n2/3YsrGbQjPZyMHbyjKmgrxMJMIKT50dETKaJpgmQuFaRsWRfCFj+s8SlmiMv4DEJY9 7Umg== 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=tPwsgeflWype8JAR4L0nD2qO41erZdCd4yAzGVJPvMs=; b=eyBQu7R3cPI55hP+Q32CtIXUQUrULbadz4/nv18cISadP9w5/qUD/HbT+w0Sf3nKnF 7wRWEKDYNf+M6t58LkLgD/o4Si3PAEHEEMe8FULGvp3QHDzcOpN4hd+ZvlskgT5g3MZX 8Nv6FFM0noJKwOWvYSr7l9ZWvF6g790VpSzHoD7g/+UjP0pg0hr50xTGbwie6vz4t29y tNBgdSgvWlqxCfK76m6TtqqeycPzx4DVHVLu3eBMTmCT7aIQAAG6yVgvt8los1NS/Hon iFjRFEWDNhfZcKCWUJQHOfdXz5jZr8wBF95ePu1AxyM5HPjfyr7qxFl1Khr44GafXHGD nvmQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=gooI1TLp; 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 bt10si1135660edb.503.2020.10.28.06.03.48; Wed, 28 Oct 2020 06:04:12 -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=gooI1TLp; 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 S368803AbgJ0PeF (ORCPT + 99 others); Tue, 27 Oct 2020 11:34:05 -0400 Received: from mail.kernel.org ([198.145.29.99]:43304 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2901377AbgJ0P1a (ORCPT ); Tue, 27 Oct 2020 11:27:30 -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 10F202224A; Tue, 27 Oct 2020 15:27:28 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1603812449; bh=8aAidsEKBvSKJ+eRVz/YNjTZm0lLkaRZt+LE+1BICXw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=gooI1TLpPXqxrvAUXYSDXnqQuBtCZiWNv+PIoPRIm5yM1pNoqsotm0V0lj85Eq1CO 07Wk79pkmoQvm6zBI+4XwR1jrXB6/+KQnQtLZSyLmRoMUiIp6cV1yJjvy5jph1Ri9+ BT/qgrkIyrrcQRaQGcHVxtKS/r7AJE3E4Ka2NS6g= 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.9 173/757] regulator: resolve supply after creating regulator Date: Tue, 27 Oct 2020 14:47:03 +0100 Message-Id: <20201027135458.709756525@linuxfoundation.org> X-Mailer: git-send-email 2.29.1 In-Reply-To: <20201027135450.497324313@linuxfoundation.org> References: <20201027135450.497324313@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 7ff507ec875a8..4859cf84c0b2f 100644 --- a/drivers/regulator/core.c +++ b/drivers/regulator/core.c @@ -5256,15 +5256,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