#include <linux/slab.h>
#include <linux/interrupt.h>
#include <linux/irq.h>
#include <linux/module.h>
#include <linux/of.h>
#include <linux/platform_device.h>
#include <linux/pm_runtime.h>
#include <media/v4l2-event.h>
#include <media/v4l2-mem2mem.h>
#include <media/videobuf2-dma-contig.h>
#include "mtk_vcodec_enc.h"
#include "mtk_vcodec_enc_pm.h"
#include "../common/mtk_vcodec_intr.h"
static const struct mtk_video_fmt mtk_video_formats_output[] = …;
static const struct mtk_video_fmt mtk_video_formats_capture_h264[] = …;
static const struct mtk_video_fmt mtk_video_formats_capture_vp8[] = …;
static void clean_irq_status(unsigned int irq_status, void __iomem *addr)
{ … }
static irqreturn_t mtk_vcodec_enc_irq_handler(int irq, void *priv)
{ … }
static int fops_vcodec_open(struct file *file)
{ … }
static int fops_vcodec_release(struct file *file)
{ … }
static const struct v4l2_file_operations mtk_vcodec_fops = …;
static int mtk_vcodec_probe(struct platform_device *pdev)
{ … }
static const struct mtk_vcodec_enc_pdata mt8173_avc_pdata = …;
static const struct mtk_vcodec_enc_pdata mt8173_vp8_pdata = …;
static const struct mtk_vcodec_enc_pdata mt8183_pdata = …;
static const struct mtk_vcodec_enc_pdata mt8188_pdata = …;
static const struct mtk_vcodec_enc_pdata mt8192_pdata = …;
static const struct mtk_vcodec_enc_pdata mt8195_pdata = …;
static const struct of_device_id mtk_vcodec_enc_match[] = …;
MODULE_DEVICE_TABLE(of, mtk_vcodec_enc_match);
static void mtk_vcodec_enc_remove(struct platform_device *pdev)
{ … }
static struct platform_driver mtk_vcodec_enc_driver = …;
module_platform_driver(…) …;
MODULE_LICENSE(…) …;
MODULE_DESCRIPTION(…) …;