[PATCH v2 9/9] drm/cma-helper: Remove unused fbdev code
Laurent Pinchart
laurent.pinchart at ideasonboard.com
Wed Nov 28 19:45:30 UTC 2018
Hi Noralf,
Thank you for the patch.
On Thursday, 25 October 2018 23:13:40 EET Noralf Trønnes wrote:
> CMA helper drivers have been converted to drm_fbdev_generic_setup()
> so the fbdev code can be removed.
>
> Cc: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
> Signed-off-by: Noralf Trønnes <noralf at tronnes.org>
> Acked-by: Sam Ravnborg <sam at ravnborg.org>
> ---
>
> Changes since version 1:
> - Rebased
>
> drivers/gpu/drm/Kconfig | 4 --
> drivers/gpu/drm/drm_fb_cma_helper.c | 130 ---------------------------------
> include/drm/drm_fb_cma_helper.h | 22 ------
> 3 files changed, 156 deletions(-)
>
> diff --git a/drivers/gpu/drm/Kconfig b/drivers/gpu/drm/Kconfig
> index 4385f00e1d05..bd943a71756c 100644
> --- a/drivers/gpu/drm/Kconfig
> +++ b/drivers/gpu/drm/Kconfig
> @@ -170,10 +170,6 @@ config DRM_KMS_CMA_HELPER
> bool
> depends on DRM
> select DRM_GEM_CMA_HELPER
> - select DRM_KMS_FB_HELPER
> - select FB_SYS_FILLRECT
> - select FB_SYS_COPYAREA
> - select FB_SYS_IMAGEBLIT
> help
> Choose this if you need the KMS CMA helper functions
>
> diff --git a/drivers/gpu/drm/drm_fb_cma_helper.c
> b/drivers/gpu/drm/drm_fb_cma_helper.c index fc2b42dd3dc6..0ddf9c65e5ab
> 100644
> --- a/drivers/gpu/drm/drm_fb_cma_helper.c
> +++ b/drivers/gpu/drm/drm_fb_cma_helper.c
> @@ -18,8 +18,6 @@
> */
>
> #include <drm/drmP.h>
> -#include <drm/drm_client.h>
> -#include <drm/drm_fb_helper.h>
> #include <drm/drm_framebuffer.h>
> #include <drm/drm_gem_cma_helper.h>
> #include <drm/drm_gem_framebuffer_helper.h>
> @@ -27,10 +25,6 @@
> #include <drm/drm_print.h>
As far as I can tell, you can also drop drm/drm_fb_cma_helper.h and drm/
drm_print.h. If you include drm/drm_fourcc.h and drm/drm_plane.h, you can also
drop drm/drmP.h.
Apart from that,
Reviewed-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
> #include <linux/module.h>
>
> -struct drm_fbdev_cma {
> - struct drm_fb_helper fb_helper;
> -};
> -
> /**
> * DOC: framebuffer cma helper functions
> *
> @@ -39,16 +33,8 @@ struct drm_fbdev_cma {
> *
> * drm_gem_fb_create() is used in the &drm_mode_config_funcs.fb_create
> * callback function to create a cma backed framebuffer.
> - *
> - * An fbdev framebuffer backed by cma is also available by calling
> - * drm_fb_cma_fbdev_init(). drm_fb_cma_fbdev_fini() tears it down.
> */
>
> -static inline struct drm_fbdev_cma *to_fbdev_cma(struct drm_fb_helper
> *helper) -{
> - return container_of(helper, struct drm_fbdev_cma, fb_helper);
> -}
> -
> /**
> * drm_fb_cma_get_gem_obj() - Get CMA GEM object for framebuffer
> * @fb: The framebuffer
> @@ -105,119 +91,3 @@ dma_addr_t drm_fb_cma_get_gem_addr(struct
> drm_framebuffer *fb, return paddr;
> }
> EXPORT_SYMBOL_GPL(drm_fb_cma_get_gem_addr);
> -
> -/**
> - * drm_fb_cma_fbdev_init() - Allocate and initialize fbdev emulation
> - * @dev: DRM device
> - * @preferred_bpp: Preferred bits per pixel for the device.
> - * @dev->mode_config.preferred_depth is used if this is
> zero. - * @max_conn_count: Maximum number of connectors.
> - * @dev->mode_config.num_connector is used if this is
> zero. - *
> - * Returns:
> - * Zero on success or negative error code on failure.
> - */
> -int drm_fb_cma_fbdev_init(struct drm_device *dev, unsigned int
> preferred_bpp, - unsigned int max_conn_count)
> -{
> - struct drm_fbdev_cma *fbdev_cma;
> -
> - /* dev->fb_helper will indirectly point to fbdev_cma after this call */
> - fbdev_cma = drm_fbdev_cma_init(dev, preferred_bpp, max_conn_count);
> - return PTR_ERR_OR_ZERO(fbdev_cma);
> -}
> -EXPORT_SYMBOL_GPL(drm_fb_cma_fbdev_init);
> -
> -/**
> - * drm_fb_cma_fbdev_fini() - Teardown fbdev emulation
> - * @dev: DRM device
> - */
> -void drm_fb_cma_fbdev_fini(struct drm_device *dev)
> -{
> - if (dev->fb_helper)
> - drm_fbdev_cma_fini(to_fbdev_cma(dev->fb_helper));
> -}
> -EXPORT_SYMBOL_GPL(drm_fb_cma_fbdev_fini);
> -
> -static const struct drm_fb_helper_funcs drm_fb_cma_helper_funcs = {
> - .fb_probe = drm_fb_helper_generic_probe,
> -};
> -
> -/**
> - * drm_fbdev_cma_init() - Allocate and initializes a drm_fbdev_cma struct
> - * @dev: DRM device
> - * @preferred_bpp: Preferred bits per pixel for the device
> - * @max_conn_count: Maximum number of connectors
> - *
> - * Returns a newly allocated drm_fbdev_cma struct or a ERR_PTR.
> - */
> -struct drm_fbdev_cma *drm_fbdev_cma_init(struct drm_device *dev,
> - unsigned int preferred_bpp, unsigned int max_conn_count)
> -{
> - struct drm_fbdev_cma *fbdev_cma;
> - struct drm_fb_helper *fb_helper;
> - int ret;
> -
> - fbdev_cma = kzalloc(sizeof(*fbdev_cma), GFP_KERNEL);
> - if (!fbdev_cma)
> - return ERR_PTR(-ENOMEM);
> -
> - fb_helper = &fbdev_cma->fb_helper;
> -
> - ret = drm_client_new(dev, &fb_helper->client, "fbdev", NULL);
> - if (ret)
> - goto err_free;
> -
> - ret = drm_fb_helper_fbdev_setup(dev, fb_helper, &drm_fb_cma_helper_funcs,
> - preferred_bpp, max_conn_count);
> - if (ret)
> - goto err_client_put;
> -
> - return fbdev_cma;
> -
> -err_client_put:
> - drm_client_release(&fb_helper->client);
> -err_free:
> - kfree(fbdev_cma);
> -
> - return ERR_PTR(ret);
> -}
> -EXPORT_SYMBOL_GPL(drm_fbdev_cma_init);
> -
> -/**
> - * drm_fbdev_cma_fini() - Free drm_fbdev_cma struct
> - * @fbdev_cma: The drm_fbdev_cma struct
> - */
> -void drm_fbdev_cma_fini(struct drm_fbdev_cma *fbdev_cma)
> -{
> - drm_fb_helper_unregister_fbi(&fbdev_cma->fb_helper);
> - /* All resources have now been freed by drm_fbdev_fb_destroy() */
> -}
> -EXPORT_SYMBOL_GPL(drm_fbdev_cma_fini);
> -
> -/**
> - * drm_fbdev_cma_restore_mode() - Restores initial framebuffer mode
> - * @fbdev_cma: The drm_fbdev_cma struct, may be NULL
> - *
> - * This function is usually called from the &drm_driver.lastclose callback.
> - */
> -void drm_fbdev_cma_restore_mode(struct drm_fbdev_cma *fbdev_cma)
> -{
> - if (fbdev_cma)
> - drm_fb_helper_restore_fbdev_mode_unlocked(&fbdev_cma->fb_helper);
> -}
> -EXPORT_SYMBOL_GPL(drm_fbdev_cma_restore_mode);
> -
> -/**
> - * drm_fbdev_cma_hotplug_event() - Poll for hotpulug events
> - * @fbdev_cma: The drm_fbdev_cma struct, may be NULL
> - *
> - * This function is usually called from the
> &drm_mode_config.output_poll_changed - * callback.
> - */
> -void drm_fbdev_cma_hotplug_event(struct drm_fbdev_cma *fbdev_cma)
> -{
> - if (fbdev_cma)
> - drm_fb_helper_hotplug_event(&fbdev_cma->fb_helper);
> -}
> -EXPORT_SYMBOL_GPL(drm_fbdev_cma_hotplug_event);
> diff --git a/include/drm/drm_fb_cma_helper.h
> b/include/drm/drm_fb_cma_helper.h index 8dbbe1eece1b..4becb09975a4 100644
> --- a/include/drm/drm_fb_cma_helper.h
> +++ b/include/drm/drm_fb_cma_helper.h
> @@ -2,31 +2,9 @@
> #ifndef __DRM_FB_CMA_HELPER_H__
> #define __DRM_FB_CMA_HELPER_H__
>
> -struct drm_fbdev_cma;
> -struct drm_gem_cma_object;
> -
> -struct drm_fb_helper_surface_size;
> -struct drm_framebuffer_funcs;
> -struct drm_fb_helper_funcs;
> struct drm_framebuffer;
> -struct drm_fb_helper;
> -struct drm_device;
> -struct drm_file;
> -struct drm_mode_fb_cmd2;
> -struct drm_plane;
> struct drm_plane_state;
>
> -int drm_fb_cma_fbdev_init(struct drm_device *dev, unsigned int
> preferred_bpp, - unsigned int max_conn_count);
> -void drm_fb_cma_fbdev_fini(struct drm_device *dev);
> -
> -struct drm_fbdev_cma *drm_fbdev_cma_init(struct drm_device *dev,
> - unsigned int preferred_bpp, unsigned int max_conn_count);
> -void drm_fbdev_cma_fini(struct drm_fbdev_cma *fbdev_cma);
> -
> -void drm_fbdev_cma_restore_mode(struct drm_fbdev_cma *fbdev_cma);
> -void drm_fbdev_cma_hotplug_event(struct drm_fbdev_cma *fbdev_cma);
> -
> struct drm_gem_cma_object *drm_fb_cma_get_gem_obj(struct drm_framebuffer
> *fb, unsigned int plane);
--
Regards,
Laurent Pinchart
More information about the dri-devel
mailing list