[Concept,08/18] video: Add vidconsole_uc_plat for per-device platform data
Commit Message
From: Simon Glass <simon.glass@canonical.com>
Add a new struct vidconsole_uc_plat to hold uclass platform data for
vidconsole devices. This includes ctx_size which allows drivers to
specify the size of context data they need.
This prepares for dynamic context allocation where drivers can have
different sized contexts.
Co-developed-by: Claude Opus 4.5 <noreply@anthropic.com>
Signed-off-by: Simon Glass <simon.glass@canonical.com>
---
drivers/video/vidconsole-uclass.c | 1 +
include/video_console.h | 13 +++++++++++++
2 files changed, 14 insertions(+)
@@ -928,6 +928,7 @@ UCLASS_DRIVER(vidconsole) = {
.post_probe = vidconsole_post_probe,
.pre_remove = vidconsole_pre_remove,
.per_device_auto = sizeof(struct vidconsole_priv),
+ .per_device_plat_auto = sizeof(struct vidconsole_uc_plat),
};
int vidconsole_clear_and_reset(struct udevice *dev)
@@ -136,6 +136,19 @@ struct vidconsole_ctx {
int xsize_frac;
};
+/**
+ * struct vidconsole_uc_plat - uclass platform data for a vidconsole device
+ *
+ * This holds information that the uclass needs to know about each device. It
+ * is accessed using dev_get_uclass_plat(dev).
+ *
+ * @ctx_size: Size of context data needed by the driver, or 0 to use the
+ * default (sizeof(struct vidconsole_ctx))
+ */
+struct vidconsole_uc_plat {
+ uint ctx_size;
+};
+
/**
* struct vidconsole_priv - uclass-private data about a console device
*