aboutsummaryrefslogtreecommitdiff
path: root/doc/develop
diff options
context:
space:
mode:
authorAKASHI Takahiro2022-04-15 16:15:36 +0900
committerHeinrich Schuchardt2022-04-23 22:05:34 +0200
commitb77324d83159db003c978f46303223b30cd1e041 (patch)
tree67b44e8491cb7a458cf1d494ac8efcf7deb88707 /doc/develop
parenta806f334018cdb0be8f007fa482b695ef136b061 (diff)
dm: tag: add some document
Some basic stuff about tag support is explained under doc/devlop/driver-model. Signed-off-by: AKASHI Takahiro <takahiro.akashi@linaro.org> Reviewed-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'doc/develop')
-rw-r--r--doc/develop/driver-model/design.rst21
1 files changed, 21 insertions, 0 deletions
diff --git a/doc/develop/driver-model/design.rst b/doc/develop/driver-model/design.rst
index b0e6337030a..5f33f9fbb32 100644
--- a/doc/develop/driver-model/design.rst
+++ b/doc/develop/driver-model/design.rst
@@ -1042,6 +1042,27 @@ 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
----------------