Re: [PATCH v13 07/10] firmware: psci: Implement vendor-specific resets as reboot-mode

From: Dmitry Baryshkov
Date: Mon Jul 28 2025 - 08:04:22 EST


On 28/07/2025 14:52, Krzysztof Kozlowski wrote:
On 28/07/2025 11:44, Dmitry Baryshkov wrote:
On Mon, Jul 28, 2025 at 06:53:14AM +0200, Krzysztof Kozlowski wrote:
On 27/07/2025 18:24, Shivendra Pratap wrote:
+
+static int __init psci_init_vendor_reset(void)
+{
+ struct reboot_mode_driver *reboot;
+ struct device_node *np;
+ int ret;
+
+ np = of_find_node_by_path("/psci/reboot-mode");


Why are you looking by full path, not by compatible? Is the ABI - above
path - expressed anywhere?

PSCI node is required to have a node name of psci, it doesn't have MMIO,

This is true

so it resides in the root node

This might be or not might be true. It is not defined by ABI. Anyway,
you answered where the ABI would be documented, even though as I said it
is not (/psci is not), but does not answer to first part: why you are
not using compatibles which is always the preferred method?

That's a good question, I've added one from my side: why do we need an extra late_init call.



and the reboot-mode is defined in the
previous patch. So, I'd assume, the path is defined.

As I said, path is not. only psci/reboot-mode is.

Do we have an _actual_ use case where PSCI node is not at at root node? If not, it's obviously a deficiency of the schema. Could you please provide suggestions on how to describe that in DT schema?


--
With best wishes
Dmitry