Cover Letter Detail
Show a cover letter.
GET /api/covers/2128/?format=api
{ "id": 2128, "url": "https://patchwork.libcamera.org/api/covers/2128/?format=api", "web_url": "https://patchwork.libcamera.org/cover/2128/", "project": { "id": 1, "url": "https://patchwork.libcamera.org/api/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": "<20191007224642.6597-1-laurent.pinchart@ideasonboard.com>", "date": "2019-10-07T22:46:33", "name": "[libcamera-devel,0/9] Use ControlList for both libcamera and V4L2 controls", "submitter": { "id": 2, "url": "https://patchwork.libcamera.org/api/people/2/?format=api", "name": "Laurent Pinchart", "email": "laurent.pinchart@ideasonboard.com" }, "mbox": "https://patchwork.libcamera.org/cover/2128/mbox/", "series": [ { "id": 526, "url": "https://patchwork.libcamera.org/api/series/526/?format=api", "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=526", "date": "2019-10-07T22:46:33", "name": "Use ControlList for both libcamera and V4L2 controls", "version": 1, "mbox": "https://patchwork.libcamera.org/series/526/mbox/" } ], "comments": "https://patchwork.libcamera.org/api/covers/2128/comments/", "headers": { "Return-Path": "<laurent.pinchart@ideasonboard.com>", "Received": [ "from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id CB31D60E1F\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 8 Oct 2019 00:46:50 +0200 (CEST)", "from pendragon.ideasonboard.com\n\t(modemcable118.64-20-96.mc.videotron.ca [96.20.64.118])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id CC837B2D\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 8 Oct 2019 00:46:49 +0200 (CEST)" ], "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1570488410;\n\tbh=GloGytRqWNaDt344sVUfnu/GCdH8tfA84zAsKgdovmU=;\n\th=From:To:Subject:Date:From;\n\tb=doX0wE7li8DqTcufwtrxwoR014EBJ8TeXcFbntcUfPpvJKlV5M/3vdAd9pNzmP2Ef\n\tRDCdWX5i2e83G4NTnxfnt5RoNkNVnSu0WKouE/wU9zouGDMba1a0jge/VY80Nkuvpr\n\twkunH7doLeYGZhJg/zfAICCWrMePQJCXhFNlTcw8=", "From": "Laurent Pinchart <laurent.pinchart@ideasonboard.com>", "To": "libcamera-devel@lists.libcamera.org", "Date": "Tue, 8 Oct 2019 01:46:33 +0300", "Message-Id": "<20191007224642.6597-1-laurent.pinchart@ideasonboard.com>", "X-Mailer": "git-send-email 2.21.0", "MIME-Version": "1.0", "Content-Transfer-Encoding": "8bit", "Subject": "[libcamera-devel] [PATCH 0/9] Use ControlList for both libcamera\n\tand V4L2 controls", "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": "Mon, 07 Oct 2019 22:46:51 -0000" }, "content": "Hello,\n\nThis patch series generalises usage of ControlList for all controls,\nboth libcamera and V4L2.\n\nThe rationale is that using a single container to store controls allows\nbetter sharing of code, especially when we will implement serialisation\nand deserialisation. Additionally, a single container type will simplify\nthe IPA API.\n\nPatch 1/9 restores the global list of libcamera controls that used to be\nauto-generated. It isn't strictly required by the rest of the series,\nbut has been developed with it, so I've included it.\n\nPatches 2/9 to 4/9 then extend ControlList and ControlId with features\nrequired for V4L2 controls. Patch 5/9 is a drive-by optimisation, and is\nfollowed by patch 6/9 that adds a V4L2ControlId class specialising\nControlId. Patch 7/9 is the bulk of the work, and patch 8/9 is a\nfollow-up cleanup.\n\nPatch 9/9 adds a V4L2 controls validator that has been developed with\nthe series but isn't strictly required either. We can thus leave it out\nfor now if desired until we have a use case.\n\nLaurent Pinchart (9):\n libcamera: control_ids: Generate map of all supported controls\n libcamera: controls: Support getting and setting controls by ControlId\n libcamera: controls: Store control name in ControlId\n libcamera: controls: Make ControlList::find() protected\n libcamera: v4l2_device: Avoid copy of V4L2ControlInfo\n libcamera: v4l2_controls: Add V4L2ControlId\n libcamera: v4l2_device: Replace V4L2ControlList with ControlList\n libcamera: v4l2_controls: Remove V4L2ControlInfo type field\n libcamera: v4l2_controls: Add control validator\n\n include/libcamera/control_ids.h.in | 3 +\n include/libcamera/controls.h | 12 +-\n src/libcamera/camera_sensor.cpp | 4 +-\n src/libcamera/control_ids.cpp.in | 7 +\n src/libcamera/controls.cpp | 62 ++++-\n src/libcamera/gen-controls.py | 7 +-\n src/libcamera/include/camera_sensor.h | 5 +-\n src/libcamera/include/v4l2_controls.h | 55 ++---\n src/libcamera/include/v4l2_device.h | 8 +-\n src/libcamera/pipeline/ipu3/ipu3.cpp | 9 +-\n src/libcamera/pipeline/uvcvideo.cpp | 24 +-\n src/libcamera/pipeline/vimc.cpp | 25 +-\n src/libcamera/v4l2_controls.cpp | 323 ++++++++++++--------------\n src/libcamera/v4l2_device.cpp | 67 +++---\n 14 files changed, 326 insertions(+), 285 deletions(-)" }