#include <linux/component.h>
#include <linux/dma-mapping.h>
#include <linux/module.h>
#include <linux/of.h>
#include <linux/of_device.h>
#include <linux/platform_device.h>
#include <linux/uaccess.h>
#include <drm/drm_debugfs.h>
#include <drm/drm_drv.h>
#include <drm/drm_file.h>
#include <drm/drm_ioctl.h>
#include <drm/drm_of.h>
#include <drm/drm_prime.h>
#include "etnaviv_cmdbuf.h"
#include "etnaviv_drv.h"
#include "etnaviv_gpu.h"
#include "etnaviv_gem.h"
#include "etnaviv_mmu.h"
#include "etnaviv_perfmon.h"
static struct device_node *etnaviv_of_first_available_node(void)
{ … }
static void load_gpu(struct drm_device *dev)
{ … }
static int etnaviv_open(struct drm_device *dev, struct drm_file *file)
{ … }
static void etnaviv_postclose(struct drm_device *dev, struct drm_file *file)
{ … }
#ifdef CONFIG_DEBUG_FS
static int etnaviv_gem_show(struct drm_device *dev, struct seq_file *m)
{ … }
static int etnaviv_mm_show(struct drm_device *dev, struct seq_file *m)
{ … }
static int etnaviv_mmu_show(struct etnaviv_gpu *gpu, struct seq_file *m)
{ … }
static void etnaviv_buffer_dump(struct etnaviv_gpu *gpu, struct seq_file *m)
{ … }
static int etnaviv_ring_show(struct etnaviv_gpu *gpu, struct seq_file *m)
{ … }
static int show_unlocked(struct seq_file *m, void *arg)
{ … }
static int show_each_gpu(struct seq_file *m, void *arg)
{ … }
static struct drm_info_list etnaviv_debugfs_list[] = …;
static void etnaviv_debugfs_init(struct drm_minor *minor)
{ … }
#endif
static int etnaviv_ioctl_get_param(struct drm_device *dev, void *data,
struct drm_file *file)
{ … }
static int etnaviv_ioctl_gem_new(struct drm_device *dev, void *data,
struct drm_file *file)
{ … }
static int etnaviv_ioctl_gem_cpu_prep(struct drm_device *dev, void *data,
struct drm_file *file)
{ … }
static int etnaviv_ioctl_gem_cpu_fini(struct drm_device *dev, void *data,
struct drm_file *file)
{ … }
static int etnaviv_ioctl_gem_info(struct drm_device *dev, void *data,
struct drm_file *file)
{ … }
static int etnaviv_ioctl_wait_fence(struct drm_device *dev, void *data,
struct drm_file *file)
{ … }
static int etnaviv_ioctl_gem_userptr(struct drm_device *dev, void *data,
struct drm_file *file)
{ … }
static int etnaviv_ioctl_gem_wait(struct drm_device *dev, void *data,
struct drm_file *file)
{ … }
static int etnaviv_ioctl_pm_query_dom(struct drm_device *dev, void *data,
struct drm_file *file)
{ … }
static int etnaviv_ioctl_pm_query_sig(struct drm_device *dev, void *data,
struct drm_file *file)
{ … }
static const struct drm_ioctl_desc etnaviv_ioctls[] = …;
DEFINE_DRM_GEM_FOPS(fops);
static const struct drm_driver etnaviv_drm_driver = …;
static int etnaviv_bind(struct device *dev)
{ … }
static void etnaviv_unbind(struct device *dev)
{ … }
static const struct component_master_ops etnaviv_master_ops = …;
static int etnaviv_pdev_probe(struct platform_device *pdev)
{ … }
static void etnaviv_pdev_remove(struct platform_device *pdev)
{ … }
static struct platform_driver etnaviv_platform_driver = …;
static int etnaviv_create_platform_device(const char *name,
struct platform_device **ppdev)
{ … }
static void etnaviv_destroy_platform_device(struct platform_device **ppdev)
{ … }
static struct platform_device *etnaviv_drm;
static int __init etnaviv_init(void)
{ … }
module_init(…) …;
static void __exit etnaviv_exit(void)
{ … }
module_exit(etnaviv_exit);
MODULE_AUTHOR(…) …;
MODULE_AUTHOR(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;
MODULE_ALIAS(…) …;