mfd: wm8350-i2c: Make sure the i2c regmap functions are compiled
[linux/fpc-iii.git] / drivers / media / platform / vsp1 / vsp1_entity.h
blobc4feab2cbb8183b79146b08bb76fc60893f44f06
1 /*
2 * vsp1_entity.h -- R-Car VSP1 Base Entity
4 * Copyright (C) 2013 Renesas Corporation
6 * Contact: Laurent Pinchart (laurent.pinchart@ideasonboard.com)
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation; either version 2 of the License, or
11 * (at your option) any later version.
13 #ifndef __VSP1_ENTITY_H__
14 #define __VSP1_ENTITY_H__
16 #include <linux/list.h>
18 #include <media/v4l2-subdev.h>
20 struct vsp1_device;
22 enum vsp1_entity_type {
23 VSP1_ENTITY_LIF,
24 VSP1_ENTITY_RPF,
25 VSP1_ENTITY_UDS,
26 VSP1_ENTITY_WPF,
29 struct vsp1_entity {
30 struct vsp1_device *vsp1;
32 enum vsp1_entity_type type;
33 unsigned int index;
34 unsigned int id;
35 unsigned int route;
37 struct list_head list_dev;
38 struct list_head list_pipe;
40 struct media_pad *pads;
41 unsigned int source_pad;
43 struct media_entity *sink;
45 struct v4l2_subdev subdev;
46 struct v4l2_mbus_framefmt *formats;
49 static inline struct vsp1_entity *to_vsp1_entity(struct v4l2_subdev *subdev)
51 return container_of(subdev, struct vsp1_entity, subdev);
54 int vsp1_entity_init(struct vsp1_device *vsp1, struct vsp1_entity *entity,
55 unsigned int num_pads);
56 void vsp1_entity_destroy(struct vsp1_entity *entity);
58 extern const struct v4l2_subdev_internal_ops vsp1_subdev_internal_ops;
59 extern const struct media_entity_operations vsp1_media_ops;
61 struct v4l2_mbus_framefmt *
62 vsp1_entity_get_pad_format(struct vsp1_entity *entity,
63 struct v4l2_subdev_fh *fh,
64 unsigned int pad, u32 which);
65 void vsp1_entity_init_formats(struct v4l2_subdev *subdev,
66 struct v4l2_subdev_fh *fh);
68 #endif /* __VSP1_ENTITY_H__ */