xref: /openbmc/linux/drivers/staging/media/imx/imx-ic.h (revision ba61bb17)
1 /*
2  * V4L2 Image Converter Subdev for Freescale i.MX5/6 SOC
3  *
4  * Copyright (c) 2016 Mentor Graphics Inc.
5  *
6  * This program is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation; either version 2 of the License, or
9  * (at your option) any later version.
10  */
11 #ifndef _IMX_IC_H
12 #define _IMX_IC_H
13 
14 #include <media/v4l2-subdev.h>
15 
16 struct imx_ic_priv {
17 	struct device *dev;
18 	struct v4l2_subdev sd;
19 	int    ipu_id;
20 	int    task_id;
21 	void   *prp_priv;
22 	void   *task_priv;
23 };
24 
25 struct imx_ic_ops {
26 	const struct v4l2_subdev_ops *subdev_ops;
27 	const struct v4l2_subdev_internal_ops *internal_ops;
28 	const struct media_entity_operations *entity_ops;
29 
30 	int (*init)(struct imx_ic_priv *ic_priv);
31 	void (*remove)(struct imx_ic_priv *ic_priv);
32 };
33 
34 extern struct imx_ic_ops imx_ic_prp_ops;
35 extern struct imx_ic_ops imx_ic_prpencvf_ops;
36 extern struct imx_ic_ops imx_ic_pp_ops;
37 
38 #endif
39