linux/drivers/gpu/drm/msm/msm_fbdev.c

// SPDX-License-Identifier: GPL-2.0-only
/*
 * Copyright (C) 2013 Red Hat
 * Author: Rob Clark <[email protected]>
 */

#include <linux/fb.h>

#include <drm/drm_drv.h>
#include <drm/drm_crtc_helper.h>
#include <drm/drm_fb_helper.h>
#include <drm/drm_fourcc.h>
#include <drm/drm_framebuffer.h>
#include <drm/drm_prime.h>

#include "msm_drv.h"
#include "msm_gem.h"
#include "msm_kms.h"

static bool fbdev =;
MODULE_PARM_DESC();
module_param(fbdev, bool, 0600);

/*
 * fbdev funcs, to implement legacy fbdev interface on top of drm driver
 */

FB_GEN_DEFAULT_DEFERRED_SYSMEM_OPS(msm_fbdev,
				   drm_fb_helper_damage_range,
				   drm_fb_helper_damage_area)

static int msm_fbdev_mmap(struct fb_info *info, struct vm_area_struct *vma)
{}

static void msm_fbdev_fb_destroy(struct fb_info *info)
{}

static const struct fb_ops msm_fb_ops =;

static int msm_fbdev_create(struct drm_fb_helper *helper,
		struct drm_fb_helper_surface_size *sizes)
{}

static int msm_fbdev_fb_dirty(struct drm_fb_helper *helper,
			      struct drm_clip_rect *clip)
{}

static const struct drm_fb_helper_funcs msm_fb_helper_funcs =;

/*
 * struct drm_client
 */

static void msm_fbdev_client_unregister(struct drm_client_dev *client)
{}

static int msm_fbdev_client_restore(struct drm_client_dev *client)
{}

static int msm_fbdev_client_hotplug(struct drm_client_dev *client)
{}

static const struct drm_client_funcs msm_fbdev_client_funcs =;

/* initialize fbdev helper */
void msm_fbdev_setup(struct drm_device *dev)
{}