#include <linux/module.h>
#include <linux/moduleparam.h>
#include <linux/kernel.h>
#include <linux/errno.h>
#include <linux/string.h>
#include <linux/interrupt.h>
#include <linux/slab.h>
#include <linux/delay.h>
#include <linux/platform_device.h>
#include <linux/dma-mapping.h>
#include <linux/clk.h>
#include <linux/err.h>
#include <linux/vmalloc.h>
#include <linux/uaccess.h>
#include <linux/kthread.h>
#include <linux/io.h>
#include "mmp_ctrl.h"
static irqreturn_t ctrl_handle_irq(int irq, void *dev_id)
{ … }
static u32 fmt_to_reg(struct mmp_overlay *overlay, int pix_fmt)
{ … }
static void dmafetch_set_fmt(struct mmp_overlay *overlay)
{ … }
static void overlay_set_win(struct mmp_overlay *overlay, struct mmp_win *win)
{ … }
static void dmafetch_onoff(struct mmp_overlay *overlay, int on)
{ … }
static void path_enabledisable(struct mmp_path *path, int on)
{ … }
static void path_onoff(struct mmp_path *path, int on)
{ … }
static void overlay_set_onoff(struct mmp_overlay *overlay, int on)
{ … }
static void overlay_set_fetch(struct mmp_overlay *overlay, int fetch_id)
{ … }
static int overlay_set_addr(struct mmp_overlay *overlay, struct mmp_addr *addr)
{ … }
static void path_set_mode(struct mmp_path *path, struct mmp_mode *mode)
{ … }
static const struct mmp_overlay_ops mmphw_overlay_ops = …;
static void ctrl_set_default(struct mmphw_ctrl *ctrl)
{ … }
static void path_set_default(struct mmp_path *path)
{ … }
static int path_init(struct mmphw_path_plat *path_plat,
struct mmp_mach_path_config *config)
{ … }
static void path_deinit(struct mmphw_path_plat *path_plat)
{ … }
static int mmphw_probe(struct platform_device *pdev)
{ … }
static struct platform_driver mmphw_driver = …;
static int mmphw_init(void)
{ … }
module_init(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;