Re: [PATCH v25 04/10] firmware: psci: Add support for PSCI auxiliary devices

From: Shivendra Pratap

Date: Wed Sep 23 2026 - 07:31:46 EST




On 9/21/2026 8:36 PM, Ulf Hansson wrote:
+++ b/drivers/firmware/psci/psci-devices.c
@@ -0,0 +1,41 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
+ */
+
+#include <linux/auxiliary_bus.h>
+#include <linux/init.h>
+#include <linux/of.h>
+#include <linux/platform_device.h>
+
+static int arm_psci_probe(struct platform_device *pdev)
+{
+ struct auxiliary_device *auxdev;
+
+ auxdev = __devm_auxiliary_device_create(&pdev->dev, "arm-psci",
+ "psci-cpuidle-domain", NULL, 0);
+ if (!auxdev)
+ return -ENOMEM;
+
+ return 0;
+}
+
+static const struct of_device_id arm_psci_of_match[] = {
+ { .compatible = "arm,psci-1.0" },
+ { }
+};
+
+static struct platform_driver arm_psci_driver = {
+ .probe = arm_psci_probe,
+ .driver = {
+ .name = "arm-psci",
+ .of_match_table = arm_psci_of_match,
+ .suppress_bind_attrs = true,
+ },
+};
+
+static int __init arm_psci_init(void)
+{
+ return platform_driver_register(&arm_psci_driver);
+}
+core_initcall(arm_psci_init);
I think we should move this to arch_initcall().

To allow the platform driver to probe, the corresponding device node
in DT needs to get populated, which happens at arch_initcall_sync().

That said, to be consistent, we should move the cpuidle-psci-domain.c
from core_initcall to arch_initcall too.

Ack. Will update it to arch_initcall at both, cpuidle-psci-domain.c and here.

thanks,
Shivendra