#include <linux/dma-mapping.h>
#include <linux/platform_device.h>
#include <linux/of.h>
#include <linux/sort.h>
#include <linux/sys_soc.h>
#include <drm/drm_atomic.h>
#include <drm/drm_atomic_helper.h>
#include <drm/drm_bridge.h>
#include <drm/drm_bridge_connector.h>
#include <drm/drm_drv.h>
#include <drm/drm_file.h>
#include <drm/drm_ioctl.h>
#include <drm/drm_panel.h>
#include <drm/drm_prime.h>
#include <drm/drm_probe_helper.h>
#include <drm/drm_vblank.h>
#include "omap_dmm_tiler.h"
#include "omap_drv.h"
#include "omap_fbdev.h"
#define DRIVER_NAME …
#define DRIVER_DESC …
#define DRIVER_DATE …
#define DRIVER_MAJOR …
#define DRIVER_MINOR …
#define DRIVER_PATCHLEVEL …
static void omap_atomic_wait_for_completion(struct drm_device *dev,
struct drm_atomic_state *old_state)
{ … }
static void omap_atomic_commit_tail(struct drm_atomic_state *old_state)
{ … }
static int drm_atomic_state_normalized_zpos_cmp(const void *a, const void *b)
{ … }
static int omap_atomic_update_normalize_zpos(struct drm_device *dev,
struct drm_atomic_state *state)
{ … }
static int omap_atomic_check(struct drm_device *dev,
struct drm_atomic_state *state)
{ … }
static const struct drm_mode_config_helper_funcs omap_mode_config_helper_funcs = …;
static const struct drm_mode_config_funcs omap_mode_config_funcs = …;
struct omap_global_state *
omap_get_existing_global_state(struct omap_drm_private *priv)
{ … }
struct omap_global_state *__must_check
omap_get_global_state(struct drm_atomic_state *s)
{ … }
static struct drm_private_state *
omap_global_duplicate_state(struct drm_private_obj *obj)
{ … }
static void omap_global_destroy_state(struct drm_private_obj *obj,
struct drm_private_state *state)
{ … }
static const struct drm_private_state_funcs omap_global_state_funcs = …;
static int omap_global_obj_init(struct drm_device *dev)
{ … }
static void omap_global_obj_fini(struct omap_drm_private *priv)
{ … }
static void omap_disconnect_pipelines(struct drm_device *ddev)
{ … }
static int omap_connect_pipelines(struct drm_device *ddev)
{ … }
static int omap_compare_pipelines(const void *a, const void *b)
{ … }
static int omap_modeset_init_properties(struct drm_device *dev)
{ … }
static int omap_display_id(struct omap_dss_device *output)
{ … }
static int omap_modeset_init(struct drm_device *dev)
{ … }
static void omap_modeset_fini(struct drm_device *ddev)
{ … }
static int ioctl_get_param(struct drm_device *dev, void *data,
struct drm_file *file_priv)
{ … }
#define OMAP_BO_USER_MASK …
static int ioctl_gem_new(struct drm_device *dev, void *data,
struct drm_file *file_priv)
{ … }
static int ioctl_gem_info(struct drm_device *dev, void *data,
struct drm_file *file_priv)
{ … }
static const struct drm_ioctl_desc ioctls[DRM_COMMAND_END - DRM_COMMAND_BASE] = …;
static int dev_open(struct drm_device *dev, struct drm_file *file)
{ … }
DEFINE_DRM_GEM_FOPS(omapdriver_fops);
static const struct drm_driver omap_drm_driver = …;
static const struct soc_device_attribute omapdrm_soc_devices[] = …;
static int omapdrm_init(struct omap_drm_private *priv, struct device *dev)
{ … }
static void omapdrm_cleanup(struct omap_drm_private *priv)
{ … }
static int pdev_probe(struct platform_device *pdev)
{ … }
static void pdev_remove(struct platform_device *pdev)
{ … }
static void pdev_shutdown(struct platform_device *pdev)
{ … }
#ifdef CONFIG_PM_SLEEP
static int omap_drm_suspend(struct device *dev)
{ … }
static int omap_drm_resume(struct device *dev)
{ … }
#endif
static SIMPLE_DEV_PM_OPS(omapdrm_pm_ops, omap_drm_suspend, omap_drm_resume);
static struct platform_driver pdev = …;
static struct platform_driver * const drivers[] = …;
static int __init omap_drm_init(void)
{ … }
static void __exit omap_drm_fini(void)
{ … }
module_init(…) …;
module_exit(omap_drm_fini);
MODULE_AUTHOR(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_ALIAS(…) …;
MODULE_LICENSE(…) …;