#include <linux/moduleparam.h>
#include <linux/vmalloc.h>
#include <drm/drm_crtc_helper.h>
#include <drm/drm_drv.h>
#include <drm/drm_fb_helper.h>
#include <drm/drm_framebuffer.h>
#include <drm/drm_gem.h>
#include <drm/drm_print.h>
#include <drm/drm_fbdev_ttm.h>
static int drm_fbdev_ttm_fb_open(struct fb_info *info, int user)
{ … }
static int drm_fbdev_ttm_fb_release(struct fb_info *info, int user)
{ … }
FB_GEN_DEFAULT_DEFERRED_SYSMEM_OPS(drm_fbdev_ttm,
drm_fb_helper_damage_range,
drm_fb_helper_damage_area);
static void drm_fbdev_ttm_fb_destroy(struct fb_info *info)
{ … }
static const struct fb_ops drm_fbdev_ttm_fb_ops = …;
static int drm_fbdev_ttm_helper_fb_probe(struct drm_fb_helper *fb_helper,
struct drm_fb_helper_surface_size *sizes)
{ … }
static void drm_fbdev_ttm_damage_blit_real(struct drm_fb_helper *fb_helper,
struct drm_clip_rect *clip,
struct iosys_map *dst)
{ … }
static int drm_fbdev_ttm_damage_blit(struct drm_fb_helper *fb_helper,
struct drm_clip_rect *clip)
{ … }
static int drm_fbdev_ttm_helper_fb_dirty(struct drm_fb_helper *helper,
struct drm_clip_rect *clip)
{ … }
static const struct drm_fb_helper_funcs drm_fbdev_ttm_helper_funcs = …;
static void drm_fbdev_ttm_client_unregister(struct drm_client_dev *client)
{ … }
static int drm_fbdev_ttm_client_restore(struct drm_client_dev *client)
{ … }
static int drm_fbdev_ttm_client_hotplug(struct drm_client_dev *client)
{ … }
static const struct drm_client_funcs drm_fbdev_ttm_client_funcs = …;
void drm_fbdev_ttm_setup(struct drm_device *dev, unsigned int preferred_bpp)
{ … }
EXPORT_SYMBOL(…);