From patchwork Mon Jul 9 12:54:02 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mark Brown X-Patchwork-Id: 141401 Delivered-To: patch@linaro.org Received: by 2002:a2e:9754:0:0:0:0:0 with SMTP id f20-v6csp2633060ljj; Mon, 9 Jul 2018 05:54:26 -0700 (PDT) X-Google-Smtp-Source: AAOMgpcX2XCNhVyl50WJohoOHEHwfcvpZJGB55XP5/RPT4uYfCMCG+9zzeIEpsHc3UBrB0nuHv0w X-Received: by 2002:a62:be0a:: with SMTP id l10-v6mr20844581pff.180.1531140866628; Mon, 09 Jul 2018 05:54:26 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1531140866; cv=none; d=google.com; s=arc-20160816; b=fdnsUZ188VqCJat4LLxo2WPfV+SkRsvBzIYukSZigYHHQ3SwR3ewGO9Kywx8G3vnJn Ph9fxfbCxQ+YDukzBiAu411ZaPjJcXiPJ9wACBNcX35MwxvUg7CkFbAkp/Qbmvw6sHoS 2IlHKnfOOmcGCLQ5SltC8D34qBG22IbCluz3XiYUd+zU512uu4LYy9pOMe2RrA1CLwXB r+4/nVRJAHJ9GpYYUSeJDiT1SHlr/woVOFsoMHslXsqCbDYt9tBuCJQEJem9gIIanOWu nVB5vBmwlrNQjj+1BoGGeIrhYqw3fMemBMxG2vDiRnZaAn3Q8e25d0tfgyapAlsiZ0Nr X9vw== 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 o23-v6si13215468pgv.518.2018.07.09.05.54.26; Mon, 09 Jul 2018 05:54:26 -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 S932862AbeGIMyY (ORCPT + 31 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(-) -- 2.18.0.rc2 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 */