linux-media.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Sylwester Nawrocki <sylwester.nawrocki@gmail.com>
To: Sakari Ailus <sakari.ailus@iki.fi>
Cc: linux-media@vger.kernel.org, t.stanislaws@samsung.com,
	laurent.pinchart@ideasonboard.com, hverkuil@xs4all.nl
Subject: Re: [PATCH 3/8] v4l: Unify selection targets across V4L2 and V4L2 subdev interfaces
Date: Sat, 30 Jun 2012 22:22:30 +0200	[thread overview]
Message-ID: <4FEF6006.3050109@gmail.com> (raw)
In-Reply-To: <1341075839-18586-3-git-send-email-sakari.ailus@iki.fi>

Hi Sakari,

On 06/30/2012 07:03 PM, Sakari Ailus wrote:

Would be good to add at least a small description here, that this
patch converts users of V4L2_SUBDEV_SEL_TGT_* to use V4L2_SEL_TGT_*,
or something similar.

> Signed-off-by: Sakari Ailus<sakari.ailus@iki.fi>
> Signed-off-by: Sylwester Nawrocki<s.nawrocki@samsung.com>
> ---
>   drivers/media/video/omap3isp/ispccdc.c      |    6 +-
>   drivers/media/video/omap3isp/isppreview.c   |    6 +-
>   drivers/media/video/omap3isp/ispresizer.c   |    6 +-
>   drivers/media/video/s5p-fimc/fimc-capture.c |   18 ++++----
>   drivers/media/video/s5p-fimc/fimc-lite.c    |   11 ++---
>   drivers/media/video/smiapp/smiapp-core.c    |   30 +++++++-------
>   drivers/media/video/v4l2-subdev.c           |    4 +-
>   include/linux/v4l2-common.h                 |   57 +++++++++++++++++++++++++++
>   include/linux/v4l2-subdev.h                 |   19 +-------
>   include/linux/videodev2.h                   |   25 +----------
>   10 files changed, 103 insertions(+), 79 deletions(-)
>   create mode 100644 include/linux/v4l2-common.h
>
> diff --git a/drivers/media/video/omap3isp/ispccdc.c b/drivers/media/video/omap3isp/ispccdc.c
> index f19774f..82df7a0 100644
> --- a/drivers/media/video/omap3isp/ispccdc.c
> +++ b/drivers/media/video/omap3isp/ispccdc.c
> @@ -2014,7 +2014,7 @@ static int ccdc_get_selection(struct v4l2_subdev *sd, struct v4l2_subdev_fh *fh,
>   		return -EINVAL;
>
>   	switch (sel->target) {
> -	case V4L2_SUBDEV_SEL_TGT_CROP_BOUNDS:
> +	case V4L2_SEL_TGT_CROP_BOUNDS:
>   		sel->r.left = 0;
>   		sel->r.top = 0;
>   		sel->r.width = INT_MAX;
> @@ -2024,7 +2024,7 @@ static int ccdc_get_selection(struct v4l2_subdev *sd, struct v4l2_subdev_fh *fh,
>   		ccdc_try_crop(ccdc, format,&sel->r);
>   		break;
>
> -	case V4L2_SUBDEV_SEL_TGT_CROP:
> +	case V4L2_SEL_TGT_CROP:
>   		sel->r = *__ccdc_get_crop(ccdc, fh, sel->which);
>   		break;
>
> @@ -2052,7 +2052,7 @@ static int ccdc_set_selection(struct v4l2_subdev *sd, struct v4l2_subdev_fh *fh,
>   	struct isp_ccdc_device *ccdc = v4l2_get_subdevdata(sd);
>   	struct v4l2_mbus_framefmt *format;
>
> -	if (sel->target != V4L2_SUBDEV_SEL_TGT_CROP ||
> +	if (sel->target != V4L2_SEL_TGT_CROP ||
>   	    sel->pad != CCDC_PAD_SOURCE_OF)
>   		return -EINVAL;
>
> diff --git a/drivers/media/video/omap3isp/isppreview.c b/drivers/media/video/omap3isp/isppreview.c
> index 1086f6a..6fa70f4 100644
> --- a/drivers/media/video/omap3isp/isppreview.c
> +++ b/drivers/media/video/omap3isp/isppreview.c
> @@ -1949,7 +1949,7 @@ static int preview_get_selection(struct v4l2_subdev *sd,
>   		return -EINVAL;
>
>   	switch (sel->target) {
> -	case V4L2_SUBDEV_SEL_TGT_CROP_BOUNDS:
> +	case V4L2_SEL_TGT_CROP_BOUNDS:
>   		sel->r.left = 0;
>   		sel->r.top = 0;
>   		sel->r.width = INT_MAX;
> @@ -1960,7 +1960,7 @@ static int preview_get_selection(struct v4l2_subdev *sd,
>   		preview_try_crop(prev, format,&sel->r);
>   		break;
>
> -	case V4L2_SUBDEV_SEL_TGT_CROP:
> +	case V4L2_SEL_TGT_CROP:
>   		sel->r = *__preview_get_crop(prev, fh, sel->which);
>   		break;
>
> @@ -1988,7 +1988,7 @@ static int preview_set_selection(struct v4l2_subdev *sd,
>   	struct isp_prev_device *prev = v4l2_get_subdevdata(sd);
>   	struct v4l2_mbus_framefmt *format;
>
> -	if (sel->target != V4L2_SUBDEV_SEL_TGT_CROP ||
> +	if (sel->target != V4L2_SEL_TGT_CROP ||
>   	    sel->pad != PREV_PAD_SINK)
>   		return -EINVAL;
>
> diff --git a/drivers/media/video/omap3isp/ispresizer.c b/drivers/media/video/omap3isp/ispresizer.c
> index 9456652..ae17d91 100644
> --- a/drivers/media/video/omap3isp/ispresizer.c
> +++ b/drivers/media/video/omap3isp/ispresizer.c
> @@ -1249,7 +1249,7 @@ static int resizer_get_selection(struct v4l2_subdev *sd,
>   					     sel->which);
>
>   	switch (sel->target) {
> -	case V4L2_SUBDEV_SEL_TGT_CROP_BOUNDS:
> +	case V4L2_SEL_TGT_CROP_BOUNDS:
>   		sel->r.left = 0;
>   		sel->r.top = 0;
>   		sel->r.width = INT_MAX;
> @@ -1259,7 +1259,7 @@ static int resizer_get_selection(struct v4l2_subdev *sd,
>   		resizer_calc_ratios(res,&sel->r, format_source,&ratio);
>   		break;
>
> -	case V4L2_SUBDEV_SEL_TGT_CROP:
> +	case V4L2_SEL_TGT_CROP:
>   		sel->r = *__resizer_get_crop(res, fh, sel->which);
>   		resizer_calc_ratios(res,&sel->r, format_source,&ratio);
>   		break;
> @@ -1293,7 +1293,7 @@ static int resizer_set_selection(struct v4l2_subdev *sd,
>   	struct v4l2_mbus_framefmt *format_sink, *format_source;
>   	struct resizer_ratio ratio;
>
> -	if (sel->target != V4L2_SUBDEV_SEL_TGT_CROP ||
> +	if (sel->target != V4L2_SEL_TGT_CROP ||
>   	    sel->pad != RESZ_PAD_SINK)
>   		return -EINVAL;
>
> diff --git a/drivers/media/video/s5p-fimc/fimc-capture.c b/drivers/media/video/s5p-fimc/fimc-capture.c
> index a3cd78d..521e371 100644
> --- a/drivers/media/video/s5p-fimc/fimc-capture.c
> +++ b/drivers/media/video/s5p-fimc/fimc-capture.c
> @@ -1429,9 +1429,9 @@ static int fimc_subdev_get_selection(struct v4l2_subdev *sd,
>   	mutex_lock(&fimc->lock);
>
>   	switch (sel->target) {
> -	case V4L2_SUBDEV_SEL_TGT_COMPOSE_BOUNDS:
> +	case V4L2_SEL_TGT_COMPOSE_BOUNDS:
>   		f =&ctx->d_frame;
> -	case V4L2_SUBDEV_SEL_TGT_CROP_BOUNDS:
> +	case V4L2_SEL_TGT_CROP_BOUNDS:
>   		r->width = f->o_width;
>   		r->height = f->o_height;
>   		r->left = 0;
> @@ -1439,10 +1439,10 @@ static int fimc_subdev_get_selection(struct v4l2_subdev *sd,
>   		mutex_unlock(&fimc->lock);
>   		return 0;
>
> -	case V4L2_SUBDEV_SEL_TGT_CROP_ACTUAL:
> +	case V4L2_SEL_TGT_CROP:
>   		try_sel = v4l2_subdev_get_try_crop(fh, sel->pad);
>   		break;
> -	case V4L2_SUBDEV_SEL_TGT_COMPOSE_ACTUAL:
> +	case V4L2_SEL_TGT_COMPOSE:
>   		try_sel = v4l2_subdev_get_try_compose(fh, sel->pad);
>   		f =&ctx->d_frame;
>   		break;
> @@ -1486,9 +1486,9 @@ static int fimc_subdev_set_selection(struct v4l2_subdev *sd,
>   	fimc_capture_try_selection(ctx, r, V4L2_SEL_TGT_CROP);
>
>   	switch (sel->target) {
> -	case V4L2_SUBDEV_SEL_TGT_COMPOSE_BOUNDS:
> +	case V4L2_SEL_TGT_COMPOSE_BOUNDS:
>   		f =&ctx->d_frame;
> -	case V4L2_SUBDEV_SEL_TGT_CROP_BOUNDS:
> +	case V4L2_SEL_TGT_CROP_BOUNDS:
>   		r->width = f->o_width;
>   		r->height = f->o_height;
>   		r->left = 0;
> @@ -1496,10 +1496,10 @@ static int fimc_subdev_set_selection(struct v4l2_subdev *sd,
>   		mutex_unlock(&fimc->lock);
>   		return 0;
>
> -	case V4L2_SUBDEV_SEL_TGT_CROP_ACTUAL:
> +	case V4L2_SEL_TGT_CROP:
>   		try_sel = v4l2_subdev_get_try_crop(fh, sel->pad);
>   		break;
> -	case V4L2_SUBDEV_SEL_TGT_COMPOSE_ACTUAL:
> +	case V4L2_SEL_TGT_COMPOSE:
>   		try_sel = v4l2_subdev_get_try_compose(fh, sel->pad);
>   		f =&ctx->d_frame;
>   		break;
> @@ -1515,7 +1515,7 @@ static int fimc_subdev_set_selection(struct v4l2_subdev *sd,
>   		set_frame_crop(f, r->left, r->top, r->width, r->height);
>   		set_bit(ST_CAPT_APPLY_CFG,&fimc->state);
>   		spin_unlock_irqrestore(&fimc->slock, flags);
> -		if (sel->target == V4L2_SUBDEV_SEL_TGT_COMPOSE_ACTUAL)
> +		if (sel->target == V4L2_SEL_TGT_COMPOSE)
>   			ctx->state |= FIMC_COMPOSE;
>   	}
>
> diff --git a/drivers/media/video/s5p-fimc/fimc-lite.c b/drivers/media/video/s5p-fimc/fimc-lite.c
> index 52ede56..8785089 100644
> --- a/drivers/media/video/s5p-fimc/fimc-lite.c
> +++ b/drivers/media/video/s5p-fimc/fimc-lite.c
> @@ -1086,9 +1086,9 @@ static int fimc_lite_subdev_get_selection(struct v4l2_subdev *sd,
>   	struct fimc_lite *fimc = v4l2_get_subdevdata(sd);
>   	struct flite_frame *f =&fimc->inp_frame;
>
> -	if ((sel->target != V4L2_SUBDEV_SEL_TGT_CROP_ACTUAL&&
> -	     sel->target != V4L2_SUBDEV_SEL_TGT_CROP_BOUNDS) ||
> -	    sel->pad != FLITE_SD_PAD_SINK)
> +	if ((sel->target != V4L2_SEL_TGT_CROP&&
> +	     sel->target != V4L2_SEL_TGT_CROP_BOUNDS) ||
> +	     sel->pad != FLITE_SD_PAD_SINK)
>   		return -EINVAL;
>
>   	if (sel->which == V4L2_SUBDEV_FORMAT_TRY) {
> @@ -1097,7 +1097,7 @@ static int fimc_lite_subdev_get_selection(struct v4l2_subdev *sd,
>   	}
>
>   	mutex_lock(&fimc->lock);
> -	if (sel->target == V4L2_SUBDEV_SEL_TGT_CROP_ACTUAL) {
> +	if (sel->target == V4L2_SEL_TGT_CROP) {
>   		sel->r = f->rect;
>   	} else {
>   		sel->r.left = 0;
> @@ -1122,8 +1122,7 @@ static int fimc_lite_subdev_set_selection(struct v4l2_subdev *sd,
>   	struct flite_frame *f =&fimc->inp_frame;
>   	int ret = 0;
>
> -	if (sel->target != V4L2_SUBDEV_SEL_TGT_CROP_ACTUAL ||
> -	    sel->pad != FLITE_SD_PAD_SINK)
> +	if (sel->target != V4L2_SEL_TGT_CROP || sel->pad != FLITE_SD_PAD_SINK)
>   		return -EINVAL;
>
>   	mutex_lock(&fimc->lock);
> diff --git a/drivers/media/video/smiapp/smiapp-core.c b/drivers/media/video/smiapp/smiapp-core.c
> index 37622bb6..9bbb5d3 100644
> --- a/drivers/media/video/smiapp/smiapp-core.c
> +++ b/drivers/media/video/smiapp/smiapp-core.c
> @@ -1630,7 +1630,7 @@ static void smiapp_propagate(struct v4l2_subdev *subdev,
>   	smiapp_get_crop_compose(subdev, fh, crops,&comp, which);
>
>   	switch (target) {
> -	case V4L2_SUBDEV_SEL_TGT_CROP:
> +	case V4L2_SEL_TGT_CROP:
>   		comp->width = crops[SMIAPP_PAD_SINK]->width;
>   		comp->height = crops[SMIAPP_PAD_SINK]->height;
>   		if (which == V4L2_SUBDEV_FORMAT_ACTIVE) {
> @@ -1646,7 +1646,7 @@ static void smiapp_propagate(struct v4l2_subdev *subdev,
>   			}
>   		}
>   		/* Fall through */
> -	case V4L2_SUBDEV_SEL_TGT_COMPOSE:
> +	case V4L2_SEL_TGT_COMPOSE:
>   		*crops[SMIAPP_PAD_SRC] = *comp;
>   		break;
>   	default:
> @@ -1722,7 +1722,7 @@ static int smiapp_set_format(struct v4l2_subdev *subdev,
>   	if (fmt->which == V4L2_SUBDEV_FORMAT_ACTIVE)
>   		ssd->sink_fmt = *crops[ssd->sink_pad];
>   	smiapp_propagate(subdev, fh, fmt->which,
> -			 V4L2_SUBDEV_SEL_TGT_CROP);
> +			 V4L2_SEL_TGT_CROP);
>
>   	mutex_unlock(&sensor->mutex);
>
> @@ -1957,7 +1957,7 @@ static int smiapp_set_compose(struct v4l2_subdev *subdev,
>
>   	*comp = sel->r;
>   	smiapp_propagate(subdev, fh, sel->which,
> -			 V4L2_SUBDEV_SEL_TGT_COMPOSE);
> +			 V4L2_SEL_TGT_COMPOSE);
>
>   	if (sel->which == V4L2_SUBDEV_FORMAT_ACTIVE)
>   		return smiapp_update_mode(sensor);
> @@ -1973,8 +1973,8 @@ static int __smiapp_sel_supported(struct v4l2_subdev *subdev,
>
>   	/* We only implement crop in three places. */
>   	switch (sel->target) {
> -	case V4L2_SUBDEV_SEL_TGT_CROP:
> -	case V4L2_SUBDEV_SEL_TGT_CROP_BOUNDS:
> +	case V4L2_SEL_TGT_CROP:
> +	case V4L2_SEL_TGT_CROP_BOUNDS:
>   		if (ssd == sensor->pixel_array
>   		&&  sel->pad == SMIAPP_PA_PAD_SRC)
>   			return 0;
> @@ -1987,8 +1987,8 @@ static int __smiapp_sel_supported(struct v4l2_subdev *subdev,
>   		    == SMIAPP_DIGITAL_CROP_CAPABILITY_INPUT_CROP)
>   			return 0;
>   		return -EINVAL;
> -	case V4L2_SUBDEV_SEL_TGT_COMPOSE:
> -	case V4L2_SUBDEV_SEL_TGT_COMPOSE_BOUNDS:
> +	case V4L2_SEL_TGT_COMPOSE:
> +	case V4L2_SEL_TGT_COMPOSE_BOUNDS:
>   		if (sel->pad == ssd->source_pad)
>   			return -EINVAL;
>   		if (ssd == sensor->binner)
> @@ -2050,7 +2050,7 @@ static int smiapp_set_crop(struct v4l2_subdev *subdev,
>
>   	if (ssd != sensor->pixel_array&&  sel->pad == SMIAPP_PAD_SINK)
>   		smiapp_propagate(subdev, fh, sel->which,
> -				 V4L2_SUBDEV_SEL_TGT_CROP);
> +				 V4L2_SEL_TGT_CROP);
>
>   	return 0;
>   }
> @@ -2084,7 +2084,7 @@ static int __smiapp_get_selection(struct v4l2_subdev *subdev,
>   	}
>
>   	switch (sel->target) {
> -	case V4L2_SUBDEV_SEL_TGT_CROP_BOUNDS:
> +	case V4L2_SEL_TGT_CROP_BOUNDS:
>   		if (ssd == sensor->pixel_array) {
>   			sel->r.width =
>   				sensor->limits[SMIAPP_LIMIT_X_ADDR_MAX] + 1;
> @@ -2096,11 +2096,11 @@ static int __smiapp_get_selection(struct v4l2_subdev *subdev,
>   			sel->r = *comp;
>   		}
>   		break;
> -	case V4L2_SUBDEV_SEL_TGT_CROP:
> -	case V4L2_SUBDEV_SEL_TGT_COMPOSE_BOUNDS:
> +	case V4L2_SEL_TGT_CROP:
> +	case V4L2_SEL_TGT_COMPOSE_BOUNDS:
>   		sel->r = *crops[sel->pad];
>   		break;
> -	case V4L2_SUBDEV_SEL_TGT_COMPOSE:
> +	case V4L2_SEL_TGT_COMPOSE:
>   		sel->r = *comp;
>   		break;
>   	}
> @@ -2147,10 +2147,10 @@ static int smiapp_set_selection(struct v4l2_subdev *subdev,
>   			      sel->r.height);
>
>   	switch (sel->target) {
> -	case V4L2_SUBDEV_SEL_TGT_CROP:
> +	case V4L2_SEL_TGT_CROP:
>   		ret = smiapp_set_crop(subdev, fh, sel);
>   		break;
> -	case V4L2_SUBDEV_SEL_TGT_COMPOSE:
> +	case V4L2_SEL_TGT_COMPOSE:
>   		ret = smiapp_set_compose(subdev, fh, sel);
>   		break;
>   	default:
> diff --git a/drivers/media/video/v4l2-subdev.c b/drivers/media/video/v4l2-subdev.c
> index cd86f0c..9182f81 100644
> --- a/drivers/media/video/v4l2-subdev.c
> +++ b/drivers/media/video/v4l2-subdev.c
> @@ -245,7 +245,7 @@ static long subdev_do_ioctl(struct file *file, unsigned int cmd, void *arg)
>   		memset(&sel, 0, sizeof(sel));
>   		sel.which = crop->which;
>   		sel.pad = crop->pad;
> -		sel.target = V4L2_SUBDEV_SEL_TGT_CROP;
> +		sel.target = V4L2_SEL_TGT_CROP;
>
>   		rval = v4l2_subdev_call(
>   			sd, pad, get_selection, subdev_fh,&sel);
> @@ -274,7 +274,7 @@ static long subdev_do_ioctl(struct file *file, unsigned int cmd, void *arg)
>   		memset(&sel, 0, sizeof(sel));
>   		sel.which = crop->which;
>   		sel.pad = crop->pad;
> -		sel.target = V4L2_SUBDEV_SEL_TGT_CROP;
> +		sel.target = V4L2_SEL_TGT_CROP;
>   		sel.r = crop->rect;
>
>   		rval = v4l2_subdev_call(
> diff --git a/include/linux/v4l2-common.h b/include/linux/v4l2-common.h
> new file mode 100644
> index 0000000..b49a37a
> --- /dev/null
> +++ b/include/linux/v4l2-common.h
> @@ -0,0 +1,57 @@
> +/*
> + * include/linux/v4l2-common.h
> + *
> + * Common V4L2 and V4L2 subdev definitions.
> + *
> + * Users are advised to #include this file either through videodev2.h
> + * (V4L2) or through v4l2-subdev.h (V4L2 subdev) rather than to refer
> + * to this file directly.
> + *
> + * Copyright (C) 2012 Nokia Corporation
> + * Contact: Sakari Ailus<sakari.ailus@iki.fi>
> + *
> + * This program is free software; you can redistribute it and/or
> + * modify it under the terms of the GNU General Public License
> + * version 2 as published by the Free Software Foundation.
> + *
> + * This program is distributed in the hope that it will be useful, but
> + * WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
> + * General Public License for more details.
> + *
> + * You should have received a copy of the GNU General Public License
> + * along with this program; if not, write to the Free Software
> + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
> + * 02110-1301 USA
> + *
> + */
> +
> +#ifndef __V4L2_COMMON__
> +#define __V4L2_COMMON__
> +
> +/* Selection target definitions */
> +
> +/* Current cropping area */
> +#define V4L2_SEL_TGT_CROP		0x0000
> +/* Default cropping area */
> +#define V4L2_SEL_TGT_CROP_DEFAULT	0x0001
> +/* Cropping bounds */
> +#define V4L2_SEL_TGT_CROP_BOUNDS	0x0002
> +/* Current composing area */
> +#define V4L2_SEL_TGT_COMPOSE		0x0100
> +/* Default composing area */
> +#define V4L2_SEL_TGT_COMPOSE_DEFAULT	0x0101
> +/* Composing bounds */
> +#define V4L2_SEL_TGT_COMPOSE_BOUNDS	0x0102
> +/* Current composing area plus all padding pixels */
> +#define V4L2_SEL_TGT_COMPOSE_PADDED	0x0103
> +
> +/* Backward compatibility definitions */
> +#define V4L2_SEL_TGT_CROP_ACTIVE	V4L2_SEL_TGT_CROP
> +#define V4L2_SEL_TGT_COMPOSE_ACTIVE	V4L2_SEL_TGT_COMPOSE
> +#define V4L2_SUBDEV_SEL_TGT_CROP_ACTUAL \
> +	V4L2_SUBDEV_SEL_TGT_CROP
> +#define V4L2_SUBDEV_SEL_TGT_COMPOSE_ACTUAL \
> +	V4L2_SUBDEV_SEL_TGT_COMPOSE

This should read:

#define V4L2_SUBDEV_SEL_TGT_CROP_ACTUAL		V4L2_SEL_TGT_CROP
#define V4L2_SUBDEV_SEL_TGT_COMPOSE_ACTUAL	V4L2_SEL_TGT_COMPOSE

right ? As V4L2_SUBDEV_SEL_TGT_* defines are already annihilated
at this point ?

I would also increase indentation between symbols and numbers
and wouldn't use backslashes.

With this fixed:

Acked-by: Sylwester Nawrocki <s.nawrocki@samsung.com>


Thanks!
Sylwester

> +
> +#endif /* __V4L2_COMMON__  */
> diff --git a/include/linux/v4l2-subdev.h b/include/linux/v4l2-subdev.h
> index 3cbe688..1d7d457 100644
> --- a/include/linux/v4l2-subdev.h
> +++ b/include/linux/v4l2-subdev.h
> @@ -25,6 +25,7 @@
>
>   #include<linux/ioctl.h>
>   #include<linux/types.h>
> +#include<linux/v4l2-common.h>
>   #include<linux/v4l2-mediabus.h>
>
>   /**
> @@ -127,27 +128,13 @@ struct v4l2_subdev_frame_interval_enum {
>   #define V4L2_SUBDEV_SEL_FLAG_SIZE_LE			(1<<  1)
>   #define V4L2_SUBDEV_SEL_FLAG_KEEP_CONFIG		(1<<  2)
>
> -/* active cropping area */
> -#define V4L2_SUBDEV_SEL_TGT_CROP			0x0000
> -/* cropping bounds */
> -#define V4L2_SUBDEV_SEL_TGT_CROP_BOUNDS			0x0002
> -/* current composing area */
> -#define V4L2_SUBDEV_SEL_TGT_COMPOSE			0x0100
> -/* composing bounds */
> -#define V4L2_SUBDEV_SEL_TGT_COMPOSE_BOUNDS		0x0102
> -
> -/* backward compatibility definitions */
> -#define V4L2_SUBDEV_SEL_TGT_CROP_ACTUAL \
> -	V4L2_SUBDEV_SEL_TGT_CROP
> -#define V4L2_SUBDEV_SEL_TGT_COMPOSE_ACTUAL \
> -	V4L2_SUBDEV_SEL_TGT_COMPOSE
> -
>   /**
>    * struct v4l2_subdev_selection - selection info
>    *
>    * @which: either V4L2_SUBDEV_FORMAT_ACTIVE or V4L2_SUBDEV_FORMAT_TRY
>    * @pad: pad number, as reported by the media API
> - * @target: selection target, used to choose one of possible rectangles
> + * @target: Selection target, used to choose one of possible rectangles,
> + *	    defined in v4l2-common.h; V4L2_SEL_TGT_* .
>    * @flags: constraint flags
>    * @r: coordinates of the selection window
>    * @reserved: for future use, set to zero for now
> diff --git a/include/linux/videodev2.h b/include/linux/videodev2.h
> index 0425c12..ce86855 100644
> --- a/include/linux/videodev2.h
> +++ b/include/linux/videodev2.h
> @@ -64,6 +64,7 @@
>   #include<linux/compiler.h>
>   #include<linux/ioctl.h>
>   #include<linux/types.h>
> +#include<linux/v4l2-common.h>
>
>   /*
>    * Common stuff for both V4L1 and V4L2
> @@ -765,31 +766,11 @@ struct v4l2_crop {
>   #define V4L2_SEL_FLAG_GE	0x00000001
>   #define V4L2_SEL_FLAG_LE	0x00000002
>
> -/* Selection targets */
> -
> -/* Current cropping area */
> -#define V4L2_SEL_TGT_CROP		0x0000
> -/* Default cropping area */
> -#define V4L2_SEL_TGT_CROP_DEFAULT	0x0001
> -/* Cropping bounds */
> -#define V4L2_SEL_TGT_CROP_BOUNDS	0x0002
> -/* Current composing area */
> -#define V4L2_SEL_TGT_COMPOSE		0x0100
> -/* Default composing area */
> -#define V4L2_SEL_TGT_COMPOSE_DEFAULT	0x0101
> -/* Composing bounds */
> -#define V4L2_SEL_TGT_COMPOSE_BOUNDS	0x0102
> -/* Current composing area plus all padding pixels */
> -#define V4L2_SEL_TGT_COMPOSE_PADDED	0x0103
> -
> -/* Backward compatibility definitions */
> -#define V4L2_SEL_TGT_CROP_ACTIVE	V4L2_SEL_TGT_CROP
> -#define V4L2_SEL_TGT_COMPOSE_ACTIVE	V4L2_SEL_TGT_COMPOSE
> -
>   /**
>    * struct v4l2_selection - selection info
>    * @type:	buffer type (do not use *_MPLANE types)
> - * @target:	selection target, used to choose one of possible rectangles
> + * @target:	Selection target, used to choose one of possible rectangles;
> + *		defined in v4l2-common.h; V4L2_SEL_TGT_* .
>    * @flags:	constraints flags
>    * @r:		coordinates of selection window
>    * @reserved:	for future use, rounds structure size to 64 bytes, set to zero


  reply	other threads:[~2012-06-30 20:38 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-06-30 17:05 [PATCH v5 0/8] V4L2 and V4L2 subdev selection target and flag changes Sakari Ailus
2012-06-30 17:03 ` [PATCH 1/8] V4L: Remove "_ACTIVE" from the selection target name definitions Sakari Ailus
2012-06-30 17:03 ` [PATCH 2/8] v4l: Remove "_ACTUAL" from subdev selection API target definition names Sakari Ailus
2012-06-30 20:21   ` Sylwester Nawrocki
2012-06-30 17:03 ` [PATCH 3/8] v4l: Unify selection targets across V4L2 and V4L2 subdev interfaces Sakari Ailus
2012-06-30 20:22   ` Sylwester Nawrocki [this message]
2012-07-01 11:13     ` Sakari Ailus
2012-07-01 11:45       ` Sylwester Nawrocki
2012-06-30 17:03 ` [PATCH 4/8] v4l: Common documentation for selection targets Sakari Ailus
2012-06-30 21:01   ` Sylwester Nawrocki
2012-06-30 17:03 ` [PATCH 5/8] v4l: Unify selection flags Sakari Ailus
2012-06-30 20:23   ` Sylwester Nawrocki
2012-06-30 17:03 ` [PATCH 6/8] v4l: Unify selection flags documentation Sakari Ailus
2012-06-30 21:13   ` Sylwester Nawrocki
2012-06-30 17:03 ` [PATCH 7/8] Feature removal: V4L2 selections API target and flag definitions Sakari Ailus
2012-06-30 17:03 ` [PATCH 8/8] v4l: Correct conflicting V4L2 subdev selection API documentation Sakari Ailus
2012-06-30 20:29   ` Sylwester Nawrocki

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4FEF6006.3050109@gmail.com \
    --to=sylwester.nawrocki@gmail.com \
    --cc=hverkuil@xs4all.nl \
    --cc=laurent.pinchart@ideasonboard.com \
    --cc=linux-media@vger.kernel.org \
    --cc=sakari.ailus@iki.fi \
    --cc=t.stanislaws@samsung.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).