Patch Detail
Show a patch.
GET /api/1.1/patches/2990/?format=api
{ "id": 2990, "url": "https://patchwork.libcamera.org/api/1.1/patches/2990/?format=api", "web_url": "https://patchwork.libcamera.org/patch/2990/", "project": { "id": 1, "url": "https://patchwork.libcamera.org/api/1.1/projects/1/?format=api", "name": "libcamera", "link_name": "libcamera", "list_id": "libcamera_core", "list_email": "libcamera-devel@lists.libcamera.org", "web_url": "", "scm_url": "", "webscm_url": "" }, "msgid": "<20200306160002.30549-19-laurent.pinchart@ideasonboard.com>", "date": "2020-03-06T15:59:48", "name": "[libcamera-devel,v2,18/32] libcamera: controls: Add a 'size' yaml property", "commit_ref": null, "pull_url": null, "state": "accepted", "archived": false, "hash": "590341cd54903d9d083199208c8bfaebca5574fa", "submitter": { "id": 2, "url": "https://patchwork.libcamera.org/api/1.1/people/2/?format=api", "name": "Laurent Pinchart", "email": "laurent.pinchart@ideasonboard.com" }, "delegate": null, "mbox": "https://patchwork.libcamera.org/patch/2990/mbox/", "series": [ { "id": 703, "url": "https://patchwork.libcamera.org/api/1.1/series/703/?format=api", "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=703", "date": "2020-03-06T15:59:30", "name": "libcamera: Add support for array controls", "version": 2, "mbox": "https://patchwork.libcamera.org/series/703/mbox/" } ], "comments": "https://patchwork.libcamera.org/api/patches/2990/comments/", "check": "pending", "checks": "https://patchwork.libcamera.org/api/patches/2990/checks/", "tags": {}, "headers": { "Return-Path": "<laurent.pinchart@ideasonboard.com>", "Received": [ "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 DAB4F628D6\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 6 Mar 2020 17:00:22 +0100 (CET)", "from pendragon.bb.dnainternet.fi (81-175-216-236.bb.dnainternet.fi\n\t[81.175.216.236])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 6AD1D312;\n\tFri, 6 Mar 2020 17:00:22 +0100 (CET)" ], "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1583510422;\n\tbh=bmNaeovvXf+tItGMnvNYpiBOqQlzESZb62p5aC5BnVA=;\n\th=From:To:Cc:Subject:Date:In-Reply-To:References:From;\n\tb=oDDW5jvo8VYYBOF3HaXraLfr3dQa8BU8WbD2yoSupBTGDNnE4r/OPhlzwlvZ5JqsL\n\t3tFsRlzd2NZSm9RZ4KBI4hd3gMHFUfjdN4JUOdJVJ7U642DNGwvgQb4LZsIQqtO+ib\n\tZgtct4GGUGgUTpY/tNPE7yPX+FtKYr4icWc45RjU=", "From": "Laurent Pinchart <laurent.pinchart@ideasonboard.com>", "To": "libcamera-devel@lists.libcamera.org", "Date": "Fri, 6 Mar 2020 17:59:48 +0200", "Message-Id": "<20200306160002.30549-19-laurent.pinchart@ideasonboard.com>", "X-Mailer": "git-send-email 2.24.1", "In-Reply-To": "<20200306160002.30549-1-laurent.pinchart@ideasonboard.com>", "References": "<20200306160002.30549-1-laurent.pinchart@ideasonboard.com>", "MIME-Version": "1.0", "Content-Transfer-Encoding": "8bit", "Subject": "[libcamera-devel] [PATCH v2 18/32] libcamera: controls: Add a\n\t'size' yaml property", "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>", "X-List-Received-Date": "Fri, 06 Mar 2020 16:00:24 -0000" }, "content": "From: Jacopo Mondi <jacopo@jmondi.org>\n\nAdd a 'size' property to the control yaml description, to convey the\nsize constraints of array controls. The semantics of the property\ncontents is currently unspecified, but its presence triggers the\ngeneration of an array control (Control<Span<const T>>).\n\nExample:\n\n - BayerGains:\n type: float\n description: Gains to apply to the four Bayer colour components for white balance\n size: [4]\n\nSigned-off-by: Jacopo Mondi <jacopo@jmondi.org>\nSigned-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\nReviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n---\n src/libcamera/gen-controls.py | 14 ++++++++++++--\n 1 file changed, 12 insertions(+), 2 deletions(-)", "diff": "diff --git a/src/libcamera/gen-controls.py b/src/libcamera/gen-controls.py\nindex 6f020a327827..ff8bda6b16c1 100755\n--- a/src/libcamera/gen-controls.py\n+++ b/src/libcamera/gen-controls.py\n@@ -42,9 +42,14 @@ ${description}\n name, ctrl = ctrl.popitem()\n id_name = snake_case(name).upper()\n \n+ if ctrl.get('size'):\n+ ctrl_type = 'Span<const %s>' % ctrl['type']\n+ else:\n+ ctrl_type = ctrl['type']\n+\n info = {\n 'name': name,\n- 'type': ctrl['type'],\n+ 'type': ctrl_type,\n 'description': format_description(ctrl['description']),\n 'id_name': id_name,\n }\n@@ -92,9 +97,14 @@ def generate_h(controls):\n \n ids.append('\\t' + id_name + ' = ' + str(id_value) + ',')\n \n+ if ctrl.get('size'):\n+ ctrl_type = 'Span<const %s>' % ctrl['type']\n+ else:\n+ ctrl_type = ctrl['type']\n+\n info = {\n 'name': name,\n- 'type': ctrl['type'],\n+ 'type': ctrl_type,\n }\n \n enum = ctrl.get('enum')\n", "prefixes": [ "libcamera-devel", "v2", "18/32" ] }