firmware: PSCI: Fix PSCI support for OF live trees
authorJon Hunter <jonathanh@nvidia.com>
Thu, 18 Jun 2020 11:54:38 +0000 (12:54 +0100)
committerTom Warren <twarren@nvidia.com>
Thu, 18 Jun 2020 20:14:50 +0000 (13:14 -0700)
commitfb264efbd2fef45ca96630c355cbe30957132f3f
tree9579d14a9995bfe5a3ea29fa88abaf982a82e315
parent9cb895203a46654f7ee6dd95be5c8ab05e4dfbd3
firmware: PSCI: Fix PSCI support for OF live trees

When CONFIG_OF_LIVE is enabled, dev_of_offset() cannot be used and
if used returns an invalid offset. This causes the call to
fdt_stringlist_get() in the psci_probe() to fail to read the 'method'
property from the PSCI node for the device and hence prevents PSCI
from working. Fix this by using the ofnode_read_string() API instead
of the fdt_stringlist_get() because this will handle reading the
property both when CONFIG_OF_LIVE is enabled or disabled.

Due to the above problem and since commit 81ea00838c68 ("efi_loader:
PSCI reset and shutdown") was added, the EFI system reset has been
broken for Tegra210 and Tegra196 platforms. This also fixes the EFI
system reset for these Tegra platforms.

Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Tested-by: Peter Robinson <pbrobinson@gmail.com>
drivers/firmware/psci.c