[PATCH 01/16] drm/vkms: Expose device creation and destruction

José Expósito posted 16 patches 10 months ago
There is a newer version of this series
[PATCH 01/16] drm/vkms: Expose device creation and destruction
Posted by José Expósito 10 months ago
In preparation for configfs support, expose vkms_create() and
vkms_destroy().

Co-developed-by: Louis Chauvet <louis.chauvet@bootlin.com>
Signed-off-by: Louis Chauvet <louis.chauvet@bootlin.com>
Signed-off-by: José Expósito <jose.exposito89@gmail.com>
---
 drivers/gpu/drm/vkms/vkms_drv.c | 4 ++--
 drivers/gpu/drm/vkms/vkms_drv.h | 4 ++++
 2 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/vkms/vkms_drv.c b/drivers/gpu/drm/vkms/vkms_drv.c
index a24d1655f7b8..23817c7b997e 100644
--- a/drivers/gpu/drm/vkms/vkms_drv.c
+++ b/drivers/gpu/drm/vkms/vkms_drv.c
@@ -146,7 +146,7 @@ static int vkms_modeset_init(struct vkms_device *vkmsdev)
 	return vkms_output_init(vkmsdev);
 }
 
-static int vkms_create(struct vkms_config *config)
+int vkms_create(struct vkms_config *config)
 {
 	int ret;
 	struct platform_device *pdev;
@@ -229,7 +229,7 @@ static int __init vkms_init(void)
 	return 0;
 }
 
-static void vkms_destroy(struct vkms_config *config)
+void vkms_destroy(struct vkms_config *config)
 {
 	struct platform_device *pdev;
 
diff --git a/drivers/gpu/drm/vkms/vkms_drv.h b/drivers/gpu/drm/vkms/vkms_drv.h
index a74a7fc3a056..0fe08cd0c461 100644
--- a/drivers/gpu/drm/vkms/vkms_drv.h
+++ b/drivers/gpu/drm/vkms/vkms_drv.h
@@ -223,6 +223,10 @@ struct vkms_device {
 #define to_vkms_plane_state(target)\
 	container_of(target, struct vkms_plane_state, base.base)
 
+/* VKMS device */
+int vkms_create(struct vkms_config *config);
+void vkms_destroy(struct vkms_config *config);
+
 /**
  * vkms_crtc_init() - Initialize a CRTC for VKMS
  * @dev: DRM device associated with the VKMS buffer
-- 
2.48.1

Re: [PATCH 01/16] drm/vkms: Expose device creation and destruction
Posted by Louis Chauvet 9 months, 3 weeks ago
On 18/02/25 - 18:07, José Expósito wrote:
> In preparation for configfs support, expose vkms_create() and
> vkms_destroy().
> 
> Co-developed-by: Louis Chauvet <louis.chauvet@bootlin.com>
> Signed-off-by: Louis Chauvet <louis.chauvet@bootlin.com>
> Signed-off-by: José Expósito <jose.exposito89@gmail.com>

Hi José,

First, thanks a lot for this series! I am very happy to see this moving, I
hope we will merge it soon!

> ---
>  drivers/gpu/drm/vkms/vkms_drv.c | 4 ++--
>  drivers/gpu/drm/vkms/vkms_drv.h | 4 ++++
>  2 files changed, 6 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/vkms/vkms_drv.c b/drivers/gpu/drm/vkms/vkms_drv.c
> index a24d1655f7b8..23817c7b997e 100644
> --- a/drivers/gpu/drm/vkms/vkms_drv.c
> +++ b/drivers/gpu/drm/vkms/vkms_drv.c
> @@ -146,7 +146,7 @@ static int vkms_modeset_init(struct vkms_device *vkmsdev)
>  	return vkms_output_init(vkmsdev);
>  }
>  
> -static int vkms_create(struct vkms_config *config)
> +int vkms_create(struct vkms_config *config)
>  {
>  	int ret;
>  	struct platform_device *pdev;
> @@ -229,7 +229,7 @@ static int __init vkms_init(void)
>  	return 0;
>  }
>  
> -static void vkms_destroy(struct vkms_config *config)
> +void vkms_destroy(struct vkms_config *config)
>  {
>  	struct platform_device *pdev;
>  
> diff --git a/drivers/gpu/drm/vkms/vkms_drv.h b/drivers/gpu/drm/vkms/vkms_drv.h
> index a74a7fc3a056..0fe08cd0c461 100644
> --- a/drivers/gpu/drm/vkms/vkms_drv.h
> +++ b/drivers/gpu/drm/vkms/vkms_drv.h
> @@ -223,6 +223,10 @@ struct vkms_device {
>  #define to_vkms_plane_state(target)\
>  	container_of(target, struct vkms_plane_state, base.base)
>  
> +/* VKMS device */
> +int vkms_create(struct vkms_config *config);
> +void vkms_destroy(struct vkms_config *config);

Can we add some documentation?

/**
 * vkms_create - Create a device from a configuration
 * @config: Config used to configure the new device
 *
 * A pointer to the created vkms_device is stored in @config
 * Returns 0 in case of success.
 */


/**
 * vkms_destroy - Destroy a device
 * @config: Config from which the device was created
 *
 * The device is completly removed, but the @config pointers remains valid 
 * and can be reused for new devices.
 */

With this kind of documentation:
Reviewed-by: Louis Chauvet <louis.chauvet@bootlin.com>

> +
>  /**
>   * vkms_crtc_init() - Initialize a CRTC for VKMS
>   * @dev: DRM device associated with the VKMS buffer
> -- 
> 2.48.1
>