linux/drivers/media/i2c/dw9719.c

// SPDX-License-Identifier: GPL-2.0
// Copyright (c) 2012 Intel Corporation

/*
 * Based on linux/modules/camera/drivers/media/i2c/imx/dw9719.c in this repo:
 * https://github.com/ZenfoneArea/android_kernel_asus_zenfone5
 */

#include <linux/delay.h>
#include <linux/i2c.h>
#include <linux/pm_runtime.h>
#include <linux/regulator/consumer.h>
#include <linux/types.h>

#include <media/v4l2-cci.h>
#include <media/v4l2-common.h>
#include <media/v4l2-ctrls.h>
#include <media/v4l2-subdev.h>

#define DW9719_MAX_FOCUS_POS
#define DW9719_CTRL_STEPS
#define DW9719_CTRL_DELAY_US

#define DW9719_INFO
#define DW9719_ID

#define DW9719_CONTROL
#define DW9719_ENABLE_RINGING

#define DW9719_VCM_CURRENT

#define DW9719_MODE
#define DW9719_MODE_SAC_SHIFT
#define DW9719_MODE_SAC3

#define DW9719_VCM_FREQ
#define DW9719_DEFAULT_VCM_FREQ

#define to_dw9719_device(x)

struct dw9719_device {};

static int dw9719_detect(struct dw9719_device *dw9719)
{}

static int dw9719_power_down(struct dw9719_device *dw9719)
{}

static int dw9719_power_up(struct dw9719_device *dw9719)
{}

static int dw9719_t_focus_abs(struct dw9719_device *dw9719, s32 value)
{}

static int dw9719_set_ctrl(struct v4l2_ctrl *ctrl)
{}

static const struct v4l2_ctrl_ops dw9719_ctrl_ops =;

static int dw9719_suspend(struct device *dev)
{}

static int dw9719_resume(struct device *dev)
{}

static int dw9719_open(struct v4l2_subdev *sd, struct v4l2_subdev_fh *fh)
{}

static int dw9719_close(struct v4l2_subdev *sd, struct v4l2_subdev_fh *fh)
{}

static const struct v4l2_subdev_internal_ops dw9719_internal_ops =;

static int dw9719_init_controls(struct dw9719_device *dw9719)
{}

static const struct v4l2_subdev_ops dw9719_ops =;

static int dw9719_probe(struct i2c_client *client)
{}

static void dw9719_remove(struct i2c_client *client)
{}

static const struct i2c_device_id dw9719_id_table[] =;
MODULE_DEVICE_TABLE(i2c, dw9719_id_table);

static DEFINE_RUNTIME_DEV_PM_OPS(dw9719_pm_ops, dw9719_suspend, dw9719_resume,
				 NULL);

static struct i2c_driver dw9719_i2c_driver =;
module_i2c_driver();

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