|
@@ -447,6 +447,9 @@ static int mt9m111_s_crop(struct v4l2_subdev *sd, struct v4l2_crop *a)
|
|
|
dev_dbg(&client->dev, "%s left=%d, top=%d, width=%d, height=%d\n",
|
|
|
__func__, rect.left, rect.top, rect.width, rect.height);
|
|
|
|
|
|
+ if (a->type != V4L2_BUF_TYPE_VIDEO_CAPTURE)
|
|
|
+ return -EINVAL;
|
|
|
+
|
|
|
ret = mt9m111_make_rect(client, &rect);
|
|
|
if (!ret)
|
|
|
mt9m111->rect = rect;
|
|
@@ -466,12 +469,14 @@ static int mt9m111_g_crop(struct v4l2_subdev *sd, struct v4l2_crop *a)
|
|
|
|
|
|
static int mt9m111_cropcap(struct v4l2_subdev *sd, struct v4l2_cropcap *a)
|
|
|
{
|
|
|
+ if (a->type != V4L2_BUF_TYPE_VIDEO_CAPTURE)
|
|
|
+ return -EINVAL;
|
|
|
+
|
|
|
a->bounds.left = MT9M111_MIN_DARK_COLS;
|
|
|
a->bounds.top = MT9M111_MIN_DARK_ROWS;
|
|
|
a->bounds.width = MT9M111_MAX_WIDTH;
|
|
|
a->bounds.height = MT9M111_MAX_HEIGHT;
|
|
|
a->defrect = a->bounds;
|
|
|
- a->type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
|
|
|
a->pixelaspect.numerator = 1;
|
|
|
a->pixelaspect.denominator = 1;
|
|
|
|