Show a cover letter.

GET /api/1.1/covers/23652/?format=api
HTTP 200 OK
Allow: GET, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 23652,
    "url": "https://patchwork.libcamera.org/api/1.1/covers/23652/?format=api",
    "web_url": "https://patchwork.libcamera.org/cover/23652/",
    "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": "<20250625155308.2325438-1-dan.scally@ideasonboard.com>",
    "date": "2025-06-25T15:53:06",
    "name": "[v1,0/2] 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/23652/mbox/",
    "series": [
        {
            "id": 5247,
            "url": "https://patchwork.libcamera.org/api/1.1/series/5247/?format=api",
            "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=5247",
            "date": "2025-06-25T15:53:06",
            "name": "Use regular expressions for entity name matching",
            "version": 1,
            "mbox": "https://patchwork.libcamera.org/series/5247/mbox/"
        }
    ],
    "comments": "https://patchwork.libcamera.org/api/covers/23652/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 B7A67C3237\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed, 25 Jun 2025 15:53:30 +0000 (UTC)",
            "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 884BE68DE6;\n\tWed, 25 Jun 2025 17:53:29 +0200 (CEST)",
            "from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id E593261533\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 25 Jun 2025 17:53:26 +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 7FFE342B;\n\tWed, 25 Jun 2025 17:53:08 +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=\"hdFTAqtd\"; dkim-atps=neutral",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1750866788;\n\tbh=2OYcTjinuul4yW1zeiNbtTX5Z84vad5zWteQL0YGB7Q=;\n\th=From:To:Cc:Subject:Date:From;\n\tb=hdFTAqtdMUIXtahNfCj+5n9YCS9A56o3gJ54fSZLbkeeQVugiaqlkJi7YlqgdXOVD\n\tMIaxEAt2pSWZqiluPFeb1aSoH34Lkzp8aXByzy50/kZfKFdPbkNMoiLNn3lFAAedel\n\tCm0ASeSq+WpNviOCLLqj5RCfKT3WVtfPVx/ucVc4=",
        "From": "Daniel Scally <dan.scally@ideasonboard.com>",
        "To": "libcamera-devel@lists.libcamera.org",
        "Cc": "Daniel Scally <dan.scally@ideasonboard.com>",
        "Subject": "[PATCH v1 0/2] Use regular expressions for entity name matching",
        "Date": "Wed, 25 Jun 2025 16:53:06 +0100",
        "Message-Id": "<20250625155308.2325438-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 use regex\nmatching when searching for a MediaEntity by name. Existing call\nsites which just pass a normal string should work unaffected, but new\ncall sites could use a string that builds a valid regular expression\ninstead.\n\nDaniel Scally (2):\n  libcamera: device_enumerator: Use regex to match entity names\n  libcamera: media_device: Use a regex to match entity name\n\n .../libcamera/internal/device_enumerator.h    |  3 ++-\n src/libcamera/device_enumerator.cpp           | 27 ++++++++++---------\n src/libcamera/media_device.cpp                | 12 ++++++---\n src/libcamera/v4l2_subdevice.cpp              |  4 +--\n 4 files changed, 26 insertions(+), 20 deletions(-)"
}