1 /* SPDX-License-Identifier: GPL-2.0+ */
2 /*
3  * V4L2 Image Converter Subdev for Freescale i.MX5/6 SOC
4  *
5  * Copyright (c) 2016 Mentor Graphics Inc.
6  */
7 #ifndef _IMX_IC_H
8 #define _IMX_IC_H
9 
10 #include <media/v4l2-subdev.h>
11 
12 struct imx_ic_priv {
13 	struct device *ipu_dev;
14 	struct ipu_soc *ipu;
15 	struct v4l2_subdev sd;
16 	int    task_id;
17 	void   *task_priv;
18 };
19 
20 struct imx_ic_ops {
21 	const struct v4l2_subdev_ops *subdev_ops;
22 	const struct v4l2_subdev_internal_ops *internal_ops;
23 	const struct media_entity_operations *entity_ops;
24 
25 	int (*init)(struct imx_ic_priv *ic_priv);
26 	void (*remove)(struct imx_ic_priv *ic_priv);
27 };
28 
29 extern struct imx_ic_ops imx_ic_prp_ops;
30 extern struct imx_ic_ops imx_ic_prpencvf_ops;
31 
32 #endif
33