[{"id":29153,"web_url":"https://patchwork.libcamera.org/comment/29153/","msgid":"<69aa9687-65a5-409c-bd74-41c585f058d1@ideasonboard.com>","date":"2024-04-04T18:29:12","subject":"Re: [PATCH] media: v4l2-subdev: Clearly document that the crop API\n\twon't be extended","submitter":{"id":86,"url":"https://patchwork.libcamera.org/api/people/86/","name":"Umang Jain","email":"umang.jain@ideasonboard.com"},"content":"Hi Laurent,\n\nIt seems this is meant for linux-media instead ?\n\nOn 04/04/24 8:26 pm, Laurent Pinchart wrote:\n> The V4L2 subdev crop API has been marked as obsolete, deprecated by the\n> selection API. Despite this, it has recently been extended with streams\n> support. In hindsight this was a mistake. Make sure it doesn't happen\n> again by clearly documenting that no new extensions will be accepted.\n>\n> Suggested-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>\n> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n> ---\n>   .../userspace-api/media/v4l/vidioc-subdev-g-crop.rst        | 6 +++---\n>   include/uapi/linux/v4l2-subdev.h                            | 4 ++++\n>   2 files changed, 7 insertions(+), 3 deletions(-)\n>\n> diff --git a/Documentation/userspace-api/media/v4l/vidioc-subdev-g-crop.rst b/Documentation/userspace-api/media/v4l/vidioc-subdev-g-crop.rst\n> index 92d933631fda..88a748103a71 100644\n> --- a/Documentation/userspace-api/media/v4l/vidioc-subdev-g-crop.rst\n> +++ b/Documentation/userspace-api/media/v4l/vidioc-subdev-g-crop.rst\n> @@ -37,9 +37,9 @@ Description\n>   \n>   .. note::\n>   \n> -    This is an :ref:`obsolete` interface and may be removed\n> -    in the future. It is superseded by\n> -    :ref:`the selection API <VIDIOC_SUBDEV_G_SELECTION>`.\n> +    This is an :ref:`obsolete` interface and may be removed in the future. It is\n> +    superseded by :ref:`the selection API <VIDIOC_SUBDEV_G_SELECTION>`. No new\n> +    extensions to the :c:type:`v4l2_subdev_crop` structure will be accepted.\n>   \n>   To retrieve the current crop rectangle applications set the ``pad``\n>   field of a struct :c:type:`v4l2_subdev_crop` to the\n> diff --git a/include/uapi/linux/v4l2-subdev.h b/include/uapi/linux/v4l2-subdev.h\n> index 7048c51581c6..81a24bd38003 100644\n> --- a/include/uapi/linux/v4l2-subdev.h\n> +++ b/include/uapi/linux/v4l2-subdev.h\n> @@ -50,6 +50,10 @@ struct v4l2_subdev_format {\n>    * @rect: pad crop rectangle boundaries\n>    * @stream: stream number, defined in subdev routing\n>    * @reserved: drivers and applications must zero this array\n> + *\n> + * The subdev crop API is an obsolete interface and may be removed in the\n> + * future. It is superseded by the selection API. No new extensions to this\n> + * structure will be accepted.\n>    */\n>   struct v4l2_subdev_crop {\n>   \t__u32 which;","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id A38D7BD16B\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu,  4 Apr 2024 18:29:21 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id B8A4A63388;\n\tThu,  4 Apr 2024 20:29:20 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id B06206337B\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu,  4 Apr 2024 20:29:19 +0200 (CEST)","from [192.168.1.105] (unknown [103.86.18.232])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id D9B7F3A3;\n\tThu,  4 Apr 2024 20:28:39 +0200 (CEST)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"kGzlj7ba\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1712255321;\n\tbh=NlVJQwWh60mDFoMdhvjQQlwbQa8q+yN95b/9ujvKfUg=;\n\th=Date:Subject:To:Cc:References:From:In-Reply-To:From;\n\tb=kGzlj7bakXxr+17Chm3dxk2XVgZsZIJ8PPAuRnxsaaaZwxAzr+h+PMCtyH65D4hhs\n\tBCHrarF1AP0Dxhf/wdqiDuU1RpiRIdQipAz0/R5OR4TKAvlqg1EWH234HcLttrbTi/\n\t4qJP1zPqnuDPONL9BWkcZrkH+jXFcmztwhC4vGGw=","Message-ID":"<69aa9687-65a5-409c-bd74-41c585f058d1@ideasonboard.com>","Date":"Thu, 4 Apr 2024 23:59:12 +0530","MIME-Version":"1.0","User-Agent":"Mozilla Thunderbird","Subject":"Re: [PATCH] media: v4l2-subdev: Clearly document that the crop API\n\twon't be extended","To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>,\n\tlibcamera-devel@lists.libcamera.org","Cc":"Hans Verkuil <hverkuil-cisco@xs4all.nl>,\n\tTomi Valkeinen <tomi.valkeinen@ideasonboard.com>,\n\tSakari Ailus <sakari.ailus@iki.fi>","References":"<20240404145649.24039-1-laurent.pinchart@ideasonboard.com>","Content-Language":"en-US","From":"Umang Jain <umang.jain@ideasonboard.com>","In-Reply-To":"<20240404145649.24039-1-laurent.pinchart@ideasonboard.com>","Content-Type":"text/plain; charset=UTF-8; format=flowed","Content-Transfer-Encoding":"7bit","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":29154,"web_url":"https://patchwork.libcamera.org/comment/29154/","msgid":"<Zg8Im9NC_AK7ddFX@valkosipuli.retiisi.eu>","date":"2024-04-04T20:07:55","subject":"Re: [PATCH] media: v4l2-subdev: Clearly document that the crop API\n\twon't be extended","submitter":{"id":32,"url":"https://patchwork.libcamera.org/api/people/32/","name":"Sakari Ailus","email":"sakari.ailus@iki.fi"},"content":"Hi Laurent,\n\nOn Thu, Apr 04, 2024 at 05:56:49PM +0300, Laurent Pinchart wrote:\n> The V4L2 subdev crop API has been marked as obsolete, deprecated by the\n> selection API. Despite this, it has recently been extended with streams\n> support. In hindsight this was a mistake. Make sure it doesn't happen\n> again by clearly documenting that no new extensions will be accepted.\n> \n> Suggested-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>\n> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n> ---\n>  .../userspace-api/media/v4l/vidioc-subdev-g-crop.rst        | 6 +++---\n>  include/uapi/linux/v4l2-subdev.h                            | 4 ++++\n>  2 files changed, 7 insertions(+), 3 deletions(-)\n> \n> diff --git a/Documentation/userspace-api/media/v4l/vidioc-subdev-g-crop.rst b/Documentation/userspace-api/media/v4l/vidioc-subdev-g-crop.rst\n> index 92d933631fda..88a748103a71 100644\n> --- a/Documentation/userspace-api/media/v4l/vidioc-subdev-g-crop.rst\n> +++ b/Documentation/userspace-api/media/v4l/vidioc-subdev-g-crop.rst\n> @@ -37,9 +37,9 @@ Description\n>  \n>  .. note::\n>  \n> -    This is an :ref:`obsolete` interface and may be removed\n> -    in the future. It is superseded by\n> -    :ref:`the selection API <VIDIOC_SUBDEV_G_SELECTION>`.\n> +    This is an :ref:`obsolete` interface and may be removed in the future. It is\n> +    superseded by :ref:`the selection API <VIDIOC_SUBDEV_G_SELECTION>`. No new\n> +    extensions to the :c:type:`v4l2_subdev_crop` structure will be accepted.\n>  \n>  To retrieve the current crop rectangle applications set the ``pad``\n>  field of a struct :c:type:`v4l2_subdev_crop` to the\n> diff --git a/include/uapi/linux/v4l2-subdev.h b/include/uapi/linux/v4l2-subdev.h\n> index 7048c51581c6..81a24bd38003 100644\n> --- a/include/uapi/linux/v4l2-subdev.h\n> +++ b/include/uapi/linux/v4l2-subdev.h\n> @@ -50,6 +50,10 @@ struct v4l2_subdev_format {\n>   * @rect: pad crop rectangle boundaries\n>   * @stream: stream number, defined in subdev routing\n>   * @reserved: drivers and applications must zero this array\n> + *\n> + * The subdev crop API is an obsolete interface and may be removed in the\n> + * future. It is superseded by the selection API. No new extensions to this\n\nI'm not sure we could ever remove this, however that doesn't mean the text\ncouldn't be added. :-) I'd still drop the latter part of the first\nsentence. Up to you.\n\nAcked-by: Sakari Ailus <sakari.ailus@linux.intel.com>\n\n> + * structure will be accepted.\n>   */\n>  struct v4l2_subdev_crop {\n>  \t__u32 which;","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id BAEDCC0DA4\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu,  4 Apr 2024 20:08:01 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id A02D263388;\n\tThu,  4 Apr 2024 22:08:00 +0200 (CEST)","from lahtoruutu.iki.fi (lahtoruutu.iki.fi [185.185.170.37])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 9B8C36337B\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu,  4 Apr 2024 22:07:58 +0200 (CEST)","from hillosipuli.retiisi.eu\n\t(2a00-1190-d1dd-0-c641-1eff-feae-163c.v6.cust.suomicom.net\n\t[IPv6:2a00:1190:d1dd:0:c641:1eff:feae:163c])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\tkey-exchange X25519 server-signature RSA-PSS (2048 bits)\n\tserver-digest SHA256)\n\t(No client certificate requested) (Authenticated sender: sailus)\n\tby lahtoruutu.iki.fi (Postfix) with ESMTPSA id 4V9XjT0qWBz49Q4F;\n\tThu,  4 Apr 2024 23:07:56 +0300 (EEST)","from valkosipuli.retiisi.eu (valkosipuli.localdomain [192.168.4.2])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\tkey-exchange ECDHE (prime256v1) server-signature RSA-PSS (4096 bits)\n\tserver-digest SHA256) (No client certificate requested)\n\tby hillosipuli.retiisi.eu (Postfix) with ESMTPS id E6053634C93;\n\tThu,  4 Apr 2024 23:07:55 +0300 (EEST)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (2048-bit key;\n\tunprotected) header.d=iki.fi header.i=@iki.fi header.b=\"aNa3HFTw\";\n\tdkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=iki.fi; s=lahtoruutu;\n\tt=1712261277;\n\th=from:from:reply-to:subject:subject:date:date:message-id:message-id:\n\tto:to:cc:cc:mime-version:mime-version:content-type:content-type:\n\tin-reply-to:in-reply-to:references:references;\n\tbh=O+FrdEKy8R9dzMTz3g08aYYALuegIk5BQu6FoLzHLsc=;\n\tb=aNa3HFTwUHYP5GOCW9f8a8AT8qjFw+QT/+xmijlsJAYG6s6Igv5oOijgd05Q1418Ll9gAs\n\tb59NHIYXeFTHjd2oGuchgQGDUO1P7XDK+nKLiYVAZr1vIpEMxdlpFT/+vOQCaVe7Ebkemn\n\tLKRXizMPeqJVooCnQBy7JeEn5rnKaVi2wNGoe+UaA0EYRC8lHJuZvNty970+9YicrouZ/r\n\tUVmaR5Qe6yEveVSN4FeN7mJgANdhY6ODoSQ9Yh+W1D482V26lR7cJht+I7NcnFtrL3vvEO\n\tGr3FdnEw4HmWz6Hoh6Z6kt2WeP8/nipym5dd43sRcGZIAghnHp/a1QYy/ZKmuA==","ARC-Message-Signature":"i=1; a=rsa-sha256; c=relaxed/relaxed; d=iki.fi;\n\ts=lahtoruutu; t=1712261277;\n\th=from:from:reply-to:subject:subject:date:date:message-id:message-id:\n\tto:to:cc:cc:mime-version:mime-version:content-type:content-type:\n\tin-reply-to:in-reply-to:references:references;\n\tbh=O+FrdEKy8R9dzMTz3g08aYYALuegIk5BQu6FoLzHLsc=;\n\tb=kdli94daWoAkez3xBWUjBGhRuAMMBeS0YUPtnzziDH3O3eyq8S+DCU8fRB3XpF09sFM+BT\n\tBVmnQeHIAmYcttslrlssseKFVrOA72tOdTNZ2gWoRgYfmwErW/y8KsyfX4IFLFi2pYBChL\n\t2prgFrcGK8IfV5sXKUYMM18c0VXF22523UpDzcXNlw7lTAa5Rst/sKEqZrhT7BiypBrgiW\n\tZM1i4HT+zRCXFXZMuYColy3I5wyupa2v7bZ5sh8QIs7DITA+TvhYxcPhR9LSkRlpABBDV5\n\tDEBnwdlgnOXNG11aMreGzlldV90J0BTURPpihEg3+55kGCtoWGL44VXLvfVzdg==","ARC-Authentication-Results":"i=1; ORIGINATING;\n\tauth=pass smtp.auth=sailus smtp.mailfrom=sakari.ailus@iki.fi","ARC-Seal":"i=1; s=lahtoruutu; d=iki.fi; t=1712261277; a=rsa-sha256; cv=none; \n\tb=E4HAJdyz5mNMBfGRJoymUyWZ7x3pumfvOLaGYT6BC0df+kYT+hF4m/7vojdgWpwT/crGj0\n\tnhtXvb0bkz91krD1dJdF4L2Cih8U7MSFOeFSMwiEXyMIvbiAz0hEH9ahOLs/xNgGbSYUro\n\tqJIIwxvNqAn51S3VShb8uCLa9u6LNEwlQv24HcUe6PuTPUvKlCnCaSM2uHYkOyR089eC/Q\n\t1OWYK8kVp3wJzN/I2kD5Lc0q5t2/fXvTDo8fZW4dqhU5VXdBh9U5v3AYkbcYPnl6xBCTGF\n\td8AIECSgeYgo3QSfp9ZjHMC9tPmvfnjOCrZowX6xusRv8+g9MB1f/C7RwxOexA==","Date":"Thu, 4 Apr 2024 20:07:55 +0000","From":"Sakari Ailus <sakari.ailus@iki.fi>","To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","Cc":"libcamera-devel@lists.libcamera.org,\n\tHans Verkuil <hverkuil-cisco@xs4all.nl>,\n\tTomi Valkeinen <tomi.valkeinen@ideasonboard.com>","Subject":"Re: [PATCH] media: v4l2-subdev: Clearly document that the crop API\n\twon't be extended","Message-ID":"<Zg8Im9NC_AK7ddFX@valkosipuli.retiisi.eu>","References":"<20240404145649.24039-1-laurent.pinchart@ideasonboard.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=us-ascii","Content-Disposition":"inline","In-Reply-To":"<20240404145649.24039-1-laurent.pinchart@ideasonboard.com>","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":29155,"web_url":"https://patchwork.libcamera.org/comment/29155/","msgid":"<20240404215630.GA7367@pendragon.ideasonboard.com>","date":"2024-04-04T21:56:30","subject":"Re: [PATCH] media: v4l2-subdev: Clearly document that the crop API\n\twon't be extended","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"content":"On Thu, Apr 04, 2024 at 11:59:12PM +0530, Umang Jain wrote:\n> Hi Laurent,\n> \n> It seems this is meant for linux-media instead ?\n\nOops :-S My fingers are too used to typing libcamera. Thanks for\nnoticing.\n\n> On 04/04/24 8:26 pm, Laurent Pinchart wrote:\n> > The V4L2 subdev crop API has been marked as obsolete, deprecated by the\n> > selection API. Despite this, it has recently been extended with streams\n> > support. In hindsight this was a mistake. Make sure it doesn't happen\n> > again by clearly documenting that no new extensions will be accepted.\n> >\n> > Suggested-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>\n> > Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n> > ---\n> >   .../userspace-api/media/v4l/vidioc-subdev-g-crop.rst        | 6 +++---\n> >   include/uapi/linux/v4l2-subdev.h                            | 4 ++++\n> >   2 files changed, 7 insertions(+), 3 deletions(-)\n> >\n> > diff --git a/Documentation/userspace-api/media/v4l/vidioc-subdev-g-crop.rst b/Documentation/userspace-api/media/v4l/vidioc-subdev-g-crop.rst\n> > index 92d933631fda..88a748103a71 100644\n> > --- a/Documentation/userspace-api/media/v4l/vidioc-subdev-g-crop.rst\n> > +++ b/Documentation/userspace-api/media/v4l/vidioc-subdev-g-crop.rst\n> > @@ -37,9 +37,9 @@ Description\n> >   \n> >   .. note::\n> >   \n> > -    This is an :ref:`obsolete` interface and may be removed\n> > -    in the future. It is superseded by\n> > -    :ref:`the selection API <VIDIOC_SUBDEV_G_SELECTION>`.\n> > +    This is an :ref:`obsolete` interface and may be removed in the future. It is\n> > +    superseded by :ref:`the selection API <VIDIOC_SUBDEV_G_SELECTION>`. No new\n> > +    extensions to the :c:type:`v4l2_subdev_crop` structure will be accepted.\n> >   \n> >   To retrieve the current crop rectangle applications set the ``pad``\n> >   field of a struct :c:type:`v4l2_subdev_crop` to the\n> > diff --git a/include/uapi/linux/v4l2-subdev.h b/include/uapi/linux/v4l2-subdev.h\n> > index 7048c51581c6..81a24bd38003 100644\n> > --- a/include/uapi/linux/v4l2-subdev.h\n> > +++ b/include/uapi/linux/v4l2-subdev.h\n> > @@ -50,6 +50,10 @@ struct v4l2_subdev_format {\n> >    * @rect: pad crop rectangle boundaries\n> >    * @stream: stream number, defined in subdev routing\n> >    * @reserved: drivers and applications must zero this array\n> > + *\n> > + * The subdev crop API is an obsolete interface and may be removed in the\n> > + * future. It is superseded by the selection API. No new extensions to this\n> > + * structure will be accepted.\n> >    */\n> >   struct v4l2_subdev_crop {\n> >   \t__u32 which;","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id A24D2BD16B\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu,  4 Apr 2024 21:56:44 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id BB9BD633B4;\n\tThu,  4 Apr 2024 23:56:43 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id C9F086332E\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu,  4 Apr 2024 23:56:42 +0200 (CEST)","from pendragon.ideasonboard.com (81-175-209-231.bb.dnainternet.fi\n\t[81.175.209.231])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 3E1203A3;\n\tThu,  4 Apr 2024 23:56:04 +0200 (CEST)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"c9WZxbhE\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1712267764;\n\tbh=WMH7+PN3AE6Roihkd7+GHtKE5l7VrTuolM0lapmiiSc=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=c9WZxbhEidkfou0GNhJ5SKYtymmDrIQgIz6BJWJyJk9PlBXOtdN9KT4evVvX3gmc+\n\tPUvkBxkZEKCfiEmoroDPK4x2Q0wigcBuyUG130VQTH1cMbCqY8fe0tqEHdMHZgNjPs\n\t/Mhw3HbE8eK+EN563sdW48a7d6f4m3g89whHxT5w=","Date":"Fri, 5 Apr 2024 00:56:30 +0300","From":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","To":"Umang Jain <umang.jain@ideasonboard.com>","Cc":"libcamera-devel@lists.libcamera.org,\n\tHans Verkuil <hverkuil-cisco@xs4all.nl>,\n\tTomi Valkeinen <tomi.valkeinen@ideasonboard.com>,\n\tSakari Ailus <sakari.ailus@iki.fi>","Subject":"Re: [PATCH] media: v4l2-subdev: Clearly document that the crop API\n\twon't be extended","Message-ID":"<20240404215630.GA7367@pendragon.ideasonboard.com>","References":"<20240404145649.24039-1-laurent.pinchart@ideasonboard.com>\n\t<69aa9687-65a5-409c-bd74-41c585f058d1@ideasonboard.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","In-Reply-To":"<69aa9687-65a5-409c-bd74-41c585f058d1@ideasonboard.com>","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":29156,"web_url":"https://patchwork.libcamera.org/comment/29156/","msgid":"<20240404215801.GB7367@pendragon.ideasonboard.com>","date":"2024-04-04T21:58:01","subject":"Re: [PATCH] media: v4l2-subdev: Clearly document that the crop API\n\twon't be extended","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"content":"Hi Sakari,\n\nOn Thu, Apr 04, 2024 at 08:07:55PM +0000, Sakari Ailus wrote:\n> On Thu, Apr 04, 2024 at 05:56:49PM +0300, Laurent Pinchart wrote:\n> > The V4L2 subdev crop API has been marked as obsolete, deprecated by the\n> > selection API. Despite this, it has recently been extended with streams\n> > support. In hindsight this was a mistake. Make sure it doesn't happen\n> > again by clearly documenting that no new extensions will be accepted.\n> > \n> > Suggested-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>\n> > Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n> > ---\n> >  .../userspace-api/media/v4l/vidioc-subdev-g-crop.rst        | 6 +++---\n> >  include/uapi/linux/v4l2-subdev.h                            | 4 ++++\n> >  2 files changed, 7 insertions(+), 3 deletions(-)\n> > \n> > diff --git a/Documentation/userspace-api/media/v4l/vidioc-subdev-g-crop.rst b/Documentation/userspace-api/media/v4l/vidioc-subdev-g-crop.rst\n> > index 92d933631fda..88a748103a71 100644\n> > --- a/Documentation/userspace-api/media/v4l/vidioc-subdev-g-crop.rst\n> > +++ b/Documentation/userspace-api/media/v4l/vidioc-subdev-g-crop.rst\n> > @@ -37,9 +37,9 @@ Description\n> >  \n> >  .. note::\n> >  \n> > -    This is an :ref:`obsolete` interface and may be removed\n> > -    in the future. It is superseded by\n> > -    :ref:`the selection API <VIDIOC_SUBDEV_G_SELECTION>`.\n> > +    This is an :ref:`obsolete` interface and may be removed in the future. It is\n> > +    superseded by :ref:`the selection API <VIDIOC_SUBDEV_G_SELECTION>`. No new\n> > +    extensions to the :c:type:`v4l2_subdev_crop` structure will be accepted.\n> >  \n> >  To retrieve the current crop rectangle applications set the ``pad``\n> >  field of a struct :c:type:`v4l2_subdev_crop` to the\n> > diff --git a/include/uapi/linux/v4l2-subdev.h b/include/uapi/linux/v4l2-subdev.h\n> > index 7048c51581c6..81a24bd38003 100644\n> > --- a/include/uapi/linux/v4l2-subdev.h\n> > +++ b/include/uapi/linux/v4l2-subdev.h\n> > @@ -50,6 +50,10 @@ struct v4l2_subdev_format {\n> >   * @rect: pad crop rectangle boundaries\n> >   * @stream: stream number, defined in subdev routing\n> >   * @reserved: drivers and applications must zero this array\n> > + *\n> > + * The subdev crop API is an obsolete interface and may be removed in the\n> > + * future. It is superseded by the selection API. No new extensions to this\n> \n> I'm not sure we could ever remove this, however that doesn't mean the text\n> couldn't be added. :-) I'd still drop the latter part of the first\n> sentence. Up to you.\n\nI've added it to match the existing text in vidioc-subdev-g-crop.rst. If\nwe decide to drop it, we should drop both.\n\n> Acked-by: Sakari Ailus <sakari.ailus@linux.intel.com>\n> \n> > + * structure will be accepted.\n> >   */\n> >  struct v4l2_subdev_crop {\n> >  \t__u32 which;","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id DB405BD16B\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu,  4 Apr 2024 21:58:14 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 91C0863381;\n\tThu,  4 Apr 2024 23:58:14 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id B246B6332E\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu,  4 Apr 2024 23:58:12 +0200 (CEST)","from pendragon.ideasonboard.com (81-175-209-231.bb.dnainternet.fi\n\t[81.175.209.231])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 72FCB3A3;\n\tThu,  4 Apr 2024 23:57:34 +0200 (CEST)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"h/vQfrEL\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1712267854;\n\tbh=c78kAJlhXShgrWnGFHIh6DOsfHmbACF/z0Wubttlr28=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=h/vQfrEL/i9GnjTmuo2VN3eVu7xoYMC5YV5CrwUCczabnVKkxpSpLA1beGP31nfXh\n\tERv23SAXh6MZsNLxp6nWJ63bka0Qo+luI7OKhC6zF7+i+TMif5sG778X23cCq0eWcR\n\tFj4A9A4P1BiRZAKDMCblbuXDn3XrT9hEcS/kfzgI=","Date":"Fri, 5 Apr 2024 00:58:01 +0300","From":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","To":"Sakari Ailus <sakari.ailus@iki.fi>","Cc":"libcamera-devel@lists.libcamera.org,\n\tHans Verkuil <hverkuil-cisco@xs4all.nl>,\n\tTomi Valkeinen <tomi.valkeinen@ideasonboard.com>","Subject":"Re: [PATCH] media: v4l2-subdev: Clearly document that the crop API\n\twon't be extended","Message-ID":"<20240404215801.GB7367@pendragon.ideasonboard.com>","References":"<20240404145649.24039-1-laurent.pinchart@ideasonboard.com>\n\t<Zg8Im9NC_AK7ddFX@valkosipuli.retiisi.eu>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","In-Reply-To":"<Zg8Im9NC_AK7ddFX@valkosipuli.retiisi.eu>","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}}]