fdt: Fix creating new nodes at H_CAS
fdt: Fix creating new nodes at H_CAS

So far we only allowed new ibm,dynamic-reconfiguration-memory and memory
nodes in the FDT update blob at ibm,client-architecture-support (CAS).
DRC do not have unit addresses and are easy, for memory nodes we use
an address from the node name.

For early hot plugged PCI devices (plugged after reset but before CAS)
we have to have a similar hack as for memory@ but parse the address
differently because of different binding.

Instead, this changes new nodes creation. At pass#0 when we copy phandles
from the FDT update blob to SLOF, we create new nodes with all
new properties and call "finish-device" only after all properties are
copied to the new nodes. At this point we particularly care about "reg"
as this is the unit address which SLOF parses for us and sets the unit
address in "finish-device"; we could skip other properties for later
passes.

Note this creates naked nodes with no methods normally added to the nodes
as this bypasses normal discovery which SLOF performs at start. So
if pass#1 does not find the node created in pass#0, this points to
missing "decode-unit" at the new node parent (happens when adding bridge-
under-bridge) and this prints a message and resets.

While at this, fix few trailing spaces and comments.

Signed-off-by: Alexey Kardashevskiy <ac1fc56530d7d037e1ea666f130daca22d72f964@ozlabs.ru>
[groug: - use fdt-reg-unit to set the unit name
        - consolidate finish-device and unit name for nodes and subnodes
          with a new fdt-cas-finish-device word ]
Signed-off-by: Greg Kurz <cc878073a22fe20c2ded9f6f326476101ddf4b25@kaod.org>
Signed-off-by: Alexey Kardashevskiy <ac1fc56530d7d037e1ea666f130daca22d72f964@ozlabs.ru>

aik/SLOF,aik/SLOF,stefanberger/SLOF-tpm,qemu/SLOF,stefanberger/SLOF-tpm,qemu/SLOF,stefanberger/SLOF-tpm,qemu/SLOF,aik/SLOF