Received: by 2002:a05:6a10:9e8c:0:0:0:0 with SMTP id y12csp531684pxx; Wed, 28 Oct 2020 10:25:36 -0700 (PDT) X-Google-Smtp-Source: ABdhPJziOzUGDXJbCpClHabzmRq6jSu0X7bwKhiTVR2PuFs6zrzLIsW1AVgSYfFc1FVT9mpeus6/ X-Received: by 2002:a17:906:4057:: with SMTP id y23mr75286ejj.471.1603905935764; Wed, 28 Oct 2020 10:25:35 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1603905935; cv=none; d=google.com; s=arc-20160816; b=EZbzXVTyvvgusGSE/rQNZaXJK+Mo7DG+EyjVgDeZNKkGcoeYc1GC8uH0lCiHiJE30A kx9/f9AGCznap9gsLtAAqqTzZUE+/E9R1njhLN45Zn56daxk2UIwZE70BSpH2nXqY8gD S7ZjDD7wJjgSXXrWZmuQoAgp5mxHO/cUEeVm1w2FgL96l1RUixaWxxc2G018EuR+AeJh nxorkcwvJ98WWAgQWVKfVGghXQskOEbd+HpG3gKMLYlxMXLpifiF51C0abxs45nPYqFs YxClnvccWarGVp+yT9LwZGP4Bqkj3DpF7e+Ob6Y7J2WYUF84RphvbDF7lIjZJBRhjCxN fBow== 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=3JFgIgsbkZ+6g00kAVbY7oWUendWg8tGBDn6tdJayPM=; b=bSYGNPaceefCSmv5Mpjvh4NWGPcN5aZh1LRwAo+YWRKHRHXI0I8qv9qDuPPL/7CHwn x/NTmwO1ZZZkFzzBOr4kX6ZxzAE58OcsChlb9OK9ggerKPr6CLo6uCcjERTHWBeoSMll dNaHaqxbGQ8tS93aCj6OyBBRfcVcyIGOXVcq0IlSp8H5jfvy9lHg8LXUBIqB2zuub4wQ NrXb8uTDTD9SJJfES6Fan6V0sJ0wpnMR6kre7q7zMuqMNOBLr3ahr4p42G0TD4IYOr6M KL0jqYbOTQQ2jspS8pC4jX9HAmvuv6oxhsKzJvImni/OL5fGIcNtbkzNRgI4P6T41AYX kswg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=tYCog0dg; 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 x19si30189edq.122.2020.10.28.10.25.12; Wed, 28 Oct 2020 10:25:35 -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=tYCog0dg; 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 S1821209AbgJ0RlS (ORCPT + 99 others); Tue, 27 Oct 2020 13:41:18 -0400 Received: from mail.kernel.org ([198.145.29.99]:59564 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2897928AbgJ0Ocl (ORCPT ); Tue, 27 Oct 2020 10:32:41 -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 00235206DC; Tue, 27 Oct 2020 14:32:39 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1603809160; bh=nUXgHeDj7CnBVR5eyt9Ablw2dleJFQ9VMZEh9h5xYzo=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=tYCog0dgKjBctzjWtJfvtS4KWv0QV1jPNMIjmxFjM43Kel2ozbBXmc74jcthfVo/X //F50rWHqQCwACcwBgXijMBvTmOFotyyc5a8pxbqDrzQKNxnzK4feG57+HGIzTviv0 EIFoXyWnJ2UdBqDLDIBhXhybPojp1qlcZ60CoZ9Q= 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.4 098/408] regulator: resolve supply after creating regulator Date: Tue, 27 Oct 2020 14:50:36 +0100 Message-Id: <20201027135459.641998737@linuxfoundation.org> X-Mailer: git-send-email 2.29.1 In-Reply-To: <20201027135455.027547757@linuxfoundation.org> References: <20201027135455.027547757@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 55fc80de5ef16..ee850cffe1542 100644 --- a/drivers/regulator/core.c +++ b/drivers/regulator/core.c @@ -5158,15 +5158,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