Received: by 2002:ab2:4a89:0:b0:1f4:a8b6:6e69 with SMTP id w9csp112585lqj; Wed, 10 Apr 2024 05:52:28 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCXJRJGL9KvPK1Rwadtg348nSOwdDww6t8ILLNhXsz1C81ubqHBM7BPSyYjk3mZdRR2Uu71lhTNwkd6J1Oui3Jm70JTvRhyj2IWrQBd6Rw== X-Google-Smtp-Source: AGHT+IGQZ1aMCDxzKGuEXNKkpEqFiHDvE9pEIv8NwilBnzHizPmcysvOfnCkhaOLsEEFJTXrQDt8 X-Received: by 2002:a17:906:f6ce:b0:a51:beb9:956d with SMTP id jo14-20020a170906f6ce00b00a51beb9956dmr1659213ejb.66.1712753548347; Wed, 10 Apr 2024 05:52:28 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1712753548; cv=pass; d=google.com; s=arc-20160816; b=uxvS2b+DPVDSlp9Fpp6V+voGmuXmu9mUvvTi55j39ZvXNBvxAGhqm8CBei6QMv+H30 cHeIQuFs23qL3te8DjMU5sEKHz0urWFekF3hfp7lIJtRan3/6EfsE1QgVqVvpdu9NRtX cQJZLzWTa6AdLz+/k79/wsiJSKKlHSAbQHG+upZqRpb+4aUTMyD/1FRPrYMZltgGxtna oszl/fy6o0R0F1rt7e8u/flntAmOCff5lRJbdav6oeK+LjB7ANq1B6uRmpsuQt5UckRd hCd6bYfOaUt7GCJ/QS4WJo5daccU2Eg9NrLx7eQCH+hUb97NDdQl+ocIIoxKF+0MOlYk xpFg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:references:in-reply-to:message-id :date:subject:cc:to:from:dkim-signature; bh=a3VKydEHB8lHvIONMbgchmsCTkAjKSCt8ZGRsExnd9A=; fh=7sHQPJ9ZWYGpXMvQYBUHUJqdLoITnMg04lXsq4IHinc=; b=ZJIEgeN+FJJ0kv2N3YILLm4upDv78bZX3LJLK5seDimTMcXG8UYrkK9jA5USaeUvJm 9JbA6U6nXE11CRW/ho76GbbRrKX+qwN3YmnEHL/k2mRAixUHZq9nMRrVr9L2ekKjR5Pd dxUUhTFNFQSrg7sW6N4oSjmlWkbVWWwNRZrBika+F/ilWxAVUmDUmOxqJV0s93LVHv0H fhv8Fi5M2RloKZdDEcK7SYAKIX75pwO7K6HU7qoYdsTmfUjPD0w3cU3IQKdtlI2X5RV8 ttAtmfQZxVwyvEKHkAQKPvn3Qf2Xzkui7Kpp5pPBD+LpINEqeglmDwcEM0+Sc42dlF2i vLEw==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@bgdev-pl.20230601.gappssmtp.com header.s=20230601 header.b=aGrHU6uh; arc=pass (i=1 dkim=pass dkdomain=bgdev-pl.20230601.gappssmtp.com); spf=pass (google.com: domain of linux-wireless+bounces-6101-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) smtp.mailfrom="linux-wireless+bounces-6101-linux.lists.archive=gmail.com@vger.kernel.org" Return-Path: Received: from am.mirrors.kernel.org (am.mirrors.kernel.org. [2604:1380:4601:e00::3]) by mx.google.com with ESMTPS id gu21-20020a170906f29500b00a51a0ddd5d4si5828709ejb.833.2024.04.10.05.52.28 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 10 Apr 2024 05:52:28 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-wireless+bounces-6101-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) client-ip=2604:1380:4601:e00::3; Authentication-Results: mx.google.com; dkim=pass header.i=@bgdev-pl.20230601.gappssmtp.com header.s=20230601 header.b=aGrHU6uh; arc=pass (i=1 dkim=pass dkdomain=bgdev-pl.20230601.gappssmtp.com); spf=pass (google.com: domain of linux-wireless+bounces-6101-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) smtp.mailfrom="linux-wireless+bounces-6101-linux.lists.archive=gmail.com@vger.kernel.org" Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by am.mirrors.kernel.org (Postfix) with ESMTPS id E1A5F1F2755E for ; Wed, 10 Apr 2024 12:52:27 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 8FDFC17164D; Wed, 10 Apr 2024 12:47:12 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bgdev-pl.20230601.gappssmtp.com header.i=@bgdev-pl.20230601.gappssmtp.com header.b="aGrHU6uh" X-Original-To: linux-wireless@vger.kernel.org Received: from mail-wm1-f41.google.com (mail-wm1-f41.google.com [209.85.128.41]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D981715B126 for ; Wed, 10 Apr 2024 12:47:09 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.41 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712753232; cv=none; b=ldCHiA05FDm3r//GKA3H0eOuAwBYgUtg980za3nEZ7CcOGjAvBERcFUzIW4tx9DExfYXgH36JMLsmg3pPXrVFCoaRT+Vv4Bg77BD1lYW1BqzjqkTfJQMV9724iFV0MW5MFstSpwNa5URPcQXDR1Gietv3WkRSoWPtipj6tLTr6U= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712753232; c=relaxed/simple; bh=2Y3Xvp2nR9CrqURawAV1boG93szDMz9XddJ62ra2nbw=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=VSaLa+naPFKaDOdeiihiYeR0N+K2yXVTTVglf4LnF/pL/9jOhXqFMGFByJbu2SyavPih4koMYQw+xSXjQfYVIl3Dr63oGQcyBDbNM16x5HzUi4vugazZFjKTM6dvuuOW1N0xeSS3XQTlDQj/6BOxBAJ0sqG/RR8mIKvv+8Xe520= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=bgdev.pl; spf=none smtp.mailfrom=bgdev.pl; dkim=pass (2048-bit key) header.d=bgdev-pl.20230601.gappssmtp.com header.i=@bgdev-pl.20230601.gappssmtp.com header.b=aGrHU6uh; arc=none smtp.client-ip=209.85.128.41 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=bgdev.pl Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=bgdev.pl Received: by mail-wm1-f41.google.com with SMTP id 5b1f17b1804b1-416c4767b07so5741015e9.0 for ; Wed, 10 Apr 2024 05:47:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1712753227; x=1713358027; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=a3VKydEHB8lHvIONMbgchmsCTkAjKSCt8ZGRsExnd9A=; b=aGrHU6uhyAXK0lc6uLYDSmp4ZoceevJGRArYfnkuaV24Ee5Fsot2RkqXst/DhysTP7 2YSSE986wLin6HMG9KHaNAAIYDO+sEmz07jp3DaB0+FRhUmlX+zq4r6pfrFJCzEuqfJl ii0EctfqZHEKtL9jgaJTI2t5kvPrOu9qqMyj3cHT4VWDGdKaq4GppCFegsaizR4hAU76 MVBHygPC1HYH8cRuHOLZunJfe1H5Rqzlm2bOuPD4WxMbnxI25780JUp0UI/uALDulaQo uEo2tB4nAWuUzJQfL28Hn+3qn9+CHJuBEJnhn93tTYZmK1hnVSvCQMIOmK37inawPHAm j/7Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1712753227; x=1713358027; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=a3VKydEHB8lHvIONMbgchmsCTkAjKSCt8ZGRsExnd9A=; b=gPK6V0biah+WA0FzbT/g42mO3MIdjCIEYKKxAD7DmjZmQJ1DiBQp8p5StdEyHKe091 HZujqXi5jHae1LmuthOSjLYLInU1HpwWdlXcQ9CGKFAmq1M4WHsgY6/+HFYoyYghlHpl VtDUpsWVQpFn6qL0Mz6dcxxACYh4+YrRJJyq0Xp85N3nPm4aqAksN0tObc6pbzXoI/Gy gR9QxuHzux1tFvOiI/F0KcCj2Ktsb8wgKRXmgTaU/4R/TxbH1xBBzdNreN6bppymr1cU H+zwG7HQFivRNP23k9mntV7v3XD34V8shu6ZkKtq3qtO5ovnhysnXlh3SozdWMDoYkC7 Qhtw== X-Forwarded-Encrypted: i=1; AJvYcCURZ0wS4zTqQoOBKzexKZyTGGQFCYNfNpDeWAohDg35CUWldwjPgd8FdS0Vfiqo7pGrLLyMQDq3JTPagM8CPPUH4WzIqvKM141Zm5J+4oY= X-Gm-Message-State: AOJu0YyA6u4HjN3M2hTeuFxtM7e1YokCL/HWk7Q73GFpmZay+PwH+Nr2 lw6hnfm88McxOjDhLqiT4DjNDFp7feTMs3nUIk08jU3D3G/3t51hR8kI/9aJTTI= X-Received: by 2002:a05:600c:1f0c:b0:416:c904:a26a with SMTP id bd12-20020a05600c1f0c00b00416c904a26amr1525110wmb.7.1712753226816; Wed, 10 Apr 2024 05:47:06 -0700 (PDT) Received: from brgl-uxlite.home ([2a01:cb1d:75a:e000:6908:7e99:35c9:d585]) by smtp.gmail.com with ESMTPSA id v13-20020a05600c444d00b0041663450a4asm2150929wmn.45.2024.04.10.05.47.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 10 Apr 2024 05:47:06 -0700 (PDT) From: Bartosz Golaszewski To: Marcel Holtmann , Luiz Augusto von Dentz , "David S . Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Kalle Valo , Bjorn Andersson , Konrad Dybcio , Liam Girdwood , Mark Brown , Catalin Marinas , Will Deacon , Bjorn Helgaas , Bartosz Golaszewski , Saravana Kannan , Geert Uytterhoeven , Arnd Bergmann , Neil Armstrong , Marek Szyprowski , Alex Elder , Srini Kandagatla , Greg Kroah-Hartman , Abel Vesa , Manivannan Sadhasivam , Lukas Wunner , Dmitry Baryshkov , Amit Pundir , Xilin Wu Cc: linux-bluetooth@vger.kernel.org, netdev@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-wireless@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-pci@vger.kernel.org, linux-pm@vger.kernel.org, Bartosz Golaszewski Subject: [PATCH v7 11/16] PCI/pwrctl: create platform devices for child OF nodes of the port node Date: Wed, 10 Apr 2024 14:46:23 +0200 Message-Id: <20240410124628.171783-12-brgl@bgdev.pl> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20240410124628.171783-1-brgl@bgdev.pl> References: <20240410124628.171783-1-brgl@bgdev.pl> Precedence: bulk X-Mailing-List: linux-wireless@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit From: Bartosz Golaszewski In preparation for introducing PCI device power control - a set of library functions that will allow powering-up of PCI devices before they're detected on the PCI bus - we need to populate the devices defined on the device-tree. We are reusing the platform bus as it provides us with all the infrastructure we need to match the pwrctl drivers against the compatibles from OF nodes. These platform devices will be probed by the driver core and bound to the PCI pwrctl drivers we'll introduce later. Signed-off-by: Bartosz Golaszewski --- drivers/pci/bus.c | 9 +++++++++ drivers/pci/remove.c | 2 ++ 2 files changed, 11 insertions(+) diff --git a/drivers/pci/bus.c b/drivers/pci/bus.c index 826b5016a101..3e3517567721 100644 --- a/drivers/pci/bus.c +++ b/drivers/pci/bus.c @@ -12,6 +12,7 @@ #include #include #include +#include #include #include @@ -354,6 +355,14 @@ void pci_bus_add_device(struct pci_dev *dev) pci_warn(dev, "device attach failed (%d)\n", retval); pci_dev_assign_added(dev, true); + + if (pci_is_bridge(dev)) { + retval = of_platform_populate(dev->dev.of_node, NULL, NULL, + &dev->dev); + if (retval) + pci_err(dev, "failed to populate child OF nodes (%d)\n", + retval); + } } EXPORT_SYMBOL_GPL(pci_bus_add_device); diff --git a/drivers/pci/remove.c b/drivers/pci/remove.c index d749ea8250d6..fc9db2805888 100644 --- a/drivers/pci/remove.c +++ b/drivers/pci/remove.c @@ -1,6 +1,7 @@ // SPDX-License-Identifier: GPL-2.0 #include #include +#include #include "pci.h" static void pci_free_resources(struct pci_dev *dev) @@ -22,6 +23,7 @@ static void pci_stop_dev(struct pci_dev *dev) device_release_driver(&dev->dev); pci_proc_detach_device(dev); pci_remove_sysfs_dev_files(dev); + of_platform_depopulate(&dev->dev); of_pci_remove_node(dev); pci_dev_assign_added(dev, false); -- 2.40.1