[PATCH RFC v2 03/18] drm/vkms: Move default_config creation to its own function
Louis Chauvet
louis.chauvet at bootlin.com
Fri Nov 22 17:20:07 UTC 2024
Extract the initialization of the default configuration to a function.
Refactor, no functional changes.
Signed-off-by: Louis Chauvet <louis.chauvet at bootlin.com>
[Changes: Cherry pick and solve conflicts]
Signed-off-by: José Expósito <jose.exposito89 at gmail.com>
---
drivers/gpu/drm/vkms/vkms_config.c | 16 ++++++++++++++++
drivers/gpu/drm/vkms/vkms_config.h | 9 +++++++++
drivers/gpu/drm/vkms/vkms_drv.c | 7 +------
3 files changed, 26 insertions(+), 6 deletions(-)
diff --git a/drivers/gpu/drm/vkms/vkms_config.c b/drivers/gpu/drm/vkms/vkms_config.c
index 8d5c1429e6e196ef46c95c6ae73330bc4be2be39..f7e0d39952ac73ea49c710b49becd391b5aaa66a 100644
--- a/drivers/gpu/drm/vkms/vkms_config.c
+++ b/drivers/gpu/drm/vkms/vkms_config.c
@@ -18,6 +18,22 @@ struct vkms_config *vkms_config_create(void)
}
EXPORT_SYMBOL_IF_KUNIT(vkms_config_create);
+struct vkms_config *vkms_config_alloc_default(bool enable_writeback, bool enable_overlay,
+ bool enable_cursor)
+{
+ struct vkms_config *vkms_config = vkms_config_create();
+
+ if (IS_ERR(vkms_config))
+ return vkms_config;
+
+ vkms_config->writeback = enable_writeback;
+ vkms_config->overlay = enable_overlay;
+ vkms_config->cursor = enable_cursor;
+
+ return vkms_config;
+}
+
+
void vkms_config_destroy(struct vkms_config *config)
{
kfree(config);
diff --git a/drivers/gpu/drm/vkms/vkms_config.h b/drivers/gpu/drm/vkms/vkms_config.h
index df571dd67352ca90fb47bd937fb9f11ceb95fcb2..2afb795586c6924a46dd4ba777bf22a4f51cddda 100644
--- a/drivers/gpu/drm/vkms/vkms_config.h
+++ b/drivers/gpu/drm/vkms/vkms_config.h
@@ -42,4 +42,13 @@ void vkms_config_destroy(struct vkms_config *config);
*/
bool vkms_config_is_valid(struct vkms_config *vkms_config);
+/**
+ * vkms_config_alloc_default() - Allocate the configuration for the default device
+ * @enable_writeback: Enable the writeback connector for this configuration
+ * @enable_overlay: Create some overlay planes
+ * @enable_cursor: Create a cursor plane
+ */
+struct vkms_config *vkms_config_alloc_default(bool enable_writeback, bool enable_overlay,
+ bool enable_cursor);
+
#endif //_VKMS_CONFIG_H
diff --git a/drivers/gpu/drm/vkms/vkms_drv.c b/drivers/gpu/drm/vkms/vkms_drv.c
index e399566a5b5d6a6cf92a41c72910e857fc4e743f..61ae2986568093ab0df7174a0a4678a75f9aad0c 100644
--- a/drivers/gpu/drm/vkms/vkms_drv.c
+++ b/drivers/gpu/drm/vkms/vkms_drv.c
@@ -215,15 +215,10 @@ static int vkms_create(struct vkms_config *config)
static int __init vkms_init(void)
{
int ret;
-
- default_config = vkms_config_create();
+ default_config = vkms_config_alloc_default(enable_writeback, enable_overlay, enable_cursor);
if (IS_ERR(default_config))
return PTR_ERR(default_config);
- default_config->cursor = enable_cursor;
- default_config->writeback = enable_writeback;
- default_config->overlay = enable_overlay;
-
ret = vkms_create(default_config);
if (ret)
vkms_config_destroy(default_config);
--
2.47.0
More information about the dri-devel
mailing list