dm: core: Create a struct for device runtime info
authorSimon Glass <sjg@chromium.org>
Mon, 15 Mar 2021 04:25:36 +0000 (17:25 +1300)
committerSimon Glass <sjg@chromium.org>
Fri, 26 Mar 2021 04:03:09 +0000 (17:03 +1300)
commitab933d802643ca51d276f0f449921a047126f8a1
treed984baab5d4daa7057bdfc281cb693db6468500d
parent95a5825f3134ff47f1e0cf37b4014b5c2e2027b5
dm: core: Create a struct for device runtime info

At present when driver model needs to change a device it simply updates
the struct udevice structure. But with of-platdata-inst most of the fields
are not modified at runtime. In fact, typically only the flags need to
change.

For systems running SPL from read-only memory it is convenient to separate
out the runtime information, so that the devices don't need to be copied
before being used.

Create a new udevice_rt table, similar to the existing driver_rt. For now
it just holds the flags, although they are not used in this patch.

Add a new Kconfig for the driver_rt data, since this is not needed when
of-platdata-inst is used.

Signed-off-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Simon Glass <sjg@chromium.org>
drivers/core/root.c
dts/Kconfig
include/asm-generic/global_data.h
include/dm/device.h
test/dm/of_platdata.c