Received: by 2002:a05:7412:8521:b0:e2:908c:2ebd with SMTP id t33csp1492297rdf; Sun, 5 Nov 2023 01:29:34 -0800 (PST) X-Google-Smtp-Source: AGHT+IGK1ggiAla51iNVyUNz9o6O8ptf/d6tNVsXA4WGNfkCkt6jPys0iRW2o5seUThNCLkU7WDd X-Received: by 2002:aca:1a08:0:b0:3b2:dcff:9e54 with SMTP id a8-20020aca1a08000000b003b2dcff9e54mr26066268oia.24.1699176574446; Sun, 05 Nov 2023 01:29:34 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1699176574; cv=none; d=google.com; s=arc-20160816; b=enqrL8jYsL0DwEn/AqxBwgRNTrQW+Vwdu7rDgg3xPAF/qIN/8vRz1AMavS+wGjS9h/ 0h/YqPC64hWfVKDvuJCEIoLQabPbuBV3JTpHybZnIksFXNJaiFUbLzmMaiAzMo1wjx2V ROU+8VX5i7RK5Qfe5c/K9WPAWw39oVpkRPg2J0L/BC9xIg+DsFaE6GYN2DeBGsFRW8KV 4tsVPhcu0Qy2l+DfsXRBayQLoA30Rnl9XTqpNh0mgAarUu6SnLNVFsjL+ThNMVA0Kv26 J+hwwikOY5GROSogim4U5i07aHNNmtL1M+EtETeZQoNY5ubK+6Lfm8y3vaB2TYp+BV8i XX/A== 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 :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=j9pgIVNbVKA+mGdxd7ctowoNKe1CAHE+xat2Gout9gA=; fh=HPC7tj7R3h+9mw6XeYIHWlL8uGCBeIehrTDju/ENh68=; b=UocSQzLkyvfiWvdhZ7ANGJKxXmiRhTwpYfrcrxHm4iQ+AX8D86WBwD5g6wYjy/fZka DzpBWjOKcDmOrdN/ySWXl8WNxBniue8aVopwoE0Z/tPlDGMjw/oZwy63kf9HO6SCehum U2RW8CQGr0NoydqX9WNjbI1DjFbU0fM1hTCpCY57cVc1iKQ8UtzpQpWByY3FUIEVJRNQ L0ZxWCQ23RKuaakAarHtriH3EZ/H40KxR3U0BlmOwI7CPJGQrEDBprxp4qjOENOQEklk OZUs2V4IOTKobi9pOFzUzUeghEehPgtju2RlhoUl/UNZehDWOT2MyMXN9tGsb5d93oKT yIQw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@sang-engineering.com header.s=k1 header.b=Z8beJdki; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from snail.vger.email (snail.vger.email. [23.128.96.37]) by mx.google.com with ESMTPS id c10-20020a056a000aca00b006bd2e896465si5490446pfl.199.2023.11.05.01.29.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 05 Nov 2023 01:29:34 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) client-ip=23.128.96.37; Authentication-Results: mx.google.com; dkim=pass header.i=@sang-engineering.com header.s=k1 header.b=Z8beJdki; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by snail.vger.email (Postfix) with ESMTP id 7A37C804F619; Sun, 5 Nov 2023 01:29:33 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at snail.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229987AbjKEJ31 (ORCPT + 99 others); Sun, 5 Nov 2023 04:29:27 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36394 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229744AbjKEJ3X (ORCPT ); Sun, 5 Nov 2023 04:29:23 -0500 Received: from mail.zeus03.de (www.zeus03.de [194.117.254.33]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A3E9AB7 for ; Sun, 5 Nov 2023 01:29:20 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= sang-engineering.com; h=from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; s=k1; bh=j9pgIVNbVKA+mGdxd7ctowoNKe1CAHE+xat2Gout9gA=; b=Z8beJd kiUy9gUiOFHiKWuKMJF/8H8Oq8Le+4B66B//M3p52MSBXBnSyR6Z0uG4YVCgcMJq /MPG+DRczETc/O0hTc9dngbjyq37fVg1XZLQ/0ZRNiNKrv1kpMMjexUs5eybrhql LXcTC2NhNktn7RI9vzPw/r9xvdTonOpG29fMORmKB+qjLT9wLb3WmjiKNx8IWpyj 1Nu5OemHBe9clbuY7ysQJ0pSzUY8Fvd3kjjzH7rPl9C05vXMNfHFjZDexdb2LoIM gwDMZhGnLcL7phoa7duUe8qEa0lYIkKwGw8bQfOHIDc89/yPaukLZJSwO45TqTZN H6QaxbRaVwGkbpQQ== Received: (qmail 1670156 invoked from network); 5 Nov 2023 10:29:16 +0100 Received: by mail.zeus03.de with ESMTPSA (TLS_AES_256_GCM_SHA384 encrypted, authenticated); 5 Nov 2023 10:29:16 +0100 X-UD-Smtp-Session: l3s3148p1@B0oPX2QJdsQgAQnoAFPQANY41GnTzLIh From: Wolfram Sang To: linux-renesas-soc@vger.kernel.org Cc: Wolfram Sang , Geert Uytterhoeven , Manivannan Sadhasivam , Marek Vasut , Yoshihiro Shimoda , Lorenzo Pieralisi , =?UTF-8?q?Krzysztof=20Wilczy=C5=84ski?= , Rob Herring , Bjorn Helgaas , linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v5 RESEND 2/2] PCI: rcar-host: add support for optional regulators Date: Sun, 5 Nov 2023 10:29:08 +0100 Message-Id: <20231105092908.3792-3-wsa+renesas@sang-engineering.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20231105092908.3792-1-wsa+renesas@sang-engineering.com> References: <20231105092908.3792-1-wsa+renesas@sang-engineering.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_BLOCKED, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_PASS,SPF_PASS, T_SCC_BODY_TEXT_LINE,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (snail.vger.email [0.0.0.0]); Sun, 05 Nov 2023 01:29:33 -0800 (PST) The KingFisher board has regulators for miniPCIe, so enable these optional regulators using devm. devm will automatically disable them when the driver releases the device. Order variables in reverse-xmas while we are here. Signed-off-by: Wolfram Sang Reviewed-by: Geert Uytterhoeven Acked-by: Manivannan Sadhasivam --- drivers/pci/controller/pcie-rcar-host.c | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/drivers/pci/controller/pcie-rcar-host.c b/drivers/pci/controller/pcie-rcar-host.c index 88975e40ee2f..7aecc114af4f 100644 --- a/drivers/pci/controller/pcie-rcar-host.c +++ b/drivers/pci/controller/pcie-rcar-host.c @@ -29,6 +29,7 @@ #include #include #include +#include #include "pcie-rcar.h" @@ -953,14 +954,20 @@ static const struct of_device_id rcar_pcie_of_match[] = { {}, }; +/* Design note 346 from Linear Technology says order is not important */ +static const char * const rcar_pcie_supplies[] = { + "vpcie12v", "vpcie3v3", "vpcie1v5" +}; + static int rcar_pcie_probe(struct platform_device *pdev) { struct device *dev = &pdev->dev; + struct pci_host_bridge *bridge; struct rcar_pcie_host *host; struct rcar_pcie *pcie; + unsigned int i; u32 data; int err; - struct pci_host_bridge *bridge; bridge = devm_pci_alloc_host_bridge(dev, sizeof(*host)); if (!bridge) @@ -971,6 +978,13 @@ static int rcar_pcie_probe(struct platform_device *pdev) pcie->dev = dev; platform_set_drvdata(pdev, host); + for (i = 0; i < ARRAY_SIZE(rcar_pcie_supplies); i++) { + err = devm_regulator_get_enable_optional(dev, rcar_pcie_supplies[i]); + if (err < 0 && err != -ENODEV) + return dev_err_probe(dev, err, "can't enable regulator %s\n", + rcar_pcie_supplies[i]); + } + pm_runtime_enable(pcie->dev); err = pm_runtime_get_sync(pcie->dev); if (err < 0) { -- 2.35.1