[{"id":39182,"web_url":"https://patchwork.libcamera.org/comment/39182/","msgid":"<20260618192848.GC2890159@ragnatech.se>","date":"2026-06-18T19:28:48","subject":"Re: [PATCH 02/14] ipa: ipa_module: Remove pipelineName","submitter":{"id":230,"url":"https://patchwork.libcamera.org/api/people/230/","name":"Niklas Söderlund","email":"niklas.soderlund+renesas@ragnatech.se"},"content":"Hi Jacopo,\n\nThanks for your work.\n\nOn 2026-06-18 12:18:41 +0200, Jacopo Mondi wrote:\n> All the IPA modules declare a pipelineName that is identical\n> to their name. As we now support creating IPAs by name\n> (either explicitly provided by the pipeline handlers or by using the\n> pipeline name), the duplicated information in IPAModuleInfo is\n> redundant.\n> \n> Remove it.\n> \n> Signed-off-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>\n> Reviewed-by: Barnabás Pőcze <barnabas.pocze@ideasonboard.com>\n> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n\nReviewed-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>\n\n> ---\n>  include/libcamera/ipa/ipa_module_info.h |  1 -\n>  src/ipa/ipu3/ipu3.cpp                   |  1 -\n>  src/ipa/mali-c55/mali-c55.cpp           |  1 -\n>  src/ipa/rkisp1/rkisp1.cpp               |  1 -\n>  src/ipa/rpi/pisp/pisp.cpp               |  1 -\n>  src/ipa/rpi/vc4/vc4.cpp                 |  1 -\n>  src/ipa/simple/soft_simple.cpp          |  1 -\n>  src/ipa/vimc/vimc.cpp                   |  1 -\n>  src/libcamera/ipa_module.cpp            | 15 ++++++---------\n>  test/ipa/ipa_module_test.cpp            |  3 ---\n>  10 files changed, 6 insertions(+), 20 deletions(-)\n> \n> diff --git a/include/libcamera/ipa/ipa_module_info.h b/include/libcamera/ipa/ipa_module_info.h\n> index 3507a6d7678a..436ec82d7750 100644\n> --- a/include/libcamera/ipa/ipa_module_info.h\n> +++ b/include/libcamera/ipa/ipa_module_info.h\n> @@ -16,7 +16,6 @@ namespace libcamera {\n>  struct IPAModuleInfo {\n>  \tint moduleAPIVersion;\n>  \tuint32_t pipelineVersion;\n> -\tchar pipelineName[256];\n>  \tchar name[256];\n>  } __attribute__((packed));\n>  \n> diff --git a/src/ipa/ipu3/ipu3.cpp b/src/ipa/ipu3/ipu3.cpp\n> index 4bdc4b7677fe..42d475ecc63a 100644\n> --- a/src/ipa/ipu3/ipu3.cpp\n> +++ b/src/ipa/ipu3/ipu3.cpp\n> @@ -672,7 +672,6 @@ const struct IPAModuleInfo ipaModuleInfo = {\n>  \tIPA_MODULE_API_VERSION,\n>  \t1,\n>  \t\"ipu3\",\n> -\t\"ipu3\",\n>  };\n>  \n>  /**\n> diff --git a/src/ipa/mali-c55/mali-c55.cpp b/src/ipa/mali-c55/mali-c55.cpp\n> index 1d3af0627fdb..47bcd3748f7f 100644\n> --- a/src/ipa/mali-c55/mali-c55.cpp\n> +++ b/src/ipa/mali-c55/mali-c55.cpp\n> @@ -380,7 +380,6 @@ const struct IPAModuleInfo ipaModuleInfo = {\n>  \tIPA_MODULE_API_VERSION,\n>  \t1,\n>  \t\"mali-c55\",\n> -\t\"mali-c55\",\n>  };\n>  \n>  IPAInterface *ipaCreate()\n> diff --git a/src/ipa/rkisp1/rkisp1.cpp b/src/ipa/rkisp1/rkisp1.cpp\n> index 58ef163d85ad..e0dde542c71a 100644\n> --- a/src/ipa/rkisp1/rkisp1.cpp\n> +++ b/src/ipa/rkisp1/rkisp1.cpp\n> @@ -481,7 +481,6 @@ const struct IPAModuleInfo ipaModuleInfo = {\n>  \tIPA_MODULE_API_VERSION,\n>  \t1,\n>  \t\"rkisp1\",\n> -\t\"rkisp1\",\n>  };\n>  \n>  IPAInterface *ipaCreate()\n> diff --git a/src/ipa/rpi/pisp/pisp.cpp b/src/ipa/rpi/pisp/pisp.cpp\n> index de2a6afeb8c1..975d8bfdf8a5 100644\n> --- a/src/ipa/rpi/pisp/pisp.cpp\n> +++ b/src/ipa/rpi/pisp/pisp.cpp\n> @@ -1145,7 +1145,6 @@ const IPAModuleInfo ipaModuleInfo = {\n>  \tIPA_MODULE_API_VERSION,\n>  \t1,\n>  \t\"rpi/pisp\",\n> -\t\"rpi/pisp\",\n>  };\n>  \n>  IPAInterface *ipaCreate()\n> diff --git a/src/ipa/rpi/vc4/vc4.cpp b/src/ipa/rpi/vc4/vc4.cpp\n> index b6ca44e7a0a0..f30eee7ff012 100644\n> --- a/src/ipa/rpi/vc4/vc4.cpp\n> +++ b/src/ipa/rpi/vc4/vc4.cpp\n> @@ -633,7 +633,6 @@ const struct IPAModuleInfo ipaModuleInfo = {\n>  \tIPA_MODULE_API_VERSION,\n>  \t1,\n>  \t\"rpi/vc4\",\n> -\t\"rpi/vc4\",\n>  };\n>  \n>  IPAInterface *ipaCreate()\n> diff --git a/src/ipa/simple/soft_simple.cpp b/src/ipa/simple/soft_simple.cpp\n> index 629e1a32de8a..d4ab91e30bf1 100644\n> --- a/src/ipa/simple/soft_simple.cpp\n> +++ b/src/ipa/simple/soft_simple.cpp\n> @@ -343,7 +343,6 @@ const struct IPAModuleInfo ipaModuleInfo = {\n>  \tIPA_MODULE_API_VERSION,\n>  \t0,\n>  \t\"simple\",\n> -\t\"simple\",\n>  };\n>  \n>  IPAInterface *ipaCreate()\n> diff --git a/src/ipa/vimc/vimc.cpp b/src/ipa/vimc/vimc.cpp\n> index 4162b848f7b1..bae48ea90662 100644\n> --- a/src/ipa/vimc/vimc.cpp\n> +++ b/src/ipa/vimc/vimc.cpp\n> @@ -183,7 +183,6 @@ const struct IPAModuleInfo ipaModuleInfo = {\n>  \tIPA_MODULE_API_VERSION,\n>  \t0,\n>  \t\"vimc\",\n> -\t\"vimc\",\n>  };\n>  \n>  IPAInterface *ipaCreate()\n> diff --git a/src/libcamera/ipa_module.cpp b/src/libcamera/ipa_module.cpp\n> index 0bd6f14626fe..53cea6b187e8 100644\n> --- a/src/libcamera/ipa_module.cpp\n> +++ b/src/libcamera/ipa_module.cpp\n> @@ -215,18 +215,15 @@ Span<const uint8_t> elfLoadSymbol(Span<const uint8_t> elf, const char *symbol)\n>   * \\var IPAModuleInfo::pipelineVersion\n>   * \\brief The pipeline handler version that the IPA module is for\n>   *\n> - * \\var IPAModuleInfo::pipelineName\n> - * \\brief The name of the pipeline handler that the IPA module is for\n> - *\n> - * This name is used to match a pipeline handler with the module.\n> - *\n>   * \\var IPAModuleInfo::name\n>   * \\brief The name of the IPA module\n>   *\n> - * The name may be used to build file system paths to IPA-specific resources.\n> - * It shall only contain printable characters, and may not contain '*', '?' or\n> - * '\\'. For IPA modules included in libcamera, it shall match the directory of\n> - * the IPA module in the source tree.\n> + * This name is used to match a the IPA module.\n> + *\n> + * The name may also be used to build file system paths to IPA-specific\n> + * resources. It shall only contain printable characters, and may not contain\n> + * '*', '?' or '\\'. For IPA modules included in libcamera, it shall match the\n> + * directory of the IPA module in the source tree.\n>   *\n>   * \\todo Allow user to choose to isolate open source IPAs\n>   */\n> diff --git a/test/ipa/ipa_module_test.cpp b/test/ipa/ipa_module_test.cpp\n> index 1c97da3242a7..af71c3285328 100644\n> --- a/test/ipa/ipa_module_test.cpp\n> +++ b/test/ipa/ipa_module_test.cpp\n> @@ -37,12 +37,10 @@ protected:\n>  \t\t\tcerr << \"IPA module information mismatch: expected:\" << endl\n>  \t\t\t     << \"moduleAPIVersion = \"     << testInfo.moduleAPIVersion << endl\n>  \t\t\t     << \"pipelineVersion = \"      << testInfo.pipelineVersion << endl\n> -\t\t\t     << \"pipelineName = \"         << testInfo.pipelineName << endl\n>  \t\t\t     << \"name = \"                 << testInfo.name\n>  \t\t\t     << \"got: \" << endl\n>  \t\t\t     << \"moduleAPIVersion = \"     << info.moduleAPIVersion << endl\n>  \t\t\t     << \"pipelineVersion = \"      << info.pipelineVersion << endl\n> -\t\t\t     << \"pipelineName = \"         << info.pipelineName << endl\n>  \t\t\t     << \"name = \"                 << info.name << endl;\n>  \t\t}\n>  \n> @@ -58,7 +56,6 @@ protected:\n>  \t\t\tIPA_MODULE_API_VERSION,\n>  \t\t\t0,\n>  \t\t\t\"vimc\",\n> -\t\t\t\"vimc\",\n>  \t\t};\n>  \n>  \t\tcount += runTest(\"src/ipa/vimc/ipa_vimc.so\", testInfo);\n> \n> -- \n> 2.54.0\n>","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 A5216BF415\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu, 18 Jun 2026 19:28:55 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id C77D2656B6;\n\tThu, 18 Jun 2026 21:28:54 +0200 (CEST)","from fhigh-b3-smtp.messagingengine.com\n\t(fhigh-b3-smtp.messagingengine.com [202.12.124.154])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 2AD4C61754\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 18 Jun 2026 21:28:53 +0200 (CEST)","from phl-compute-02.internal (phl-compute-02.internal\n\t[10.202.2.42])\n\tby mailfhigh.stl.internal (Postfix) with ESMTP id 74B227A00FF;\n\tThu, 18 Jun 2026 15:28:51 -0400 (EDT)","from phl-frontend-03 ([10.202.2.162])\n\tby phl-compute-02.internal (MEProxy); Thu, 18 Jun 2026 15:28:51 -0400","by mail.messagingengine.com (Postfix) with ESMTPA; Thu,\n\t18 Jun 2026 15:28:50 -0400 (EDT)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (2048-bit key;\n\tunprotected) header.d=ragnatech.se header.i=@ragnatech.se\n\theader.b=\"XOVbCuqd\"; dkim=pass (2048-bit key;\n\tunprotected) header.d=messagingengine.com\n\theader.i=@messagingengine.com header.b=\"caLBReIz\"; \n\tdkim-atps=neutral","DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/relaxed; d=ragnatech.se; h=\n\tcc:cc:content-transfer-encoding:content-type:content-type:date\n\t:date:from:from:in-reply-to:in-reply-to:message-id:mime-version\n\t:references:reply-to:subject:subject:to:to; s=fm3; t=1781810931;\n\tx=1781897331; bh=m4xbFBBeZp/sgKu2qqIqvEPnM4vohSoEhZzJlR8NThI=; b=\n\tXOVbCuqdJxXZhEMNiCs4VyYtDR5Uuh4R2JQKn2zvvt3vFARfJt7+WEvGfgAlwatT\n\tyOtHfvBvi6cuTnlPmIGlm+hF/IDUiN80W9TTKr0N4sv4bgRQnZ3SRxQojyjcCCf8\n\tz/20Xs9KQS73p9cNHGj6B+SI2zMCKE8fioq6UJx+xDaMBHFglzJuTqDpnFJr16DN\n\tewo8koXwfWBSDgmn3wyrbJgsHFK4uC7cjI1Uev0pibJ78OSdvidzUOxASzRGMVV2\n\tkE0cU8kryX24F3QOJtenN3Jr4fSRGw3b31HxIKjvhUiw/cSiwb+3WUUEnrrPDVCP\n\tYu5ALGJm2RS1c17sIWrzmg==","v=1; a=rsa-sha256; c=relaxed/relaxed; d=\n\tmessagingengine.com; h=cc:cc:content-transfer-encoding\n\t:content-type:content-type:date:date:feedback-id:feedback-id\n\t:from:from:in-reply-to:in-reply-to:message-id:mime-version\n\t:references:reply-to:subject:subject:to:to:x-me-proxy\n\t:x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1781810931; x=\n\t1781897331; bh=m4xbFBBeZp/sgKu2qqIqvEPnM4vohSoEhZzJlR8NThI=; b=c\n\taLBReIzJRYxiI12V3Okf1yoHbOr+sqzaBMxp4UTwPE26mA+D7jDmsNpDDoIVsMsH\n\ttFn6Mb8f8MsJd1a3E9AxEuWSSoVDv+LoiRRxQHwceJw+cN237AaKljikg6H65Ez3\n\tzuzYScjLi+XuXi7YjY0xUMf4VRGXfIiCy8LK9X/C4hTL5v2qgJbGDBI7QG+z4MB/\n\t21oQKGSRtrXVteQ9XQgo66urJHGI3xFLQNUawlucSXsD/+zC9XtH8o/yEk+jam8E\n\tiyL4ocgWwp569+qks9jZTXu5onU+t8jAkyBggudfZkJq5mA4zNZyIyif83oVKFVt\n\tANML9+lI7MFbcerMzx95Q=="],"X-ME-Sender":"<xms:8kY0agfQqLBy_5Dof3bEAwzE3Ga36YeEg8Lb7t208PliBf5Lb22hDg>\n\t<xme:8kY0apOdaR71cDTBYAy48rG9o6jx6--Xag3K5ZOZKnxwW0JjFUCgq7ym6NtQw3cyH\n\tEi6jvMdrqnP3XtRW8nb8_6O_dhVDwJ9Uv5VBcZgDRc8-tvyoTinbgew>","X-ME-Received":"<xmr:8kY0amg3-AG-JTwEv8qfwCDgpsbyCkPZg_tvceB_H0BXhJ-y7R9IhTswhCS6qUoeXx3BXCDYZYa-ozEEJgTpC3bv88Sk>","X-ME-Proxy-Cause":"dmFkZTFZBquQgTyxC3vohr3lt+x6n8mNoAPuPbQnb/8UOF4Tocx5h25tvHgyS3wMSRB873\n\t2auIHDLv7P7rFiepDmOPREtnklKxMlDo1eSP/c/UlxggFf26E6RFGmRR88g2+bw0M8aCz+\n\tXEj7N0oTx9cZV10mkn4wdjPJ5wdu4KA02+/j3hgAXWmIM/EoXGhXb2yvIX2M6B06bg4htJ\n\tXkV/1Z+pICaZax1bNmo6I8f8XblawXxWTOPokQ1fw+dqFQ5a+h16qPf42US7NdnErlfiYq\n\t8ELWrCyexT33VACEo5FDHtpfjzQSpvDUFevgFJmtf62tejA+S+dW44Fpgz4w+AdXtHkXf5\n\t2zqsFwUdV1kETGquXPWG6l79aWjf73yGNnIpfBkyY8BGYRz3UreY0DyYyq8YIHt0dqraEV\n\tnUoMKFMQ1nOVfH0wCdutlpgZh5dQ0vbQD0UzjoWlSHd0Cwz0RNLqVo3aE4JMwnkEyMIROV\n\tCgVPJ5V65NSrLby5YWl7GYW9lne9aqNd3XpaFUsL8XwaMPA2r7ZWXgzazNY8+d/5LEXL7x\n\thPBvrom8gIS/+3/94pN7GLfZPxrRPykrL4BNM69/Txpv3GiTFoTv8l21bf+uOzKTWgYdhm\n\tiw+NnMBRAm0mkjpx5wf9UWi0ggYqU4mx3ArMKxkonJwlJWLPiL+tABOiDN7Q","X-ME-Proxy":"<xmx:8kY0ak0Vd_WFfTiLAWSLZmLou6nLoyka3rqOSwm0juXAPCRuDklg7Q>\n\t<xmx:8kY0aoh1FJd9280YIX7nc_mrqgQIuS5UNU4xyONTZ6TtIC-mGULqJA>\n\t<xmx:8kY0aseIRE0kYNkVdpH-NBdjRw8YUgBr-76Z5zfc1AY0jw_rAGQITg>\n\t<xmx:8kY0ajkacKrKzMGd_Cg4fw9XKa7tTw2h0cEt6_nRKU76oyuS2WKgsg>\n\t<xmx:80Y0aiNp5Yg-ogGFoevOo724fHvyXg7nJbtTLzZHhJtZDdndx0mLT9EB>","Feedback-ID":"i80c9496c:Fastmail","Date":"Thu, 18 Jun 2026 21:28:48 +0200","From":"Niklas =?utf-8?q?S=C3=B6derlund?=\n\t<niklas.soderlund+renesas@ragnatech.se>","To":"Jacopo Mondi <jacopo.mondi@ideasonboard.com>","Cc":"libcamera-devel@lists.libcamera.org, =?utf-8?b?QmFybmFiw6FzIFDFkWN6?=\n\t=?utf-8?q?e?= <barnabas.pocze@ideasonboard.com>, Kieran Bingham\n\t<kieran.bingham@ideasonboard.com>","Subject":"Re: [PATCH 02/14] ipa: ipa_module: Remove pipelineName","Message-ID":"<20260618192848.GC2890159@ragnatech.se>","References":"<20260618-rppx1-ipa-v1-0-32337264cfcd@ideasonboard.com>\n\t<20260618-rppx1-ipa-v1-2-32337264cfcd@ideasonboard.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","Content-Transfer-Encoding":"8bit","In-Reply-To":"<20260618-rppx1-ipa-v1-2-32337264cfcd@ideasonboard.com>","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>"}}]