#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/platform_device.h>
#include <linux/clk.h>
#include <linux/firmware.h>
#include <linux/interrupt.h>
#include <linux/reset.h>
#include "wave5-vpu.h"
#include "wave5-regdefine.h"
#include "wave5-vpuconfig.h"
#include "wave5.h"
#define VPU_PLATFORM_DEVICE_NAME …
#define VPU_CLK_NAME …
#define WAVE5_IS_ENC …
#define WAVE5_IS_DEC …
struct wave5_match_data { … };
static int vpu_poll_interval = …;
module_param(vpu_poll_interval, int, 0644);
int wave5_vpu_wait_interrupt(struct vpu_instance *inst, unsigned int timeout)
{ … }
static void wave5_vpu_handle_irq(void *dev_id)
{ … }
static irqreturn_t wave5_vpu_irq_thread(int irq, void *dev_id)
{ … }
static void wave5_vpu_irq_work_fn(struct kthread_work *work)
{ … }
static enum hrtimer_restart wave5_vpu_timer_callback(struct hrtimer *timer)
{ … }
static int wave5_vpu_load_firmware(struct device *dev, const char *fw_name,
u32 *revision)
{ … }
static int wave5_vpu_probe(struct platform_device *pdev)
{ … }
static void wave5_vpu_remove(struct platform_device *pdev)
{ … }
static const struct wave5_match_data ti_wave521c_data = …;
static const struct of_device_id wave5_dt_ids[] = …;
MODULE_DEVICE_TABLE(of, wave5_dt_ids);
static struct platform_driver wave5_vpu_driver = …;
module_platform_driver(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;