Received: by 2002:a05:6a10:9e8c:0:0:0:0 with SMTP id y12csp186824pxx; Wed, 28 Oct 2020 02:05:46 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxIHmhipj9cWU5IiFcziJV8HMrA43fI7vChODHtMkcldEI5bvnKhvPpHtv/JgFOzDsCaSlg X-Received: by 2002:aa7:ca45:: with SMTP id j5mr6979959edt.245.1603875946030; Wed, 28 Oct 2020 02:05:46 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1603875946; cv=none; d=google.com; s=arc-20160816; b=ya9vybvzNEPH9cMeAgwkAhUO69wj3vTh3fvIn4z75E/0aXtjDm87qlcVV8PG02oe2S Ka1DIb3WpXmw9JvtT1YDmfGbW+mPiNlAv6F3U16HyKkU3DkAkwW/Ujz8u/7jPd7+mqTC 1ILPXcaaIhEYHXcAQP5zRT+Tvq+m8kVy64/z9UhMMDHyFGuIaLjYxjYNxwiyYW+BzxK/ cVjtAbwHgbbHckv+VItwLg15m61uVmGU6NqvD4cVjPSnOA020LAjfcgCK8ZLskyFjchV rPR2VojXYHQsg2wy7Sj/PHuvnufvrX8dRdMVBMHHn/7vUOUPcp9iJJHxlUm+7TL1HRAb CGpQ== 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=4j2eLB1ncCydTP9Y94s3nyLdQkja37XqgO49mIa2hEU=; b=diVET7bWZ5CGDzlGCGrf/r8UcEHG9dPsMQQlVTc/6W8aoegoDO9m0vdZGeqXX/tjaK DgZvCzrX79+OKQ6rZQhe+mJJAmLxQfj0ofj3r88BO8YtvzHD8xl20Qm8HtZjvtDZkSX/ P+zznB+5xD4T1GjuKADYLdvf0FipsFm93d0a2qvLm4uNYRaG/o07d9qwAuwQqfQ7YFlT AGD2nNcqvb+zOPZPu0Pqquhwr9X6gMB6VOGdoWTW+YCWQsJJqlVMT0LzQ89D8szRAFdI WWR5ReUIWfYyxQtFUBoPOXl5HR0lx7d3znW0NOyNPJbmLg9tqUghTQgc9OAY+ln+jYUv QqwQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=XdAWJCBe; 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 z8si2802677eju.267.2020.10.28.02.05.23; Wed, 28 Oct 2020 02:05:46 -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=XdAWJCBe; 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 S1757049AbgJ0OP6 (ORCPT + 99 others); Tue, 27 Oct 2020 10:15:58 -0400 Received: from mail.kernel.org ([198.145.29.99]:60148 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2507061AbgJ0OLK (ORCPT ); Tue, 27 Oct 2020 10:11:10 -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 D06A122264; Tue, 27 Oct 2020 14:11:09 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1603807870; bh=U+qVzhEqQ3d6bn6DBQtHddFyD/GJwqjJgMISy17aEgA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=XdAWJCBe1kXRgVI28b9cZognR0jAxDakhM5PJXH+Iq2Mfu6MucSiST5q51hu6Kb+7 URRuIDdjHqZRKDvFRm19ozWne508PtSeJdsB5QJonf1o4TUJcY3y6IN4oLiUYYpSig BeUKXHCqnmIAmRcAuIjPKrBYTVQZQXYPUJXDNZjw= 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 4.14 040/191] regulator: resolve supply after creating regulator Date: Tue, 27 Oct 2020 14:48:15 +0100 Message-Id: <20201027134911.667452598@linuxfoundation.org> X-Mailer: git-send-email 2.29.1 In-Reply-To: <20201027134909.701581493@linuxfoundation.org> References: <20201027134909.701581493@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 bd6991a99593d..a3c265177855d 100644 --- a/drivers/regulator/core.c +++ b/drivers/regulator/core.c @@ -4090,15 +4090,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