mirror of
https://github.com/torvalds/linux.git
synced 2026-04-27 11:02:31 -04:00
Rework fbdev probing to support fbdev_probe in struct drm_driver and remove the old fb_probe callback. Provide an initializer macro that sets the callback in struct drm_driver according to the kernel configuration. Call drm_client_setup_with_color_mode() to run the kernel's default client setup for DRM. This commit also prepares support for the kernel's drm_log client (or any future client) in i915. Using drm_log will also require vmap support in GEM objects. 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-11-tzimmermann@suse.de Signed-off-by: Maarten Lankhorst <dev@lankhorst.se>
43 lines
1.1 KiB
C
43 lines
1.1 KiB
C
/* SPDX-License-Identifier: MIT */
|
|
/*
|
|
* Copyright © 2019 Intel Corporation
|
|
*/
|
|
|
|
#ifndef __INTEL_FBDEV_H__
|
|
#define __INTEL_FBDEV_H__
|
|
|
|
struct drm_fb_helper;
|
|
struct drm_fb_helper_surface_size;
|
|
struct drm_i915_private;
|
|
struct intel_fbdev;
|
|
struct intel_framebuffer;
|
|
|
|
#ifdef CONFIG_DRM_FBDEV_EMULATION
|
|
int intel_fbdev_driver_fbdev_probe(struct drm_fb_helper *helper,
|
|
struct drm_fb_helper_surface_size *sizes);
|
|
#define INTEL_FBDEV_DRIVER_OPS \
|
|
.fbdev_probe = intel_fbdev_driver_fbdev_probe
|
|
void intel_fbdev_setup(struct drm_i915_private *dev_priv);
|
|
struct intel_framebuffer *intel_fbdev_framebuffer(struct intel_fbdev *fbdev);
|
|
struct i915_vma *intel_fbdev_vma_pointer(struct intel_fbdev *fbdev);
|
|
|
|
#else
|
|
#define INTEL_FBDEV_DRIVER_OPS \
|
|
.fbdev_probe = NULL
|
|
static inline void intel_fbdev_setup(struct drm_i915_private *dev_priv)
|
|
{
|
|
}
|
|
static inline struct intel_framebuffer *intel_fbdev_framebuffer(struct intel_fbdev *fbdev)
|
|
{
|
|
return NULL;
|
|
}
|
|
|
|
static inline struct i915_vma *intel_fbdev_vma_pointer(struct intel_fbdev *fbdev)
|
|
{
|
|
return NULL;
|
|
}
|
|
|
|
#endif
|
|
|
|
#endif /* __INTEL_FBDEV_H__ */
|