Extract the initialization of the default configuration to a function.
Refactor, no functional changes.

Signed-off-by: Louis Chauvet <[email protected]>
[Changes: Cherry pick and solve conflicts]
Signed-off-by: José Expósito <[email protected]>
---
 drivers/gpu/drm/vkms/vkms_config.c | 15 +++++++++++++++
 drivers/gpu/drm/vkms/vkms_config.h |  9 +++++++++
 drivers/gpu/drm/vkms/vkms_drv.c    |  7 +------
 3 files changed, 25 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/vkms/vkms_config.c 
b/drivers/gpu/drm/vkms/vkms_config.c
index 
8d5c1429e6e196ef46c95c6ae73330bc4be2be39..e7c7f46303e8ce4c9de68878668b855ac0fc5d2e
 100644
--- a/drivers/gpu/drm/vkms/vkms_config.c
+++ b/drivers/gpu/drm/vkms/vkms_config.c
@@ -18,6 +18,21 @@ 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 
6b0e5fd0e26f04359b0d10252496c52b15d83896..4440549c3084a341d03ec66119ba7998012bd662
 100644
--- a/drivers/gpu/drm/vkms/vkms_drv.c
+++ b/drivers/gpu/drm/vkms/vkms_drv.c
@@ -213,15 +213,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.1

Reply via email to