|
@@ -20,13 +20,20 @@
|
|
|
#define RWPF_MIN_WIDTH 1
|
|
|
#define RWPF_MIN_HEIGHT 1
|
|
|
|
|
|
+struct v4l2_rect *vsp1_rwpf_get_crop(struct vsp1_rwpf *rwpf,
|
|
|
+ struct v4l2_subdev_pad_config *config)
|
|
|
+{
|
|
|
+ return v4l2_subdev_get_try_crop(&rwpf->entity.subdev, config,
|
|
|
+ RWPF_PAD_SINK);
|
|
|
+}
|
|
|
+
|
|
|
/* -----------------------------------------------------------------------------
|
|
|
* V4L2 Subdevice Pad Operations
|
|
|
*/
|
|
|
|
|
|
-int vsp1_rwpf_enum_mbus_code(struct v4l2_subdev *subdev,
|
|
|
- struct v4l2_subdev_pad_config *cfg,
|
|
|
- struct v4l2_subdev_mbus_code_enum *code)
|
|
|
+static int vsp1_rwpf_enum_mbus_code(struct v4l2_subdev *subdev,
|
|
|
+ struct v4l2_subdev_pad_config *cfg,
|
|
|
+ struct v4l2_subdev_mbus_code_enum *code)
|
|
|
{
|
|
|
static const unsigned int codes[] = {
|
|
|
MEDIA_BUS_FMT_ARGB8888_1X32,
|
|
@@ -41,9 +48,9 @@ int vsp1_rwpf_enum_mbus_code(struct v4l2_subdev *subdev,
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
-int vsp1_rwpf_enum_frame_size(struct v4l2_subdev *subdev,
|
|
|
- struct v4l2_subdev_pad_config *cfg,
|
|
|
- struct v4l2_subdev_frame_size_enum *fse)
|
|
|
+static int vsp1_rwpf_enum_frame_size(struct v4l2_subdev *subdev,
|
|
|
+ struct v4l2_subdev_pad_config *cfg,
|
|
|
+ struct v4l2_subdev_frame_size_enum *fse)
|
|
|
{
|
|
|
struct vsp1_rwpf *rwpf = to_rwpf(subdev);
|
|
|
struct v4l2_subdev_pad_config *config;
|
|
@@ -76,16 +83,9 @@ int vsp1_rwpf_enum_frame_size(struct v4l2_subdev *subdev,
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
-struct v4l2_rect *vsp1_rwpf_get_crop(struct vsp1_rwpf *rwpf,
|
|
|
- struct v4l2_subdev_pad_config *config)
|
|
|
-{
|
|
|
- return v4l2_subdev_get_try_crop(&rwpf->entity.subdev, config,
|
|
|
- RWPF_PAD_SINK);
|
|
|
-}
|
|
|
-
|
|
|
-int vsp1_rwpf_get_format(struct v4l2_subdev *subdev,
|
|
|
- struct v4l2_subdev_pad_config *cfg,
|
|
|
- struct v4l2_subdev_format *fmt)
|
|
|
+static int vsp1_rwpf_get_format(struct v4l2_subdev *subdev,
|
|
|
+ struct v4l2_subdev_pad_config *cfg,
|
|
|
+ struct v4l2_subdev_format *fmt)
|
|
|
{
|
|
|
struct vsp1_rwpf *rwpf = to_rwpf(subdev);
|
|
|
struct v4l2_subdev_pad_config *config;
|
|
@@ -100,9 +100,9 @@ int vsp1_rwpf_get_format(struct v4l2_subdev *subdev,
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
-int vsp1_rwpf_set_format(struct v4l2_subdev *subdev,
|
|
|
- struct v4l2_subdev_pad_config *cfg,
|
|
|
- struct v4l2_subdev_format *fmt)
|
|
|
+static int vsp1_rwpf_set_format(struct v4l2_subdev *subdev,
|
|
|
+ struct v4l2_subdev_pad_config *cfg,
|
|
|
+ struct v4l2_subdev_format *fmt)
|
|
|
{
|
|
|
struct vsp1_rwpf *rwpf = to_rwpf(subdev);
|
|
|
struct v4l2_subdev_pad_config *config;
|
|
@@ -154,9 +154,9 @@ int vsp1_rwpf_set_format(struct v4l2_subdev *subdev,
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
-int vsp1_rwpf_get_selection(struct v4l2_subdev *subdev,
|
|
|
- struct v4l2_subdev_pad_config *cfg,
|
|
|
- struct v4l2_subdev_selection *sel)
|
|
|
+static int vsp1_rwpf_get_selection(struct v4l2_subdev *subdev,
|
|
|
+ struct v4l2_subdev_pad_config *cfg,
|
|
|
+ struct v4l2_subdev_selection *sel)
|
|
|
{
|
|
|
struct vsp1_rwpf *rwpf = to_rwpf(subdev);
|
|
|
struct v4l2_subdev_pad_config *config;
|
|
@@ -191,9 +191,9 @@ int vsp1_rwpf_get_selection(struct v4l2_subdev *subdev,
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
-int vsp1_rwpf_set_selection(struct v4l2_subdev *subdev,
|
|
|
- struct v4l2_subdev_pad_config *cfg,
|
|
|
- struct v4l2_subdev_selection *sel)
|
|
|
+static int vsp1_rwpf_set_selection(struct v4l2_subdev *subdev,
|
|
|
+ struct v4l2_subdev_pad_config *cfg,
|
|
|
+ struct v4l2_subdev_selection *sel)
|
|
|
{
|
|
|
struct vsp1_rwpf *rwpf = to_rwpf(subdev);
|
|
|
struct v4l2_subdev_pad_config *config;
|
|
@@ -250,6 +250,16 @@ int vsp1_rwpf_set_selection(struct v4l2_subdev *subdev,
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
+const struct v4l2_subdev_pad_ops vsp1_rwpf_pad_ops = {
|
|
|
+ .init_cfg = vsp1_entity_init_cfg,
|
|
|
+ .enum_mbus_code = vsp1_rwpf_enum_mbus_code,
|
|
|
+ .enum_frame_size = vsp1_rwpf_enum_frame_size,
|
|
|
+ .get_fmt = vsp1_rwpf_get_format,
|
|
|
+ .set_fmt = vsp1_rwpf_set_format,
|
|
|
+ .get_selection = vsp1_rwpf_get_selection,
|
|
|
+ .set_selection = vsp1_rwpf_set_selection,
|
|
|
+};
|
|
|
+
|
|
|
/* -----------------------------------------------------------------------------
|
|
|
* Controls
|
|
|
*/
|