Cover Letter Detail
Show a cover letter.
GET /api/1.1/covers/23833/?format=api
{ "id": 23833, "url": "https://patchwork.libcamera.org/api/1.1/covers/23833/?format=api", "web_url": "https://patchwork.libcamera.org/cover/23833/", "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": "<20250717124853.2317191-1-dan.scally@ideasonboard.com>", "date": "2025-07-17T12:48:49", "name": "[v2,0/4] Use regular expressions for entity name matching", "submitter": { "id": 156, "url": "https://patchwork.libcamera.org/api/1.1/people/156/?format=api", "name": "Dan Scally", "email": "dan.scally@ideasonboard.com" }, "mbox": "https://patchwork.libcamera.org/cover/23833/mbox/", "series": [ { "id": 5293, "url": "https://patchwork.libcamera.org/api/1.1/series/5293/?format=api", "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=5293", "date": "2025-07-17T12:48:49", "name": "Use regular expressions for entity name matching", "version": 2, "mbox": "https://patchwork.libcamera.org/series/5293/mbox/" } ], "comments": "https://patchwork.libcamera.org/api/covers/23833/comments/", "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 17D01BE175\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu, 17 Jul 2025 12:49:05 +0000 (UTC)", "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 1681068F83;\n\tThu, 17 Jul 2025 14:49:04 +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 E795A61517\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 17 Jul 2025 14:49:01 +0200 (CEST)", "from mail.ideasonboard.com\n\t(cpc141996-chfd3-2-0-cust928.12-3.cable.virginm.net [86.13.91.161])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id C60CD1AE2;\n\tThu, 17 Jul 2025 14:48:27 +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=\"uaH501T0\"; dkim-atps=neutral", "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1752756507;\n\tbh=y9h/+w1K2ZmC+HUYooOf6HZ/weinC+7UUTNHrvgJBe8=;\n\th=From:To:Cc:Subject:Date:From;\n\tb=uaH501T0kWvLRxQLFk3dkXoI0K9N+DJhVeNHhxZrUzh0GVw4vbNQ1d7oS53iEZNZY\n\tjpZiqQfrTkePx1z8eRabCAZZruv4E8XvsuLXtPAup/dycDIh7KJL2AKZ36rv+g6/L+\n\tHWGbWtlxpZoAwWosJ6sBGoQzN4Se4x3js4JGguFM=", "From": "Daniel Scally <dan.scally@ideasonboard.com>", "To": "libcamera-devel@lists.libcamera.org", "Cc": "Daniel Scally <dan.scally@ideasonboard.com>", "Subject": "[PATCH v2 0/4] Use regular expressions for entity name matching", "Date": "Thu, 17 Jul 2025 13:48:49 +0100", "Message-Id": "<20250717124853.2317191-1-dan.scally@ideasonboard.com>", "X-Mailer": "git-send-email 2.34.1", "MIME-Version": "1.0", "Content-Transfer-Encoding": "8bit", "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>" }, "content": "There are a couple of places in libcamera that fetch a MediaEntity\nfrom a MediaDevice using the entity's name. This has raised an issue\nlately on the RZ/V2H platforms, as the drivers for some of the\nhardware give the entities that they create names that incorporate\nthings like the memory address for the hardware's registers. If we\nsimply use those names as-is then the pipeline handler would only\nwork for the instance of the hardware that's at the hard-coded\naddress and not any of the others.\n\nTo work around the issue, this series updates libcamera to add overloads for the\nentity matching functions that accept a regex instead of a string. Existing call\nsites which just pass a normal string should work unaffected, but new\ncall sites could pass a std::regex instead that then matches for entities using\nthe pattern instead of direct matches only.\n\nThanks\nDan\n\n\nDaniel Scally (4):\n libcamera: base: Wrap <regex.h>\n libcamera: device_enumerator: Support regex to match entity names\n libcamera: media_device: Allow for a regex to match entity name\n libcamera: V4L2Subdevice: Allow for a regex to match entity name\n\n include/libcamera/base/meson.build | 1 +\n include/libcamera/base/regex.h | 13 +++++++\n .../libcamera/internal/device_enumerator.h | 4 +-\n include/libcamera/internal/media_device.h | 2 +\n include/libcamera/internal/v4l2_subdevice.h | 3 ++\n src/libcamera/device_enumerator.cpp | 37 ++++++++++++++++++-\n src/libcamera/media_device.cpp | 25 +++++++++++++\n src/libcamera/v4l2_subdevice.cpp | 27 ++++++++++----\n 8 files changed, 103 insertions(+), 9 deletions(-)\n create mode 100644 include/libcamera/base/regex.h" }