GNU Linux-libre 4.14.266-gnu1
[releases.git] / drivers / staging / media / imx / imx-ic.h
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