Patch Detail
Show a patch.
GET /api/patches/15408/?format=api
{ "id": 15408, "url": "https://patchwork.libcamera.org/api/patches/15408/?format=api", "web_url": "https://patchwork.libcamera.org/patch/15408/", "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": "<20220303234956.1463551-2-djrscally@gmail.com>", "date": "2022-03-03T23:49:48", "name": "[libcamera-devel,v5,1/9] libcamera: Add members to MediaEntity to support ancillary entities", "commit_ref": null, "pull_url": null, "state": "accepted", "archived": false, "hash": "eff10079111736b9b9a13f2d8c6473930d3d4bbc", "submitter": { "id": 90, "url": "https://patchwork.libcamera.org/api/people/90/?format=api", "name": "Daniel Scally", "email": "djrscally@gmail.com" }, "delegate": null, "mbox": "https://patchwork.libcamera.org/patch/15408/mbox/", "series": [ { "id": 2950, "url": "https://patchwork.libcamera.org/api/series/2950/?format=api", "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=2950", "date": "2022-03-03T23:49:47", "name": "Enumerate CameraLens by following sensor's ancillary links", "version": 5, "mbox": "https://patchwork.libcamera.org/series/2950/mbox/" } ], "comments": "https://patchwork.libcamera.org/api/patches/15408/comments/", "check": "pending", "checks": "https://patchwork.libcamera.org/api/patches/15408/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 B1617BE08A\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu, 3 Mar 2022 23:50:16 +0000 (UTC)", "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id B8DAE61171;\n\tFri, 4 Mar 2022 00:50:14 +0100 (CET)", "from mail-wr1-x42e.google.com (mail-wr1-x42e.google.com\n\t[IPv6:2a00:1450:4864:20::42e])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 8CE2F601FF\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 4 Mar 2022 00:50:12 +0100 (CET)", "by mail-wr1-x42e.google.com with SMTP id x15so10119435wru.13\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 03 Mar 2022 15:50:12 -0800 (PST)", "from localhost.localdomain\n\t(cpc141996-chfd3-2-0-cust928.12-3.cable.virginm.net. [86.13.91.161])\n\tby smtp.gmail.com with ESMTPSA id\n\ty4-20020adff144000000b001f022290737sm3079779wro.6.2022.03.03.15.50.11\n\t(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n\tThu, 03 Mar 2022 15:50:11 -0800 (PST)" ], "Authentication-Results": "lancelot.ideasonboard.com;\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n\tunprotected) header.d=gmail.com header.i=@gmail.com\n\theader.b=\"QhhSFEjN\"; dkim-atps=neutral", "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112;\n\th=from:to:cc:subject:date:message-id:in-reply-to:references\n\t:mime-version:content-transfer-encoding;\n\tbh=47iMjV3sq46sbjD6g6+N774t/fs+Sb4CTlcnefiJ+sI=;\n\tb=QhhSFEjN5gmRUsFpAyEzVOV3JS8w7Or3fAnbGrgC7uEo33wVxa8wFkR9/mEpmTyNoI\n\tQNLGwiVeWw8cC8GEaAsaLNB+ZR2/9ZbNLB04qb1LUZcQEO5zfm101ztdcx9bJA4OcI4G\n\tqkrZhfazN4F2QEp6oy9MqRiCMKG+LflxPmyDgbkAnVKqgE/6CgFmY66MtMdZTIMGEpaw\n\tAzrfdAm5F9ob39Byiv4T5toMvS/lifTqTfrT8ouGQVHrkjen0u+O5z3lP7psiOWEdpk5\n\t30gCZI2VtkF9kIxMN6Ht1VEX41HMF0g23J9JmLAKScOAMni5S7OfCue5xL+no37GdV1x\n\tI7Ew==", "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20210112;\n\th=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to\n\t:references:mime-version:content-transfer-encoding;\n\tbh=47iMjV3sq46sbjD6g6+N774t/fs+Sb4CTlcnefiJ+sI=;\n\tb=AVdNLhM5alFmkhoGswqfw6zW80Lj66qds018RP25A87RZqfQjk8U4odXx6ggSv1/Ez\n\tmWK6cspRgsxWJk6uuF6ICyaxAjywIi9Ki5sbYoC+jIh0MFtYbxw9x5aX509PSFFIbVOe\n\tvvZmxLUE+LmlKVqlDPMcZZYVPNRjcpL2fZH8KNHIhhgFh0P2j0AOwIHDO7n5Cc03Gozp\n\tHJdpSzMe6Wo2Y+5XqmNAl7kOJU/Q3QJHry+gQmCKDUH424DY/pkiTtXda0+CJouwWNZ5\n\t9HddCEAxEkAjCzzpenQnQq1h7OqmL0XC4AWrow0AnOUVfgOHVb6T2OemgT/mS+fa1rM2\n\tJhhA==", "X-Gm-Message-State": "AOAM5339oqSS0i8sNYctCeaWp2wDWK1NBc3iYU/43f3BjwB2Z/7HQW3B\n\tvcwWll1HqpG8gCqPbIS2BcpIyI56ZY4s4w==", "X-Google-Smtp-Source": "ABdhPJylcY8FNLxAE3eDHI/0WZceqQ3YsyulVvU7wO2ke0VUKmlpOXzyKa9baypyJKWvKuGeIZ9gRA==", "X-Received": "by 2002:a05:6000:1a52:b0:1f0:2d62:2bbb with SMTP id\n\tt18-20020a0560001a5200b001f02d622bbbmr7595440wry.614.1646351412234; \n\tThu, 03 Mar 2022 15:50:12 -0800 (PST)", "From": "Daniel Scally <djrscally@gmail.com>", "To": "libcamera-devel@lists.libcamera.org", "Date": "Thu, 3 Mar 2022 23:49:48 +0000", "Message-Id": "<20220303234956.1463551-2-djrscally@gmail.com>", "X-Mailer": "git-send-email 2.25.1", "In-Reply-To": "<20220303234956.1463551-1-djrscally@gmail.com>", "References": "<20220303234956.1463551-1-djrscally@gmail.com>", "MIME-Version": "1.0", "Content-Transfer-Encoding": "8bit", "Subject": "[libcamera-devel] [PATCH v5 1/9] libcamera: Add members to\n\tMediaEntity to support ancillary entities", "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": "With kernel support for ancillary links, we can describe the\nrelationship between two devices represented individually as instances\nof MediaEntity. As the only property of that relationship is its\nexistence, describe those relationships in libcamera simply as a\nvector of MediaEntity pointers to the ancillary devices.\n\nReviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\nSigned-off-by: Daniel Scally <djrscally@gmail.com>\n---\nChanges in v5:\n\n\t- None\n\nChanges in v4:\n\n\t- Reordered addAncillaryEntity() in the .cpp to match the .h\n\nChanges in v3:\n\n\t- Fixed some style issues\n\t- Made addAncillaryEntity() private\n\n include/libcamera/internal/media_object.h | 4 ++++\n src/libcamera/media_object.cpp | 15 +++++++++++++++\n 2 files changed, 19 insertions(+)", "diff": "diff --git a/include/libcamera/internal/media_object.h b/include/libcamera/internal/media_object.h\nindex 90c63598..b1572968 100644\n--- a/include/libcamera/internal/media_object.h\n+++ b/include/libcamera/internal/media_object.h\n@@ -104,6 +104,7 @@ public:\n \tunsigned int deviceMinor() const { return minor_; }\n \n \tconst std::vector<MediaPad *> &pads() const { return pads_; }\n+\tconst std::vector<MediaEntity *> ancillaryEntities() const { return ancillaryEntities_; }\n \n \tconst MediaPad *getPadByIndex(unsigned int index) const;\n \tconst MediaPad *getPadById(unsigned int id) const;\n@@ -120,6 +121,8 @@ private:\n \n \tvoid addPad(MediaPad *pad);\n \n+\tvoid addAncillaryEntity(MediaEntity *ancillaryEntity);\n+\n \tstd::string name_;\n \tunsigned int function_;\n \tunsigned int flags_;\n@@ -129,6 +132,7 @@ private:\n \tunsigned int minor_;\n \n \tstd::vector<MediaPad *> pads_;\n+\tstd::vector<MediaEntity *> ancillaryEntities_;\n };\n \n } /* namespace libcamera */\ndiff --git a/src/libcamera/media_object.cpp b/src/libcamera/media_object.cpp\nindex f425d044..c78f4758 100644\n--- a/src/libcamera/media_object.cpp\n+++ b/src/libcamera/media_object.cpp\n@@ -423,4 +423,19 @@ void MediaEntity::addPad(MediaPad *pad)\n \tpads_.push_back(pad);\n }\n \n+/**\n+ * \\brief Add a MediaEntity to the list of ancillary entities\n+ * \\param[in] ancillaryEntity The instance of MediaEntity to add\n+ */\n+void MediaEntity::addAncillaryEntity(MediaEntity *ancillaryEntity)\n+{\n+\tancillaryEntities_.push_back(ancillaryEntity);\n+}\n+\n+/**\n+ * \\fn MediaEntity::ancillaryEntities()\n+ * \\brief Retrieve all ancillary entities of the entity\n+ * \\return The list of the entity's ancillary entities\n+ */\n+\n } /* namespace libcamera */\n", "prefixes": [ "libcamera-devel", "v5", "1/9" ] }