#include <linux/clk.h>
#include <linux/dma-mapping.h>
#include <linux/err.h>
#include <linux/interrupt.h>
#include <linux/module.h>
#include <linux/of.h>
#include <linux/platform_device.h>
#include <linux/pm_runtime.h>
#include <linux/regmap.h>
#include <linux/reset.h>
#include <media/v4l2-device.h>
#include <media/v4l2-mc.h>
#include "sun6i_isp.h"
#include "sun6i_isp_capture.h"
#include "sun6i_isp_params.h"
#include "sun6i_isp_proc.h"
#include "sun6i_isp_reg.h"
u32 sun6i_isp_load_read(struct sun6i_isp_device *isp_dev, u32 offset)
{ … }
void sun6i_isp_load_write(struct sun6i_isp_device *isp_dev, u32 offset,
u32 value)
{ … }
static void sun6i_isp_state_ready(struct sun6i_isp_device *isp_dev)
{ … }
static void sun6i_isp_state_complete(struct sun6i_isp_device *isp_dev)
{ … }
void sun6i_isp_state_update(struct sun6i_isp_device *isp_dev, bool ready_hold)
{ … }
static int sun6i_isp_table_setup(struct sun6i_isp_device *isp_dev,
struct sun6i_isp_table *table)
{ … }
static void sun6i_isp_table_cleanup(struct sun6i_isp_device *isp_dev,
struct sun6i_isp_table *table)
{ … }
void sun6i_isp_tables_configure(struct sun6i_isp_device *isp_dev)
{ … }
static int sun6i_isp_tables_setup(struct sun6i_isp_device *isp_dev,
const struct sun6i_isp_variant *variant)
{ … }
static void sun6i_isp_tables_cleanup(struct sun6i_isp_device *isp_dev)
{ … }
static const struct media_device_ops sun6i_isp_media_ops = …;
static int sun6i_isp_v4l2_setup(struct sun6i_isp_device *isp_dev)
{ … }
static void sun6i_isp_v4l2_cleanup(struct sun6i_isp_device *isp_dev)
{ … }
static irqreturn_t sun6i_isp_interrupt(int irq, void *private)
{ … }
static int sun6i_isp_suspend(struct device *dev)
{ … }
static int sun6i_isp_resume(struct device *dev)
{ … }
static const struct dev_pm_ops sun6i_isp_pm_ops = …;
static const struct regmap_config sun6i_isp_regmap_config = …;
static int sun6i_isp_resources_setup(struct sun6i_isp_device *isp_dev,
struct platform_device *platform_dev)
{ … }
static void sun6i_isp_resources_cleanup(struct sun6i_isp_device *isp_dev)
{ … }
static int sun6i_isp_probe(struct platform_device *platform_dev)
{ … }
static void sun6i_isp_remove(struct platform_device *platform_dev)
{ … }
static const struct sun6i_isp_variant sun8i_v3s_isp_variant = …;
static const struct of_device_id sun6i_isp_of_match[] = …;
MODULE_DEVICE_TABLE(of, sun6i_isp_of_match);
static struct platform_driver sun6i_isp_platform_driver = …;
module_platform_driver(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_AUTHOR(…) …;
MODULE_LICENSE(…) …;