[PATCH 02/10] ipa: ipa_interface: Declare ipaCreate() in libcamera namespace
Kieran Bingham
kieran.bingham at ideasonboard.com
Mon Jun 24 22:16:28 CEST 2024
Quoting Laurent Pinchart (2024-06-24 20:29:33)
> The ipaCreate() function is the entry point to IPA modules. It is
> declared in ipa_interface.h, and defined by each module. As the function
> is defined with extern "C" linkage, the namespace in which it is
> contained is not very relevant from a caller's point of view. For the
> IPA module implementer, however, defining the function in the libcamera
> namespace avoids adding an explicit libcamera:: prefix to the symbols
> used by the function. This is why all IPA modules define their
> ipaCreate() entry point in the libcamera namespace.
>
> The ipa_interface.h file, however, declares the function in the global
> namespace. This doesn't cause any issue at runtime, but will cause a
> missing declaration warning when we enable them. To prepare for that,
> move the function declaration to the libcamera namespace.
>
> Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
> ---
> include/libcamera/ipa/ipa_interface.h | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/include/libcamera/ipa/ipa_interface.h b/include/libcamera/ipa/ipa_interface.h
> index b93f1a15b2c9..53cf5377fcc6 100644
> --- a/include/libcamera/ipa/ipa_interface.h
> +++ b/include/libcamera/ipa/ipa_interface.h
> @@ -33,8 +33,8 @@ public:
> virtual ~IPAInterface() = default;
> };
>
> -} /* namespace libcamera */
> -
> extern "C" {
> libcamera::IPAInterface *ipaCreate();
> }
So ... as long as it's fine to have extern "C" in a C++ namespace ...
Reviewed-by: Kieran Bingham <kieran.bingham at ideasonboard.com>
> +
> +} /* namespace libcamera */
> --
> Regards,
>
> Laurent Pinchart
>
More information about the libcamera-devel
mailing list