drm/fb-helper: Remove struct drm_fb_helper.fb_probe

The callback fb_probe in struct drm_fb_helper is unused. Remove it.
New drivers should set struct drm_driver.fbdev_probe instead and call
drm_client_setup() to instantiate in-kernel DRM clients.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20241212170913.185939-13-tzimmermann@suse.de
Signed-off-by: Maarten Lankhorst <dev@lankhorst.se>
This commit is contained in:
Thomas Zimmermann 2024-12-12 18:08:53 +01:00 committed by Maarten Lankhorst
parent 69acb6bd5e
commit 41ff0b424d
2 changed files with 4 additions and 21 deletions

View File

@ -1634,6 +1634,9 @@ static int drm_fb_helper_single_fb_probe(struct drm_fb_helper *fb_helper)
struct fb_info *info;
int ret;
if (drm_WARN_ON(dev, !dev->driver->fbdev_probe))
return -EINVAL;
ret = drm_fb_helper_find_sizes(fb_helper, &sizes);
if (ret) {
/* First time: disable all crtc's.. */
@ -1643,10 +1646,7 @@ static int drm_fb_helper_single_fb_probe(struct drm_fb_helper *fb_helper)
}
/* push down into drivers */
if (dev->driver->fbdev_probe)
ret = dev->driver->fbdev_probe(fb_helper, &sizes);
else if (fb_helper->funcs)
ret = fb_helper->funcs->fb_probe(fb_helper, &sizes);
ret = dev->driver->fbdev_probe(fb_helper, &sizes);
if (ret < 0)
return ret;

View File

@ -69,23 +69,6 @@ struct drm_fb_helper_surface_size {
* Driver callbacks used by the fbdev emulation helper library.
*/
struct drm_fb_helper_funcs {
/**
* @fb_probe:
*
* Driver callback to allocate and initialize the fbdev info structure.
* Furthermore it also needs to allocate the DRM framebuffer used to
* back the fbdev.
*
* This callback is mandatory.
*
* RETURNS:
*
* The driver should return 0 on success and a negative error code on
* failure.
*/
int (*fb_probe)(struct drm_fb_helper *helper,
struct drm_fb_helper_surface_size *sizes);
/**
* @fb_dirty:
*