#include <linux/clk.h>
#include <linux/dma-buf.h>
#include <linux/irq.h>
#include <linux/io.h>
#include <linux/module.h>
#include <linux/of.h>
#include <linux/platform_device.h>
#include <linux/shmem_fs.h>
#include <linux/slab.h>
#include <drm/drm_atomic_helper.h>
#include <drm/drm_bridge.h>
#include <drm/drm_drv.h>
#include <drm/drm_fbdev_dma.h>
#include <drm/drm_gem_dma_helper.h>
#include <drm/drm_gem_framebuffer_helper.h>
#include <drm/drm_module.h>
#include <drm/drm_of.h>
#include <drm/drm_panel.h>
#include <drm/drm_probe_helper.h>
#include <drm/drm_vblank.h>
#include "tve200_drm.h"
#define DRIVER_DESC …
static const struct drm_mode_config_funcs mode_config_funcs = …;
static int tve200_modeset_init(struct drm_device *dev)
{ … }
DEFINE_DRM_GEM_DMA_FOPS(drm_fops);
static const struct drm_driver tve200_drm_driver = …;
static int tve200_probe(struct platform_device *pdev)
{ … }
static void tve200_remove(struct platform_device *pdev)
{ … }
static void tve200_shutdown(struct platform_device *pdev)
{ … }
static const struct of_device_id tve200_of_match[] = …;
static struct platform_driver tve200_driver = …;
drm_module_platform_driver(…);
MODULE_DESCRIPTION(…);
MODULE_AUTHOR(…) …;
MODULE_LICENSE(…) …;