#include <linux/bitfield.h>
#include <linux/clk.h>
#include <linux/mfd/syscon.h>
#include <linux/module.h>
#include <linux/of.h>
#include <linux/of_address.h>
#include <linux/of_reserved_mem.h>
#include <linux/platform_device.h>
#include <linux/regmap.h>
#include <linux/types.h>
#include <drm/drm_atomic_helper.h>
#include <drm/drm_drv.h>
#include <drm/drm_fbdev_dma.h>
#include <drm/drm_gem_dma_helper.h>
#include <drm/drm_print.h>
#include "logicvc_crtc.h"
#include "logicvc_drm.h"
#include "logicvc_interface.h"
#include "logicvc_mode.h"
#include "logicvc_layer.h"
#include "logicvc_of.h"
#include "logicvc_regs.h"
DEFINE_DRM_GEM_DMA_FOPS(logicvc_drm_fops);
static int logicvc_drm_gem_dma_dumb_create(struct drm_file *file_priv,
struct drm_device *drm_dev,
struct drm_mode_create_dumb *args)
{ … }
static struct drm_driver logicvc_drm_driver = …;
static struct regmap_config logicvc_drm_regmap_config = …;
static irqreturn_t logicvc_drm_irq_handler(int irq, void *data)
{ … }
static int logicvc_drm_config_parse(struct logicvc_drm *logicvc)
{ … }
static int logicvc_clocks_prepare(struct logicvc_drm *logicvc)
{ … }
static int logicvc_clocks_unprepare(struct logicvc_drm *logicvc)
{ … }
static const struct logicvc_drm_caps logicvc_drm_caps[] = …;
static const struct logicvc_drm_caps *
logicvc_drm_caps_match(struct logicvc_drm *logicvc)
{ … }
static int logicvc_drm_probe(struct platform_device *pdev)
{ … }
static void logicvc_drm_remove(struct platform_device *pdev)
{ … }
static void logicvc_drm_shutdown(struct platform_device *pdev)
{ … }
static const struct of_device_id logicvc_drm_of_table[] = …;
MODULE_DEVICE_TABLE(of, logicvc_drm_of_table);
static struct platform_driver logicvc_drm_platform_driver = …;
module_platform_driver(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;