2 *************************************************************************
3 * Rockchip driver for CIF ISP 1.0
4 * (Based on Intel driver for sofiaxxx)
6 * Copyright (C) 2015 Intel Mobile Communications GmbH
7 * Copyright (C) 2016 Fuzhou Rockchip Electronics Co., Ltd.
10 * This program is free software; you can redistribute it and/or modify
11 * it under the terms of the GNU General Public License as published by
12 * the Free Software Foundation; either version 2 of the License, or
13 * (at your option) any later version.
14 *************************************************************************
17 #ifndef _CIF_ISP10_IMG_SRC_OPS_H
18 #define _CIF_ISP10_IMG_SRC_OPS_H
19 #include <linux/platform_data/rk_isp10_platform.h>
20 #include "cif_isp10_img_src_v4l2-subdev.h"
22 struct cif_isp10_img_src_ops {
24 CIF_ISP10_PLTFRM_DEVICE dev,
25 struct pltfrm_soc_cfg *soc_cfg);
32 int (*enum_strm_fmts)(
35 struct cif_isp10_strm_fmt_desc *strm_fmt_desc);
38 struct cif_isp10_strm_fmt *strm_fmt);
43 const char * (*g_name)(
51 struct cif_isp10_img_src_ext_ctrl *ctrl);
59 const char *device_type;
60 struct cif_isp10_img_src_ops ops;
61 } cif_isp10_img_src_ops[] = {
63 .device_type = CIF_ISP10_IMG_SRC_V4L2_I2C_SUBDEV,
66 cif_isp10_img_src_v4l2_i2c_subdev_to_img_src,
68 cif_isp10_img_src_v4l2_subdev_s_streaming,
70 cif_isp10_img_src_v4l2_subdev_s_power,
72 cif_isp10_img_src_v4l2_subdev_enum_strm_fmts,
74 cif_isp10_img_src_v4l2_subdev_s_strm_fmt,
76 cif_isp10_img_src_v4l2_subdev_g_ctrl,
78 cif_isp10_img_src_v4l2_subdev_g_name,
80 cif_isp10_img_src_v4l2_subdev_s_ctrl,
82 cif_isp10_img_src_v4l2_subdev_s_ext_ctrls,
84 cif_isp10_img_src_v4l2_subdev_ioctl