#include <linux/amba/bus.h>
#include <linux/dma-buf.h>
#include <linux/module.h>
#include <linux/of.h>
#include <linux/of_graph.h>
#include <linux/of_reserved_mem.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_fourcc.h>
#include <drm/drm_gem_dma_helper.h>
#include <drm/drm_gem_framebuffer_helper.h>
#include <drm/drm_of.h>
#include <drm/drm_panel.h>
#include <drm/drm_probe_helper.h>
#include <drm/drm_vblank.h>
#include "pl111_drm.h"
#include "pl111_versatile.h"
#include "pl111_nomadik.h"
#define DRIVER_DESC …
static const struct drm_mode_config_funcs mode_config_funcs = …;
static int pl111_modeset_init(struct drm_device *dev)
{ … }
static struct drm_gem_object *
pl111_gem_import_sg_table(struct drm_device *dev,
struct dma_buf_attachment *attach,
struct sg_table *sgt)
{ … }
DEFINE_DRM_GEM_DMA_FOPS(drm_fops);
static const struct drm_driver pl111_drm_driver = …;
static int pl111_amba_probe(struct amba_device *amba_dev,
const struct amba_id *id)
{ … }
static void pl111_amba_remove(struct amba_device *amba_dev)
{ … }
static void pl111_amba_shutdown(struct amba_device *amba_dev)
{ … }
static const u32 pl110_pixel_formats[] = …;
static const struct pl111_variant_data pl110_variant = …;
static const u32 pl111_pixel_formats[] = …;
static const struct pl111_variant_data pl111_variant = …;
static const u32 pl110_nomadik_pixel_formats[] = …;
static const struct pl111_variant_data pl110_nomadik_variant = …;
static const struct amba_id pl111_id_table[] = …;
MODULE_DEVICE_TABLE(amba, pl111_id_table);
static struct amba_driver pl111_amba_driver __maybe_unused = …;
#ifdef CONFIG_ARM_AMBA
module_amba_driver(pl111_amba_driver);
#endif
MODULE_DESCRIPTION(…);
MODULE_AUTHOR(…) …;
MODULE_LICENSE(…) …;