Received: by 2002:ac0:a5a7:0:0:0:0:0 with SMTP id m36-v6csp503301imm; Mon, 9 Jul 2018 05:56:15 -0700 (PDT) X-Google-Smtp-Source: AAOMgpcMwL6STQnVnjK/d0F2+iXXpjwGqVpuQPNsxK8vQjXxyzARCT4MONXSOXDfn58CAcvC1CEL X-Received: by 2002:a17:902:740b:: with SMTP id g11-v6mr14777044pll.85.1531140975261; Mon, 09 Jul 2018 05:56:15 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1531140975; cv=none; d=google.com; s=arc-20160816; b=zYM7Zzew/ZaAFFRhuDJ/p2VPxx6nEJNiUbyI2MZaL72BRRzj98OFG61nTTAG4dgOGK 43vhkda+2i5lg+V9PjrIumCj0y8ldkKJZD9BBf0e3xTrpq4nRY1UtZaR91Vs6VHrH01e yiE5J/QdrQ6Szf+C1pXuqJnwhT1pGYN7YAP0h+T5uF3FFzjK+Ads4nO0+FXP4I8qZWU1 84nsD8ZbBKItsUyR3kSqAPQhkhPpWIAKPYU+2aQhLaP3x37L1B3iCd62Q2I2G1puCbpZ EF7NhtZrhuKrSqKe1WjEAqVFasPOzr/XnizNkcseMjTeZOAU8zhkqoy4IMilGRpTA12z Ybqw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from :dkim-signature:arc-authentication-results; bh=gpnE1etiqWxiECtuP3ySGtzLzQjfhU91ycIvxhBMMuk=; b=IOBv4UzX4XXTFGz4ukV5lG7D2bXbgBpfQQb3qoxCJO8s1a876DXOdeI7cgxBXvRyso 684bhUYgGlHnvJmEsb2pphCBY+HpAnPSAB0fJNAKrFnUjV73dYPa71UTDVkQAG4rYpu2 qiUEVfUDw812mQXoeLgoF0OP3tD7bkUm56zoyP7CsD7iVI7zCgwv3s4qceASd5VWb7J3 D0i4O58AcNOf2mZNMvs5aFq5VW0yqYL5QAcPGDRZepJtdEmpK6ibFq+NmvTsVNVBUSPK 7e0ZaoIdrDhisv721WfrV2jq7SyQs6/NTMffiEWOjTrr3dsKGSfl/CQdWT492QSocVk4 2CGA== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@sirena.org.uk header.s=20170815-heliosphere header.b=VdBBQaNY; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 60-v6si14679531ple.65.2018.07.09.05.56.00; Mon, 09 Jul 2018 05:56:15 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=fail header.i=@sirena.org.uk header.s=20170815-heliosphere header.b=VdBBQaNY; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932848AbeGIMyY (ORCPT + 99 others); Mon, 9 Jul 2018 08:54:24 -0400 Received: from heliosphere.sirena.org.uk ([172.104.155.198]:42394 "EHLO heliosphere.sirena.org.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932735AbeGIMyX (ORCPT ); Mon, 9 Jul 2018 08:54:23 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=sirena.org.uk; s=20170815-heliosphere; h=Message-Id:Date:Subject:Cc:To:From :Sender:Reply-To:MIME-Version:Content-Type:Content-Transfer-Encoding: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=gpnE1etiqWxiECtuP3ySGtzLzQjfhU91ycIvxhBMMuk=; b=VdBBQaNYbCGRSi2C10HduagsS LszY3X7VE2dayZEKZ3QkhqUaQNZrX1BN91RKIL59jreFE7sScIK977JlofXTI5twXtvbya2U7R+vW 539NC7Zqkp4bfscOO2h0BF4KScOeF4ioW7tD37MeH+RPyeYVpVRFmvKEfgDCra6uYNrv4=; Received: from debutante.sirena.org.uk ([2001:470:1f1d:6b5::3] helo=debutante) by heliosphere.sirena.org.uk with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1fcVgI-0003lI-A2; Mon, 09 Jul 2018 12:54:18 +0000 Received: from broonie by debutante with local (Exim 4.91) (envelope-from ) id 1fcVgH-0008S0-N5; Mon, 09 Jul 2018 13:54:17 +0100 From: Mark Brown To: Marek Szyprowski , pascal paillet , benjamin.gaignard@linaro.org Cc: Krzysztof Kozlowski , Bartlomiej Zolnierkiewicz , linux-kernel@vger.kernel.org, Mark Brown Subject: [PATCH] regulator: core: Don't link consumers on the same device Date: Mon, 9 Jul 2018 13:54:02 +0100 Message-Id: <20180709125402.32427-1-broonie@kernel.org> X-Mailer: git-send-email 2.18.0.rc2 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org In some cases a device may end up supplying itself, for example when a DCDC is used to improve the efficiency of LDOs or when a LDO is provided to clean up sensitive supplies. In these cases the driver core will warn loudly about attempts to add links so suppress them here. Reported-by: Marek Szyprowski Signed-off-by: Mark Brown --- Compile tested only. drivers/regulator/core.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/regulator/core.c b/drivers/regulator/core.c index b5db0257bc40..1302e66e80ac 100644 --- a/drivers/regulator/core.c +++ b/drivers/regulator/core.c @@ -1741,7 +1741,8 @@ struct regulator *_regulator_get(struct device *dev, const char *id, rdev->use_count = 0; } - device_link_add(dev, &rdev->dev, DL_FLAG_STATELESS); + if (dev != &rdev->dev) + device_link_add(dev, &rdev->dev, DL_FLAG_STATELESS); return regulator; } @@ -1840,7 +1841,7 @@ static void _regulator_put(struct regulator *regulator) if (r->dev == regulator->dev) count++; - if (count == 1) + if (count == 1 && regulator->dev != &rdev->dev) device_link_remove(regulator->dev, &rdev->dev); /* remove any sysfs entries */ -- 2.18.0.rc2