From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from mail-ey0-f194.google.com ([209.85.215.194]:41559 "EHLO mail-ey0-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751494Ab2F3UiB (ORCPT ); Sat, 30 Jun 2012 16:38:01 -0400 Received: by eaaa14 with SMTP id a14so373874eaa.1 for ; Sat, 30 Jun 2012 13:37:59 -0700 (PDT) Message-ID: <4FEF6006.3050109@gmail.com> Date: Sat, 30 Jun 2012 22:22:30 +0200 From: Sylwester Nawrocki MIME-Version: 1.0 To: Sakari Ailus 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 References: <20120630170506.GE19384@valkosipuli.retiisi.org.uk> <1341075839-18586-3-git-send-email-sakari.ailus@iki.fi> In-Reply-To: <1341075839-18586-3-git-send-email-sakari.ailus@iki.fi> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-media-owner@vger.kernel.org List-ID: 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 > Signed-off-by: Sylwester Nawrocki > --- > 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 > + * > + * 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 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 > #include > +#include > #include > > /** > @@ -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 > #include > #include > +#include > > /* > * 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