#include <linux/bitfield.h>
#include <linux/slab.h>
#include <linux/interrupt.h>
#include <linux/irq.h>
#include <linux/mfd/syscon.h>
#include <linux/module.h>
#include <linux/of.h>
#include <linux/of_platform.h>
#include <linux/platform_device.h>
#include <linux/pm_runtime.h>
#include <linux/regmap.h>
#include <media/v4l2-event.h>
#include <media/v4l2-mem2mem.h>
#include <media/videobuf2-dma-contig.h>
#include <media/v4l2-device.h>
#include "mtk_vcodec_dec.h"
#include "mtk_vcodec_dec_hw.h"
#include "mtk_vcodec_dec_pm.h"
#include "../common/mtk_vcodec_intr.h"
static int mtk_vcodec_get_hw_count(struct mtk_vcodec_dec_ctx *ctx, struct mtk_vcodec_dec_dev *dev)
{ … }
static bool mtk_vcodec_is_hw_active(struct mtk_vcodec_dec_dev *dev)
{ … }
static irqreturn_t mtk_vcodec_dec_irq_handler(int irq, void *priv)
{ … }
static int mtk_vcodec_get_reg_bases(struct mtk_vcodec_dec_dev *dev)
{ … }
static int mtk_vcodec_init_dec_resources(struct mtk_vcodec_dec_dev *dev)
{ … }
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 void mtk_vcodec_dec_get_chip_name(struct mtk_vcodec_dec_dev *vdec_dev)
{ … }
static int mtk_vcodec_probe(struct platform_device *pdev)
{ … }
static const struct of_device_id mtk_vcodec_match[] = …;
MODULE_DEVICE_TABLE(of, mtk_vcodec_match);
static void mtk_vcodec_dec_remove(struct platform_device *pdev)
{ … }
static struct platform_driver mtk_vcodec_dec_driver = …;
module_platform_driver(…) …;
MODULE_LICENSE(…) …;
MODULE_DESCRIPTION(…) …;