[PATCH v2 10/20] dm: tag: add some document

AKASHI Takahiro takahiro.akashi at linaro.org
Thu Feb 10 09:11:14 CET 2022

Some basic stuff about tag support is explained under

Signed-off-by: AKASHI Takahiro <takahiro.akashi at linaro.org>
 doc/develop/driver-model/design.rst | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/doc/develop/driver-model/design.rst b/doc/develop/driver-model/design.rst
index b0e6337030a1..3e88dc40e6fd 100644
--- a/doc/develop/driver-model/design.rst
+++ b/doc/develop/driver-model/design.rst
@@ -1042,6 +1042,26 @@ data structure might be worthwhile in some rare cases, once we understand
 what the bottlenecks are.
+Tag Support
+It is sometimes useful for a subsystem to associate its own private
+data (or object) to a DM device, i.e. struct udevice, to support
+additional features.
+Tag support in driver model will give us the ability to do so dynamically
+instead of modifying "udevice" data structure. In the initial release, we
+will support two type of attributes:
+- a pointer with dm_tag_set_ptr(), and
+- an unsigned long with dm_tag_set_val()
+For example, UEFI subsystem utilizes the feature to maintain efi_disk
+objects depending on linked udevice's lifecycle.
+While the current implementation is quite simple, it will get evolved
+as the feature is more extensively used in U-Boot subsystems.
 Changes since v1

More information about the U-Boot mailing list