Show a patch.

GET /api/patches/18542/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 18542,
    "url": "https://patchwork.libcamera.org/api/patches/18542/?format=api",
    "web_url": "https://patchwork.libcamera.org/patch/18542/",
    "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": "<20230419085821.2682901-4-kieran.bingham@ideasonboard.com>",
    "date": "2023-04-19T08:58:21",
    "name": "[libcamera-devel,3/3] libcamera: pipeline: Register device numbers with camera",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": false,
    "hash": "4cdf07564ef68c4e79c3dcd5d5ac3d7ef25faa73",
    "submitter": {
        "id": 4,
        "url": "https://patchwork.libcamera.org/api/people/4/?format=api",
        "name": "Kieran Bingham",
        "email": "kieran.bingham@ideasonboard.com"
    },
    "delegate": null,
    "mbox": "https://patchwork.libcamera.org/patch/18542/mbox/",
    "series": [
        {
            "id": 3844,
            "url": "https://patchwork.libcamera.org/api/series/3844/?format=api",
            "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=3844",
            "date": "2023-04-19T08:58:18",
            "name": "libcamera: Add new Camera devices property",
            "version": 1,
            "mbox": "https://patchwork.libcamera.org/series/3844/mbox/"
        }
    ],
    "comments": "https://patchwork.libcamera.org/api/patches/18542/comments/",
    "check": "pending",
    "checks": "https://patchwork.libcamera.org/api/patches/18542/checks/",
    "tags": {},
    "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 BA424C32A5\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed, 19 Apr 2023 08:58:35 +0000 (UTC)",
            "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id DBF95627C4;\n\tWed, 19 Apr 2023 10:58:33 +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 0823F627AB\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 19 Apr 2023 10:58:31 +0200 (CEST)",
            "from Monstersaurus.tail69b4.ts.net\n\t(aztw-30-b2-v4wan-166917-cust845.vm26.cable.virginm.net\n\t[82.37.23.78])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 6D5D612F;\n\tWed, 19 Apr 2023 10:58:24 +0200 (CEST)"
        ],
        "DKIM-Signature": [
            "v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1681894713;\n\tbh=H6kBlsFt1NnH5Lv5onqRluHkOb6OG781rOzuvIckdeA=;\n\th=To:Date:In-Reply-To:References:Subject:List-Id:List-Unsubscribe:\n\tList-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:\n\tFrom;\n\tb=Y53fj45Y8qvTP1MaFD3lXRf0md7RyXrXoj2uWPTV66hJgAEodVctYDQYLE2FukV7q\n\tZlJMuDXBxDvdkQ1IFEqhK0QlebJfaObQ/qusvdy94zSJPrmvoft2nU5YsMx4PL1H20\n\tYuWKQ7qwhjm3nZ2nikTydqE4Dy9R/vfTbZilu0J0DH4WJylAKWlmsHJcJtCwJVtHnB\n\t37EQeX00B0P/xTSrZr7VvUz8P5c/hGtRA5Gd+/bwiix1kiB5LP9dGx+xQmK9E5CHKN\n\tbjKF41id9EtdQclVloedSzsv0Jn+sHYpbEdToLcAlD2fNmO3vhRaQZ+MXXWjVs7NlU\n\tbgQUh7rqCZWyA==",
            "v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1681894704;\n\tbh=H6kBlsFt1NnH5Lv5onqRluHkOb6OG781rOzuvIckdeA=;\n\th=From:To:Cc:Subject:Date:In-Reply-To:References:From;\n\tb=GLOUqCqXZQ+LWqzB5/IEyxRHLEW+aoI7uifbbt+tCnd06KGZidqrLTMLQrHfBaGaE\n\tuavzna/4OizKqRWWTGFceNUrlMXrSp4adYrSuW/SVEHWZxLGJ2a430zsrzAaZnfi8x\n\t/wIk6ZyC2AkzroAS05RJYWargy6Oi5+lrIVzYOy8="
        ],
        "Authentication-Results": "lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=ideasonboard.com\n\theader.i=@ideasonboard.com\n\theader.b=\"GLOUqCqX\"; dkim-atps=neutral",
        "To": "libcamera devel <libcamera-devel@lists.libcamera.org>",
        "Date": "Wed, 19 Apr 2023 09:58:21 +0100",
        "Message-Id": "<20230419085821.2682901-4-kieran.bingham@ideasonboard.com>",
        "X-Mailer": "git-send-email 2.34.1",
        "In-Reply-To": "<20230419085821.2682901-1-kieran.bingham@ideasonboard.com>",
        "References": "<20230419085821.2682901-1-kieran.bingham@ideasonboard.com>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "Subject": "[libcamera-devel] [PATCH 3/3] libcamera: pipeline: Register device\n\tnumbers with camera",
        "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>",
        "From": "Kieran Bingham via libcamera-devel\n\t<libcamera-devel@lists.libcamera.org>",
        "Reply-To": "Kieran Bingham <kieran.bingham@ideasonboard.com>",
        "Errors-To": "libcamera-devel-bounces@lists.libcamera.org",
        "Sender": "\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"
    },
    "content": "Register the identified device numbers with each camera as the Devices\nproperty.\n\nThis facilitates camera daemons or other systems to identify which\ndevices are being managed by libcamera, and can prevent duplication of\ncamera resources.\n\nSigned-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n---\n src/libcamera/pipeline_handler.cpp | 8 ++++++++\n 1 file changed, 8 insertions(+)",
    "diff": "diff --git a/src/libcamera/pipeline_handler.cpp b/src/libcamera/pipeline_handler.cpp\nindex f72613b8e515..66e7def51cd1 100644\n--- a/src/libcamera/pipeline_handler.cpp\n+++ b/src/libcamera/pipeline_handler.cpp\n@@ -18,6 +18,7 @@\n #include <libcamera/camera.h>\n #include <libcamera/camera_manager.h>\n #include <libcamera/framebuffer.h>\n+#include <libcamera/property_ids.h>\n \n #include \"libcamera/internal/camera.h\"\n #include \"libcamera/internal/device_enumerator.h\"\n@@ -624,6 +625,13 @@ void PipelineHandler::registerCamera(std::shared_ptr<Camera> camera)\n \t\t}\n \t}\n \n+\t/*\n+\t * Store the associated devices as a property of the camera to allow\n+\t * systems to identify which devices are managed by libcamera.\n+\t */\n+\tCamera::Private *data = camera->_d();\n+\tdata->properties_.set(properties::Devices, devnums);\n+\n \tmanager_->addCamera(std::move(camera), devnums);\n }\n \n",
    "prefixes": [
        "libcamera-devel",
        "3/3"
    ]
}