From nobody Wed Apr 8 04:48:03 2026 Received: from mail-pg1-f175.google.com (mail-pg1-f175.google.com [209.85.215.175]) (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 934A4319871 for ; Wed, 11 Mar 2026 00:19:51 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.175 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773188393; cv=none; b=e8DDPBa1/dCferIa2OuCzgoItwwPFoO5WUt2lYzr3DbSQ508cDxsyJdGzEyzrMsYhDd49u5EJ2O6QArzNNmba1XwuoPEwRYhzFfmzRvQvyF/EVB3/WA0CPe2KqfeVomcPK4dy54uDT438cdCT1qI5NAUTGWSH+pe38LKu+hmz+4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773188393; c=relaxed/simple; bh=SpNaRu6uMd8HuXBGwkIHZTjCWaD47krsvCZKz8R9UDw=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=k9fBR3r524KxVs0By01ILCqRW/9i/KJ6PCwZlhCql8w2iaxXwInRXWeY2HATnCheGKIFZoeBrx0GlBctw6L2C7pXIaXeliguC1lhoEuRMG67fIXYmm5l34sfCSlStSCWgWaYfE2Y7U7RGGqrsDNDrIl1ZZy/Ah699rXWvEXFgbw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=baylibre.com; spf=pass smtp.mailfrom=baylibre.com; dkim=pass (2048-bit key) header.d=baylibre-com.20230601.gappssmtp.com header.i=@baylibre-com.20230601.gappssmtp.com header.b=nUMjab5q; arc=none smtp.client-ip=209.85.215.175 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=baylibre.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=baylibre.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=baylibre-com.20230601.gappssmtp.com header.i=@baylibre-com.20230601.gappssmtp.com header.b="nUMjab5q" Received: by mail-pg1-f175.google.com with SMTP id 41be03b00d2f7-c7384f5a9cdso2766586a12.0 for ; Tue, 10 Mar 2026 17:19:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20230601.gappssmtp.com; s=20230601; t=1773188391; x=1773793191; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=G4UkaIVkjTxZ19xGJc/X7b8NyYsvb0FdSydtov7Zv/8=; b=nUMjab5qVm2UpxcrlYiA6CoXy6V2OUkR9Ktb0a6gCUH+mnF+pEaKo8prno5x4vm2ot vXL85vbxG7lhtRPQgWFFreLDhdugyCkqXHRnst35im5t0fTFjdrWVQH19/wUZ3FIYoTw nxx1CZ4cI3V4Ci8UPawPVGcrF/Qj4yYvkQWR0vmHIxTjzBYqlvfM2eHjEtcvF1Y70SAz mAKyXpNUwZJEsqR6Sbxf76zwe6WFKkA8novm5Hkz8Pb8rduETLa4A73ZhV2thRihFnQO J8c74+SiF2dGv6//JJ3XGIYTi82JGU5jHTeqjjFqrYtr4GR8OI4iLM497COWkTmUtuU3 Q/7Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1773188391; x=1773793191; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=G4UkaIVkjTxZ19xGJc/X7b8NyYsvb0FdSydtov7Zv/8=; b=txiE0GNHR8XoLo+KPEvEMJ2BWmEaaEnxbU2m9stpmi3ls6IuMtLwnscqWRK3TtVR7i ZN7xY1Zp0bpClYAxaba1ijAOTkJv4Tr/3vzarK72F/wVVu3ojcmVMlCI2jS193vYEzqK fMNZqXpjarKF/MUb7wo+Gat7b6v3MZzYL6PwDe3HA1ktCN/JdEcwjqZOYzOA4/ehkQHR 47cAckVAIWnhmDoSA0knMIVEDjNm6TqXJKRUDrP5UFuLeZjdDVaHG5xxFo9WNnBFn657 cHKUcaEWeIoW2r/L10pgc9y9q1bvU+sQaUzDC03We+Z+j5+gMaGkxFIVh8r1TbqNiymf WkwA== X-Forwarded-Encrypted: i=1; AJvYcCWaoe5CbBsGBxHSK2g9h4YQRbxG3pmn0TvSbkrJAcM/779lGEqvSqUgcDYKcGbK5UJO80N7MUWsAXayl+w=@vger.kernel.org X-Gm-Message-State: AOJu0YyO/yfRadfNwHv3tIKZ+JfM+XB1mi8TyQUXgADpjFAqWJ6YK9XC Ch/KbE26ByEGWjYC8k/byUPttzUUPcO0NFCn7ukZOMKZNs207STGoWbRrt0FbMdrLWw= X-Gm-Gg: ATEYQzxlyPeIdfI2BQN+9/Pg1kBwYv3gAdxNDC/I4lGD+vAZkJud8jJCC03REr6fl5O nZAO+CuLL6WMiietXlUTUcMlpMOwCoaLzNqDZd4C7YmTYG8zP8/2PmQGfc3HVtA7SVJCIbkLUXI QLJ3vrNCZK9Ncbk3DGnEGShvHfFWoYNAC2VQEPIp8H4SLeSH0owTTpyNljwG7nsxqWFfBvljRpu 4Ocb9bp9FgBvpTr3g3fPTj4Z+2G/vFPczZOqeMjczHid2M5mg49tb4tMcS0PfmqID4yjvfUD0gs h1cjt2KpPc+ZVMWM0A6rwTqgkFU3atDB0O/w86HXi9Ocqdb777lJAGULVqhjd5dWSHx6CNtvfdU lbRgIxPAG/PzrZA1zlMf3npb1b447riKInPG5AfKE1DJJsHYds0CF+J3JojihCmiPDvTudklUPn A87cJpQcVZSMFlclTqZzO56KjFujkuCr8= X-Received: by 2002:a17:902:e5cf:b0:2ae:512b:eea9 with SMTP id d9443c01a7336-2aeae8932a2mr6152945ad.36.1773188390908; Tue, 10 Mar 2026 17:19:50 -0700 (PDT) Received: from localhost ([71.212.200.220]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2aeae222ec3sm4843865ad.1.2026.03.10.17.19.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 10 Mar 2026 17:19:50 -0700 (PDT) From: "Kevin Hilman (TI)" Date: Tue, 10 Mar 2026 17:19:25 -0700 Subject: [PATCH 3/3] pmdomain: arm_scmi: add support for domain hierarchies Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260310-topic-lpm-pmdomain-child-ids-v1-3-5361687a18ff@baylibre.com> References: <20260310-topic-lpm-pmdomain-child-ids-v1-0-5361687a18ff@baylibre.com> In-Reply-To: <20260310-topic-lpm-pmdomain-child-ids-v1-0-5361687a18ff@baylibre.com> To: Ulf Hansson , Rob Herring Cc: Geert Uytterhoeven , linux-pm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, arm-scmi@vger.kernel.org, linux-arm-kernel@lists.infradead.org X-Mailer: b4 0.15-dev-53144 X-Developer-Signature: v=1; a=openpgp-sha256; l=1610; i=khilman@baylibre.com; h=from:subject:message-id; bh=SpNaRu6uMd8HuXBGwkIHZTjCWaD47krsvCZKz8R9UDw=; b=owEBbQKS/ZANAwAIAVk3GJrT+8ZlAcsmYgBpsLUiDjI6WNZvQ23csmjtCDm2sG6My9oxiWgsj jofXq40XHKJAjMEAAEIAB0WIQR7h0YOFpJ/qfW/8QxZNxia0/vGZQUCabC1IgAKCRBZNxia0/vG ZQFQEACPB90DS6xyqHEHKzUMOrtuYJlGewKdEEMh/l5LQXY41rYLvJsbqdV5LCx66GdglEiD4NP 6jeDqaJIiZpGIJbxgDgw8y8w6vwseR+NoC8YtF/UTEhOrwYCzp0xxdI9oo/WwIr+Z2zd0EBnVr+ y8grEV9ktvw4lR6g1KIMnvqIw3kgbMkn4FwM4Oi5xfzdEvH6SB2E6A0ayo8TA4pNym6k8XEgNgD uJr8d1plI43iOLDyHoQXaRjzp2Hf+zqNtMDKQL2H6McB1m08HIeuxUU21z3xIci4gF4y0XXROJX fHsBHaeAECe8YOGRatDhLklxJqTGyerbGv8F6nNqa1fCsyBy3lX9GjMhcUsrKln1ODUbvCTQKR0 aahV1rNojPIrZvK4RyS0Uxb79RJ9vDjDnggMs0e1EyE2oFG6moVl1tzla968Q5o28bk6jP1hrDH kKq64Jd+N7nZzEgls8sh9PnSajocfYaDG0ae1zxUTRND2nx4aWfRgACm8mC/PiWfdmz4RbQRAK6 jmRP69B4LbXGNZ9uhBO3Lvcta53D1eCazu6HrlkDwYozWWJyLZmchRhLHkpHu1Q8VSOL8MS91Jo x9K50uoHLg8IkriC+0sLR6QTRfqAlIknTnzIVpYRj40VFQvP69cRTE3zxdR9UZPVLIvsGs3QVT8 93oWglDypvxbtHg== X-Developer-Key: i=khilman@baylibre.com; a=openpgp; fpr=7B87460E16927FA9F5BFF10C5937189AD3FBC665 After primary SCMI pmdomain is created, use new of_genpd helper which checks for child domain mappings defined in power-domains-child-ids. Also remove any child domain mappings when SCMI domain is removed. Signed-off-by: Kevin Hilman (TI) Tested-by: Dhruva Gole --- drivers/pmdomain/arm/scmi_pm_domain.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/drivers/pmdomain/arm/scmi_pm_domain.c b/drivers/pmdomain/arm/s= cmi_pm_domain.c index b5e2ffd5ea64..9d8faef44aa9 100644 --- a/drivers/pmdomain/arm/scmi_pm_domain.c +++ b/drivers/pmdomain/arm/scmi_pm_domain.c @@ -114,6 +114,14 @@ static int scmi_pm_domain_probe(struct scmi_device *sd= ev) =20 dev_set_drvdata(dev, scmi_pd_data); =20 + /* + * Parse (optional) power-domains-child-ids property to + * establish parent-child relationships + */ + ret =3D of_genpd_add_child_ids(np, scmi_pd_data); + if (ret < 0 && ret !=3D -ENOENT) + pr_err("Failed to parse power-domains-child-ids for %pOF: %d\n", np, ret= ); + return 0; err_rm_genpds: for (i =3D num_domains - 1; i >=3D 0; i--) @@ -129,9 +137,13 @@ static void scmi_pm_domain_remove(struct scmi_device *= sdev) struct device *dev =3D &sdev->dev; struct device_node *np =3D dev->of_node; =20 + scmi_pd_data =3D dev_get_drvdata(dev); + + /* Remove any parent-child relationships established at probe time */ + of_genpd_remove_child_ids(np, scmi_pd_data); + of_genpd_del_provider(np); =20 - scmi_pd_data =3D dev_get_drvdata(dev); for (i =3D 0; i < scmi_pd_data->num_domains; i++) { if (!scmi_pd_data->domains[i]) continue; --=20 2.51.0