All of lore.kernel.org
 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.