linux/drivers/media/platform/samsung/exynos4-is/fimc-is.c

// SPDX-License-Identifier: GPL-2.0-only
/*
 * Samsung EXYNOS4x12 FIMC-IS (Imaging Subsystem) driver
 *
 * Copyright (C) 2013 Samsung Electronics Co., Ltd.
 *
 * Authors: Sylwester Nawrocki <[email protected]>
 *          Younghwan Joo <[email protected]>
 */
#define pr_fmt(fmt)

#include <linux/device.h>
#include <linux/debugfs.h>
#include <linux/delay.h>
#include <linux/errno.h>
#include <linux/firmware.h>
#include <linux/interrupt.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/i2c.h>
#include <linux/of_irq.h>
#include <linux/of_address.h>
#include <linux/of_graph.h>
#include <linux/of_platform.h>
#include <linux/platform_device.h>
#include <linux/pm_runtime.h>
#include <linux/slab.h>
#include <linux/types.h>
#include <linux/videodev2.h>
#include <media/videobuf2-dma-contig.h>

#include "media-dev.h"
#include "fimc-is.h"
#include "fimc-is-command.h"
#include "fimc-is-errno.h"
#include "fimc-is-i2c.h"
#include "fimc-is-param.h"
#include "fimc-is-regs.h"


static char *fimc_is_clocks[ISS_CLKS_MAX] =;

static void fimc_is_put_clocks(struct fimc_is *is)
{}

static int fimc_is_get_clocks(struct fimc_is *is)
{}

static int fimc_is_setup_clocks(struct fimc_is *is)
{}

static int fimc_is_enable_clocks(struct fimc_is *is)
{}

static void fimc_is_disable_clocks(struct fimc_is *is)
{}

static int fimc_is_parse_sensor_config(struct fimc_is *is, unsigned int index,
						struct device_node *node)
{}

static int fimc_is_register_subdevs(struct fimc_is *is)
{}

static int fimc_is_unregister_subdevs(struct fimc_is *is)
{}

static int fimc_is_load_setfile(struct fimc_is *is, char *file_name)
{}

int fimc_is_cpu_set_power(struct fimc_is *is, int on)
{}

/* Wait until @bit of @is->state is set to @state in the interrupt handler. */
int fimc_is_wait_event(struct fimc_is *is, unsigned long bit,
		       unsigned int state, unsigned int timeout)
{}

int fimc_is_start_firmware(struct fimc_is *is)
{}

/* Allocate working memory for the FIMC-IS CPU. */
static int fimc_is_alloc_cpu_memory(struct fimc_is *is)
{}

static void fimc_is_free_cpu_memory(struct fimc_is *is)
{}

static void fimc_is_load_firmware(const struct firmware *fw, void *context)
{}

static int fimc_is_request_firmware(struct fimc_is *is, const char *fw_name)
{}

/* General IS interrupt handler */
static void fimc_is_general_irq_handler(struct fimc_is *is)
{}

static irqreturn_t fimc_is_irq_handler(int irq, void *priv)
{}

static int fimc_is_hw_open_sensor(struct fimc_is *is,
				  struct fimc_is_sensor *sensor)
{}


int fimc_is_hw_initialize(struct fimc_is *is)
{}

static int fimc_is_show(struct seq_file *s, void *data)
{}

DEFINE_SHOW_ATTRIBUTE();

static void fimc_is_debugfs_remove(struct fimc_is *is)
{}

static void fimc_is_debugfs_create(struct fimc_is *is)
{}

static int fimc_is_runtime_resume(struct device *dev);
static int fimc_is_runtime_suspend(struct device *dev);

static void __iomem *fimc_is_get_pmu_regs(struct device *dev)
{}

static int fimc_is_probe(struct platform_device *pdev)
{}

static int fimc_is_runtime_resume(struct device *dev)
{}

static int fimc_is_runtime_suspend(struct device *dev)
{}

#ifdef CONFIG_PM_SLEEP
static int fimc_is_resume(struct device *dev)
{}

static int fimc_is_suspend(struct device *dev)
{}
#endif /* CONFIG_PM_SLEEP */

static void fimc_is_remove(struct platform_device *pdev)
{}

static const struct of_device_id fimc_is_of_match[] =;
MODULE_DEVICE_TABLE(of, fimc_is_of_match);

static const struct dev_pm_ops fimc_is_pm_ops =;

static struct platform_driver fimc_is_driver =;

static int fimc_is_module_init(void)
{}

static void fimc_is_module_exit(void)
{}

module_init();
module_exit(fimc_is_module_exit);

MODULE_ALIAS();
MODULE_AUTHOR();
MODULE_AUTHOR();
MODULE_DESCRIPTION();
MODULE_LICENSE();