Patch Detail
Show a patch.
GET /api/1.1/patches/20369/?format=api
{ "id": 20369, "url": "https://patchwork.libcamera.org/api/1.1/patches/20369/?format=api", "web_url": "https://patchwork.libcamera.org/patch/20369/", "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": "<20240624192941.22943-3-laurent.pinchart@ideasonboard.com>", "date": "2024-06-24T19:29:33", "name": "[02/10] ipa: ipa_interface: Declare ipaCreate() in libcamera namespace", "commit_ref": null, "pull_url": null, "state": "accepted", "archived": false, "hash": "36fc77ebca820506de68d12d9a8713b7ef398e79", "submitter": { "id": 2, "url": "https://patchwork.libcamera.org/api/1.1/people/2/?format=api", "name": "Laurent Pinchart", "email": "laurent.pinchart@ideasonboard.com" }, "delegate": null, "mbox": "https://patchwork.libcamera.org/patch/20369/mbox/", "series": [ { "id": 4413, "url": "https://patchwork.libcamera.org/api/1.1/series/4413/?format=api", "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=4413", "date": "2024-06-24T19:29:31", "name": "libcamera: Enable -Wmissing-declarations", "version": 1, "mbox": "https://patchwork.libcamera.org/series/4413/mbox/" } ], "comments": "https://patchwork.libcamera.org/api/patches/20369/comments/", "check": "pending", "checks": "https://patchwork.libcamera.org/api/patches/20369/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 38CE2BD87C\n\tfor <parsemail@patchwork.libcamera.org>;\n\tMon, 24 Jun 2024 19:30:11 +0000 (UTC)", "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id DA489654AA;\n\tMon, 24 Jun 2024 21:30:10 +0200 (CEST)", "from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id F21EA654A1\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 24 Jun 2024 21:30:06 +0200 (CEST)", "from pendragon.ideasonboard.com (81-175-209-231.bb.dnainternet.fi\n\t[81.175.209.231])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id E3BD518ED;\n\tMon, 24 Jun 2024 21:29:44 +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=\"T8oNxdNH\"; dkim-atps=neutral", "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1719257385;\n\tbh=j9RrLLxmhULYnH+F2cHOe2p0fXdHEv3+MjmL7WvbinU=;\n\th=From:To:Cc:Subject:Date:In-Reply-To:References:From;\n\tb=T8oNxdNHffTZ1AlaHDob9ssJI86fC+ybr2n024vjhh6FqQl5cyltGpawJHzkDhZrV\n\tzymORmU5A+btLSndVq4YZKcEeG1DdhXTy7hdoI4RmqYCDdolrTAsknup47OdOMavDM\n\tdT76QZqM+to3pQhfTa3RqFmcoMbjPxGwY8TVuhWE=", "From": "Laurent Pinchart <laurent.pinchart@ideasonboard.com>", "To": "libcamera-devel@lists.libcamera.org", "Cc": "=?utf-8?q?Barnab=C3=A1s_P=C5=91cze?= <pobrn@protonmail.com>", "Subject": "[PATCH 02/10] ipa: ipa_interface: Declare ipaCreate() in libcamera\n\tnamespace", "Date": "Mon, 24 Jun 2024 22:29:33 +0300", "Message-ID": "<20240624192941.22943-3-laurent.pinchart@ideasonboard.com>", "X-Mailer": "git-send-email 2.44.2", "In-Reply-To": "<20240624192941.22943-1-laurent.pinchart@ideasonboard.com>", "References": "<20240624192941.22943-1-laurent.pinchart@ideasonboard.com>", "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": "The ipaCreate() function is the entry point to IPA modules. It is\ndeclared in ipa_interface.h, and defined by each module. As the function\nis defined with extern \"C\" linkage, the namespace in which it is\ncontained is not very relevant from a caller's point of view. For the\nIPA module implementer, however, defining the function in the libcamera\nnamespace avoids adding an explicit libcamera:: prefix to the symbols\nused by the function. This is why all IPA modules define their\nipaCreate() entry point in the libcamera namespace.\n\nThe ipa_interface.h file, however, declares the function in the global\nnamespace. This doesn't cause any issue at runtime, but will cause a\nmissing declaration warning when we enable them. To prepare for that,\nmove the function declaration to the libcamera namespace.\n\nSigned-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n---\n include/libcamera/ipa/ipa_interface.h | 4 ++--\n 1 file changed, 2 insertions(+), 2 deletions(-)", "diff": "diff --git a/include/libcamera/ipa/ipa_interface.h b/include/libcamera/ipa/ipa_interface.h\nindex b93f1a15b2c9..53cf5377fcc6 100644\n--- a/include/libcamera/ipa/ipa_interface.h\n+++ b/include/libcamera/ipa/ipa_interface.h\n@@ -33,8 +33,8 @@ public:\n \tvirtual ~IPAInterface() = default;\n };\n \n-} /* namespace libcamera */\n-\n extern \"C\" {\n libcamera::IPAInterface *ipaCreate();\n }\n+\n+} /* namespace libcamera */\n", "prefixes": [ "02/10" ] }