[{"id":30170,"web_url":"https://patchwork.libcamera.org/comment/30170/","msgid":"<87jzi57abw.fsf@redhat.com>","date":"2024-07-01T09:03:47","subject":"Re: [PATCH 1/4] libcamera: rkisp1: Drop base IPA headers inclusion","submitter":{"id":177,"url":"https://patchwork.libcamera.org/api/people/177/","name":"Milan Zamazal","email":"mzamazal@redhat.com"},"content":"Umang Jain <umang.jain@ideasonboard.com> writes:\n\n> The IPA headers ipa_interface.h and core_ipa_interface.h are\n> included as part of the rkisp1_ipa_interface.h generated from\n> module_ipa_interface.h.tmpl. Drop them as deemed redundant.\n>\n> Signed-off-by: Umang Jain <umang.jain@ideasonboard.com>\n\nReviewed-by: Milan Zamazal <mzamazal@redhat.com>\n\n> ---\n>  src/ipa/rkisp1/rkisp1.cpp                | 1 -\n>  src/libcamera/pipeline/rkisp1/rkisp1.cpp | 1 -\n>  2 files changed, 2 deletions(-)\n>\n> diff --git a/src/ipa/rkisp1/rkisp1.cpp b/src/ipa/rkisp1/rkisp1.cpp\n> index d31cdbab..a43116d7 100644\n> --- a/src/ipa/rkisp1/rkisp1.cpp\n> +++ b/src/ipa/rkisp1/rkisp1.cpp\n> @@ -19,7 +19,6 @@\n>  \n>  #include <libcamera/control_ids.h>\n>  #include <libcamera/framebuffer.h>\n> -#include <libcamera/ipa/ipa_interface.h>\n>  #include <libcamera/ipa/ipa_module_info.h>\n>  #include <libcamera/ipa/rkisp1_ipa_interface.h>\n>  #include <libcamera/request.h>\n> diff --git a/src/libcamera/pipeline/rkisp1/rkisp1.cpp b/src/libcamera/pipeline/rkisp1/rkisp1.cpp\n> index 4cbf105d..97cd78a7 100644\n> --- a/src/libcamera/pipeline/rkisp1/rkisp1.cpp\n> +++ b/src/libcamera/pipeline/rkisp1/rkisp1.cpp\n> @@ -27,7 +27,6 @@\n>  #include <libcamera/stream.h>\n>  #include <libcamera/transform.h>\n>  \n> -#include <libcamera/ipa/core_ipa_interface.h>\n>  #include <libcamera/ipa/rkisp1_ipa_interface.h>\n>  #include <libcamera/ipa/rkisp1_ipa_proxy.h>","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 AC055BEFBE\n\tfor <parsemail@patchwork.libcamera.org>;\n\tMon,  1 Jul 2024 09:03:56 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 4EA3D62C95;\n\tMon,  1 Jul 2024 11:03:55 +0200 (CEST)","from us-smtp-delivery-124.mimecast.com\n\t(us-smtp-delivery-124.mimecast.com [170.10.133.124])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 619E9619C9\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon,  1 Jul 2024 11:03:53 +0200 (CEST)","from mail-ej1-f69.google.com (mail-ej1-f69.google.com\n\t[209.85.218.69]) by relay.mimecast.com with ESMTP with STARTTLS\n\t(version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id\n\tus-mta-590-aos2Q8RKOwefj1XvpvBR7Q-1; Mon, 01 Jul 2024 05:03:51 -0400","by mail-ej1-f69.google.com with SMTP id\n\ta640c23a62f3a-a72876a71dcso199299166b.0\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 01 Jul 2024 02:03:50 -0700 (PDT)","from nuthatch (ip-77-48-47-2.net.vodafone.cz. [77.48.47.2])\n\tby smtp.gmail.com with ESMTPSA id\n\ta640c23a62f3a-a72ab0901a2sm311154366b.182.2024.07.01.02.03.47\n\t(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n\tMon, 01 Jul 2024 02:03:47 -0700 (PDT)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=redhat.com header.i=@redhat.com\n\theader.b=\"EGJ10X7M\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;\n\ts=mimecast20190719; t=1719824632;\n\th=from:from:reply-to:subject:subject:date:date:message-id:message-id:\n\tto:to:cc:cc:mime-version:mime-version:content-type:content-type:\n\tin-reply-to:in-reply-to:references:references;\n\tbh=/Xt84qEeZMpBNedNJVWglGZaCyf7CR363SyH7mlgEqc=;\n\tb=EGJ10X7MEjP+cFg9TLr96RgETgCFnL25umlucGR35B0bmXQcZkelZrzkh0zCLOxst8MBOh\n\tSienuEOxT5yLIcnvb+ZvjmoMd4C2Z48WPeFNs+KyIDc5FY05tfqlxnVLMwAy0Z9cU1Xp2C\n\tDWufG/kqQWrPyz5gryLbCUep/TdTAtc=","X-MC-Unique":"aos2Q8RKOwefj1XvpvBR7Q-1","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20230601; t=1719824629; x=1720429429;\n\th=mime-version:user-agent:message-id:date:references:in-reply-to\n\t:subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date\n\t:message-id:reply-to;\n\tbh=/Xt84qEeZMpBNedNJVWglGZaCyf7CR363SyH7mlgEqc=;\n\tb=EXacifU06madrs88MkfCFzYryXjAKInLjK8S2mL6xfjp8V3X4CbG/5s6B8WbpiAx+3\n\t2nC3fT2HG0khwlLs5C98T9VLOQJ9qxAZy1J/vZUW6Vd2RneAboLX+x2lnskpyR/6+4vu\n\tacizMOEm75jRk25UNolZMXi8LjcVSUTtR5XKbRZdYmE9JO5Wsxp+mdBG7bb1G8wOZHRe\n\tDq5WUTWhwWN5CySWRZ1S5tJvtDN/FsZeDL6CR/7/QkXYnsUdInJ+XbnwXDvW/rpTUGrg\n\tz9qRWpvHwS0LRSQZDj/H4jaUtpLleYT5tCbEC68z/VrBlXPEgxgtJvorLTMxCXb0aNjh\n\tgsVg==","X-Gm-Message-State":"AOJu0Yz6GyinzkX72G+a5z22UVcBDUj+Avzk2jICDc9ejdFPAu0L9WHI\n\tTeI7GUoh2qeu/EXCd7CqTyUedZlLvByo4UsvUZOkNVKxGKuUK0m3y4ICC5qmjjvc81mJ0zWEo6L\n\t6YcA2nnpZGDey1NOazVy5pb2hC2/9eJUdqdVyWhpOfJWbfzX38dGTIVhPg98OmF9p4PxQqRfnsw\n\tPR4Ayk2tL6SQlxe1wxIKMgua9D9Ip8c9PHjAzabmWcNO+XNoJXqllGVJE=","X-Received":["by 2002:a17:907:9615:b0:a72:b2a4:e1fd with SMTP id\n\ta640c23a62f3a-a75143fea84mr416704666b.45.1719824628985; \n\tMon, 01 Jul 2024 02:03:48 -0700 (PDT)","by 2002:a17:907:9615:b0:a72:b2a4:e1fd with SMTP id\n\ta640c23a62f3a-a75143fea84mr416702566b.45.1719824628549; \n\tMon, 01 Jul 2024 02:03:48 -0700 (PDT)"],"X-Google-Smtp-Source":"AGHT+IHqMIbjBJbvZ3NP9InHxNDuAjLvBnwnb6yZfrWHD7sRHo2IxXoFOs5Us4QXHWDAxrn8jdBZzw==","From":"Milan Zamazal <mzamazal@redhat.com>","To":"Umang Jain <umang.jain@ideasonboard.com>","Cc":"libcamera-devel@lists.libcamera.org","Subject":"Re: [PATCH 1/4] libcamera: rkisp1: Drop base IPA headers inclusion","In-Reply-To":"<20240701075720.46076-2-umang.jain@ideasonboard.com> (Umang\n\tJain's message of \"Mon, 1 Jul 2024 13:27:17 +0530\")","References":"<20240701075720.46076-1-umang.jain@ideasonboard.com>\n\t<20240701075720.46076-2-umang.jain@ideasonboard.com>","Date":"Mon, 01 Jul 2024 11:03:47 +0200","Message-ID":"<87jzi57abw.fsf@redhat.com>","User-Agent":"Gnus/5.13 (Gnus v5.13)","MIME-Version":"1.0","X-Mimecast-Spam-Score":"0","X-Mimecast-Originator":"redhat.com","Content-Type":"text/plain","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>"}},{"id":30175,"web_url":"https://patchwork.libcamera.org/comment/30175/","msgid":"<171982720577.392292.15620328584296979888@ping.linuxembedded.co.uk>","date":"2024-07-01T09:46:45","subject":"Re: [PATCH 1/4] libcamera: rkisp1: Drop base IPA headers inclusion","submitter":{"id":4,"url":"https://patchwork.libcamera.org/api/people/4/","name":"Kieran Bingham","email":"kieran.bingham@ideasonboard.com"},"content":"Quoting Umang Jain (2024-07-01 08:57:17)\n> The IPA headers ipa_interface.h and core_ipa_interface.h are\n> included as part of the rkisp1_ipa_interface.h generated from\n> module_ipa_interface.h.tmpl. Drop them as deemed redundant.\n\nI wonder why these were put in in the first place. Are there any\nartificats that would mean we should include them becuase of 'include\nwhat you use' ? But that said - I really can't see a reason to inlcude\nthe base interface when we include a targetted/specific interface..\n\n\nReviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n\n> \n> Signed-off-by: Umang Jain <umang.jain@ideasonboard.com>\n> ---\n>  src/ipa/rkisp1/rkisp1.cpp                | 1 -\n>  src/libcamera/pipeline/rkisp1/rkisp1.cpp | 1 -\n>  2 files changed, 2 deletions(-)\n> \n> diff --git a/src/ipa/rkisp1/rkisp1.cpp b/src/ipa/rkisp1/rkisp1.cpp\n> index d31cdbab..a43116d7 100644\n> --- a/src/ipa/rkisp1/rkisp1.cpp\n> +++ b/src/ipa/rkisp1/rkisp1.cpp\n> @@ -19,7 +19,6 @@\n>  \n>  #include <libcamera/control_ids.h>\n>  #include <libcamera/framebuffer.h>\n> -#include <libcamera/ipa/ipa_interface.h>\n>  #include <libcamera/ipa/ipa_module_info.h>\n>  #include <libcamera/ipa/rkisp1_ipa_interface.h>\n>  #include <libcamera/request.h>\n> diff --git a/src/libcamera/pipeline/rkisp1/rkisp1.cpp b/src/libcamera/pipeline/rkisp1/rkisp1.cpp\n> index 4cbf105d..97cd78a7 100644\n> --- a/src/libcamera/pipeline/rkisp1/rkisp1.cpp\n> +++ b/src/libcamera/pipeline/rkisp1/rkisp1.cpp\n> @@ -27,7 +27,6 @@\n>  #include <libcamera/stream.h>\n>  #include <libcamera/transform.h>\n>  \n> -#include <libcamera/ipa/core_ipa_interface.h>\n>  #include <libcamera/ipa/rkisp1_ipa_interface.h>\n>  #include <libcamera/ipa/rkisp1_ipa_proxy.h>\n>  \n> -- \n> 2.44.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 CD6BABEFBE\n\tfor <parsemail@patchwork.libcamera.org>;\n\tMon,  1 Jul 2024 09:46:51 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 805F362C95;\n\tMon,  1 Jul 2024 11:46:50 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 89BCF619C9\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon,  1 Jul 2024 11:46:48 +0200 (CEST)","from pendragon.ideasonboard.com\n\t(cpc89244-aztw30-2-0-cust6594.18-1.cable.virginm.net [86.31.185.195])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id AC8C0289;\n\tMon,  1 Jul 2024 11:46:21 +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=\"IVMPhmvn\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1719827181;\n\tbh=mWiCIkipyMj1a6PHSz8gVccLP56BFw/o7Coli1c2Q9k=;\n\th=In-Reply-To:References:Subject:From:Cc:To:Date:From;\n\tb=IVMPhmvneZX/f+iXvsDpnEY2M0XD4tsRUM6gymhAt9DRewyJ2q/pJupIU886qw8x8\n\tfx9zO5vkhsgPJMaoXcZ0n4xdvMaTom5VEzQ3typIE/v73p0+7VpTv4FsEKREWoq5DA\n\t3xcDqSfsHSF+X8q0J27zkhvijQZvKDzBYN2XW//k=","Content-Type":"text/plain; charset=\"utf-8\"","MIME-Version":"1.0","Content-Transfer-Encoding":"quoted-printable","In-Reply-To":"<20240701075720.46076-2-umang.jain@ideasonboard.com>","References":"<20240701075720.46076-1-umang.jain@ideasonboard.com>\n\t<20240701075720.46076-2-umang.jain@ideasonboard.com>","Subject":"Re: [PATCH 1/4] libcamera: rkisp1: Drop base IPA headers inclusion","From":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Cc":"Umang Jain <umang.jain@ideasonboard.com>","To":"Umang Jain <umang.jain@ideasonboard.com>,\n\tlibcamera-devel@lists.libcamera.org","Date":"Mon, 01 Jul 2024 10:46:45 +0100","Message-ID":"<171982720577.392292.15620328584296979888@ping.linuxembedded.co.uk>","User-Agent":"alot/0.10","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>"}},{"id":30186,"web_url":"https://patchwork.libcamera.org/comment/30186/","msgid":"<20240701133832.GF8704@pendragon.ideasonboard.com>","date":"2024-07-01T13:38:32","subject":"Re: [PATCH 1/4] libcamera: rkisp1: Drop base IPA headers inclusion","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"content":"On Mon, Jul 01, 2024 at 10:46:45AM +0100, Kieran Bingham wrote:\n> Quoting Umang Jain (2024-07-01 08:57:17)\n> > The IPA headers ipa_interface.h and core_ipa_interface.h are\n> > included as part of the rkisp1_ipa_interface.h generated from\n> > module_ipa_interface.h.tmpl. Drop them as deemed redundant.\n> \n> I wonder why these were put in in the first place. Are there any\n> artificats that would mean we should include them becuase of 'include\n> what you use' ? But that said - I really can't see a reason to inlcude\n> the base interface when we include a targetted/specific interface..\n\nlibcamera/ipa/ipa_interface.h defines the interface exposed by the IPA\nmodule binary. That's the top-level ipaCreate() function, and the base\nIPAInterface class.\n\nThe file is included in rkisp1_ipa_interface.h for the definition of the\nIPAInterface class, as IPARkISP1Interface derives from it. rkisp1.cpp\ndoesn't make use of the base IPAInterface class, so there's no need to\ninclude ipa_interface.h for that.\n\nThe ipaCreate() function declaration, however, is needed by rkisp1.cpp.\nAs it's declared by ipa_interface.h, we include the header in the\ntop-level .cpp file of each IPA module, and I think it should stay\nthere, following the \"include what you use\" principle, to avoid\ndepending on indirect includes.\n\n> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n> \n> > Signed-off-by: Umang Jain <umang.jain@ideasonboard.com>\n> > ---\n> >  src/ipa/rkisp1/rkisp1.cpp                | 1 -\n> >  src/libcamera/pipeline/rkisp1/rkisp1.cpp | 1 -\n> >  2 files changed, 2 deletions(-)\n> > \n> > diff --git a/src/ipa/rkisp1/rkisp1.cpp b/src/ipa/rkisp1/rkisp1.cpp\n> > index d31cdbab..a43116d7 100644\n> > --- a/src/ipa/rkisp1/rkisp1.cpp\n> > +++ b/src/ipa/rkisp1/rkisp1.cpp\n> > @@ -19,7 +19,6 @@\n> >  \n> >  #include <libcamera/control_ids.h>\n> >  #include <libcamera/framebuffer.h>\n> > -#include <libcamera/ipa/ipa_interface.h>\n> >  #include <libcamera/ipa/ipa_module_info.h>\n> >  #include <libcamera/ipa/rkisp1_ipa_interface.h>\n> >  #include <libcamera/request.h>\n> > diff --git a/src/libcamera/pipeline/rkisp1/rkisp1.cpp b/src/libcamera/pipeline/rkisp1/rkisp1.cpp\n> > index 4cbf105d..97cd78a7 100644\n> > --- a/src/libcamera/pipeline/rkisp1/rkisp1.cpp\n> > +++ b/src/libcamera/pipeline/rkisp1/rkisp1.cpp\n> > @@ -27,7 +27,6 @@\n> >  #include <libcamera/stream.h>\n> >  #include <libcamera/transform.h>\n> >  \n> > -#include <libcamera/ipa/core_ipa_interface.h>\n> >  #include <libcamera/ipa/rkisp1_ipa_interface.h>\n> >  #include <libcamera/ipa/rkisp1_ipa_proxy.h>\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 1E9F7BD87C\n\tfor <parsemail@patchwork.libcamera.org>;\n\tMon,  1 Jul 2024 13:38:57 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 0DBC862E22;\n\tMon,  1 Jul 2024 15:38:56 +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 8683B604C1\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon,  1 Jul 2024 15:38:54 +0200 (CEST)","from pendragon.ideasonboard.com\n\t(117.145-247-81.adsl-dyn.isp.belgacom.be [81.247.145.117])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 99E9A63D;\n\tMon,  1 Jul 2024 15:38:27 +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=\"anEFSFa0\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1719841107;\n\tbh=9XcPG+AFkKuWyjN7dtK3ZFINWdpM7y3OPszaWmvYJbY=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=anEFSFa0RcYf2qvMtkMfC1p8wRWnJ8ZfrM24RK3O6f6noPPEs+h6qC/sIvI70oNBj\n\tTDwdWIhM/OmqB+mM350ieuOzcEPS23vqvHixWC4z1pS1/VLVBmwHKF+ZFC0TJVbVHE\n\ttLCS9K6IIsGArqdLXnl6ivWU3/47bcaNb+uDKb+k=","Date":"Mon, 1 Jul 2024 16:38:32 +0300","From":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","To":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Cc":"Umang Jain <umang.jain@ideasonboard.com>,\n\tlibcamera-devel@lists.libcamera.org","Subject":"Re: [PATCH 1/4] libcamera: rkisp1: Drop base IPA headers inclusion","Message-ID":"<20240701133832.GF8704@pendragon.ideasonboard.com>","References":"<20240701075720.46076-1-umang.jain@ideasonboard.com>\n\t<20240701075720.46076-2-umang.jain@ideasonboard.com>\n\t<171982720577.392292.15620328584296979888@ping.linuxembedded.co.uk>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","In-Reply-To":"<171982720577.392292.15620328584296979888@ping.linuxembedded.co.uk>","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>"}},{"id":30193,"web_url":"https://patchwork.libcamera.org/comment/30193/","msgid":"<86c21a53-8b70-4c05-a43f-5489a641f491@ideasonboard.com>","date":"2024-07-02T04:54:49","subject":"Re: [PATCH 1/4] libcamera: rkisp1: Drop base IPA headers inclusion","submitter":{"id":86,"url":"https://patchwork.libcamera.org/api/people/86/","name":"Umang Jain","email":"umang.jain@ideasonboard.com"},"content":"Hi Laurent,\n\nOn 01/07/24 7:08 pm, Laurent Pinchart wrote:\n> On Mon, Jul 01, 2024 at 10:46:45AM +0100, Kieran Bingham wrote:\n>> Quoting Umang Jain (2024-07-01 08:57:17)\n>>> The IPA headers ipa_interface.h and core_ipa_interface.h are\n>>> included as part of the rkisp1_ipa_interface.h generated from\n>>> module_ipa_interface.h.tmpl. Drop them as deemed redundant.\n>> I wonder why these were put in in the first place. Are there any\n>> artificats that would mean we should include them becuase of 'include\n>> what you use' ? But that said - I really can't see a reason to inlcude\n>> the base interface when we include a targetted/specific interface..\n> libcamera/ipa/ipa_interface.h defines the interface exposed by the IPA\n> module binary. That's the top-level ipaCreate() function, and the base\n> IPAInterface class.\n>\n> The file is included in rkisp1_ipa_interface.h for the definition of the\n> IPAInterface class, as IPARkISP1Interface derives from it. rkisp1.cpp\n> doesn't make use of the base IPAInterface class, so there's no need to\n> include ipa_interface.h for that.\n>\n> The ipaCreate() function declaration, however, is needed by rkisp1.cpp.\n> As it's declared by ipa_interface.h, we include the header in the\n> top-level .cpp file of each IPA module, and I think it should stay\n> there, following the \"include what you use\" principle, to avoid\n> depending on indirect includes.\n\nAh, I should have spotted that. Completely makes sense.\n\nHence, only the hunk of pipeline/rkisp1/rkisp1.cpp makes sense for the \nseries. Rest is not applicable.\n\n>\n>> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n>>\n>>> Signed-off-by: Umang Jain <umang.jain@ideasonboard.com>\n>>> ---\n>>>   src/ipa/rkisp1/rkisp1.cpp                | 1 -\n>>>   src/libcamera/pipeline/rkisp1/rkisp1.cpp | 1 -\n>>>   2 files changed, 2 deletions(-)\n>>>\n>>> diff --git a/src/ipa/rkisp1/rkisp1.cpp b/src/ipa/rkisp1/rkisp1.cpp\n>>> index d31cdbab..a43116d7 100644\n>>> --- a/src/ipa/rkisp1/rkisp1.cpp\n>>> +++ b/src/ipa/rkisp1/rkisp1.cpp\n>>> @@ -19,7 +19,6 @@\n>>>   \n>>>   #include <libcamera/control_ids.h>\n>>>   #include <libcamera/framebuffer.h>\n>>> -#include <libcamera/ipa/ipa_interface.h>\n>>>   #include <libcamera/ipa/ipa_module_info.h>\n>>>   #include <libcamera/ipa/rkisp1_ipa_interface.h>\n>>>   #include <libcamera/request.h>\n>>> diff --git a/src/libcamera/pipeline/rkisp1/rkisp1.cpp b/src/libcamera/pipeline/rkisp1/rkisp1.cpp\n>>> index 4cbf105d..97cd78a7 100644\n>>> --- a/src/libcamera/pipeline/rkisp1/rkisp1.cpp\n>>> +++ b/src/libcamera/pipeline/rkisp1/rkisp1.cpp\n>>> @@ -27,7 +27,6 @@\n>>>   #include <libcamera/stream.h>\n>>>   #include <libcamera/transform.h>\n>>>   \n>>> -#include <libcamera/ipa/core_ipa_interface.h>\n>>>   #include <libcamera/ipa/rkisp1_ipa_interface.h>\n>>>   #include <libcamera/ipa/rkisp1_ipa_proxy.h>\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 C9649BEFBE\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue,  2 Jul 2024 04:54:58 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id E74B162E22;\n\tTue,  2 Jul 2024 06:54:57 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 73BCF619C1\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue,  2 Jul 2024 06:54:55 +0200 (CEST)","from [IPV6:2405:201:2015:f873:55d7:c02e:b2eb:ee3f] (unknown\n\t[IPv6:2405:201:2015:f873:55d7:c02e:b2eb:ee3f])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 23CF8664;\n\tTue,  2 Jul 2024 06:54:26 +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=\"aLgcEAHG\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1719896067;\n\tbh=8ml8hbPBNmCXBKCmSvswAeXhY8mh8dplVWit1Q54kpU=;\n\th=Date:Subject:To:Cc:References:From:In-Reply-To:From;\n\tb=aLgcEAHGqfjWq1PhDhbuGqZ3XV6X8VOiKteMyqC/HZRpIoJrqndi3EcPs+/sGbfBF\n\tP/JQqjE69A7wSAkDb6ZwYWUvqrPidQtm/OGRKJWZLVMZXVtyMbpd02vNSIHB981Y80\n\t+5j7yV1kySo20xlMEwTMrW+yVPh3Vi2cnBUn8PHI=","Message-ID":"<86c21a53-8b70-4c05-a43f-5489a641f491@ideasonboard.com>","Date":"Tue, 2 Jul 2024 10:24:49 +0530","MIME-Version":"1.0","User-Agent":"Mozilla Thunderbird","Subject":"Re: [PATCH 1/4] libcamera: rkisp1: Drop base IPA headers inclusion","To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>,\n\tKieran Bingham <kieran.bingham@ideasonboard.com>","Cc":"libcamera-devel@lists.libcamera.org","References":"<20240701075720.46076-1-umang.jain@ideasonboard.com>\n\t<20240701075720.46076-2-umang.jain@ideasonboard.com>\n\t<171982720577.392292.15620328584296979888@ping.linuxembedded.co.uk>\n\t<20240701133832.GF8704@pendragon.ideasonboard.com>","Content-Language":"en-US","From":"Umang Jain <umang.jain@ideasonboard.com>","In-Reply-To":"<20240701133832.GF8704@pendragon.ideasonboard.com>","Content-Type":"text/plain; charset=UTF-8; format=flowed","Content-Transfer-Encoding":"7bit","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>"}}]