[libcamera-devel] libcamera: ipa_manager: Allow IPA loading in nested subdirs
diff mbox series

Message ID 20230508134501.23802-1-jacopo.mondi@ideasonboard.com
State Accepted
Headers show
Series
  • [libcamera-devel] libcamera: ipa_manager: Allow IPA loading in nested subdirs
Related show

Commit Message

Jacopo Mondi May 8, 2023, 1:45 p.m. UTC
Now that we allow IPA modules to live in nested directories for the
RaspberryPi platform, it is required to allow parsing one more level
to be able to run libcamera from the source directory.

Without this patch the $(builddir)/src/ipa/rpi/vc4/ipa_rpi_vc4.so
IPA module cannot be loaded.

The issue is only present when running from the source directory
as when libcamera is installed all IPA modules are deployed to a single
$(prefix)/$(libcamera_libdir)/libamera/ location.

Signed-off-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>
---
 src/libcamera/ipa_manager.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--
2.40.1

Comments

Laurent Pinchart May 8, 2023, 2:07 p.m. UTC | #1
Hi Jacopo,

Thank you for the patch.

On Mon, May 08, 2023 at 03:45:01PM +0200, Jacopo Mondi via libcamera-devel wrote:
> Now that we allow IPA modules to live in nested directories for the
> RaspberryPi platform, it is required to allow parsing one more level
> to be able to run libcamera from the source directory.
> 
> Without this patch the $(builddir)/src/ipa/rpi/vc4/ipa_rpi_vc4.so
> IPA module cannot be loaded.
> 
> The issue is only present when running from the source directory
> as when libcamera is installed all IPA modules are deployed to a single
> $(prefix)/$(libcamera_libdir)/libamera/ location.

Good catch. With the right Fixes: tag,

Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

> Signed-off-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>
> ---
>  src/libcamera/ipa_manager.cpp | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/src/libcamera/ipa_manager.cpp b/src/libcamera/ipa_manager.cpp
> index 030ef43fb994..ac5397003b50 100644
> --- a/src/libcamera/ipa_manager.cpp
> +++ b/src/libcamera/ipa_manager.cpp
> @@ -138,7 +138,7 @@ IPAManager::IPAManager()
>  	std::string root = utils::libcameraBuildPath();
>  	if (!root.empty()) {
>  		std::string ipaBuildPath = root + "src/ipa";
> -		constexpr int maxDepth = 1;
> +		constexpr int maxDepth = 2;
> 
>  		LOG(IPAManager, Info)
>  			<< "libcamera is not installed. Adding '"
Umang Jain May 8, 2023, 4:19 p.m. UTC | #2
Hi

On 5/8/23 7:37 PM, Laurent Pinchart via libcamera-devel wrote:
> Hi Jacopo,
>
> Thank you for the patch.
>
> On Mon, May 08, 2023 at 03:45:01PM +0200, Jacopo Mondi via libcamera-devel wrote:
>> Now that we allow IPA modules to live in nested directories for the
>> RaspberryPi platform, it is required to allow parsing one more level
>> to be able to run libcamera from the source directory.
>>
>> Without this patch the $(builddir)/src/ipa/rpi/vc4/ipa_rpi_vc4.so
>> IPA module cannot be loaded.
>>
>> The issue is only present when running from the source directory
>> as when libcamera is installed all IPA modules are deployed to a single
>> $(prefix)/$(libcamera_libdir)/libamera/ location.
> Good catch. With the right Fixes: tag,
>
> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

Reviewed-by: Umang Jain <umang.jain@ideasonboard.com>

>
>> Signed-off-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>
>> ---
>>   src/libcamera/ipa_manager.cpp | 2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/src/libcamera/ipa_manager.cpp b/src/libcamera/ipa_manager.cpp
>> index 030ef43fb994..ac5397003b50 100644
>> --- a/src/libcamera/ipa_manager.cpp
>> +++ b/src/libcamera/ipa_manager.cpp
>> @@ -138,7 +138,7 @@ IPAManager::IPAManager()
>>   	std::string root = utils::libcameraBuildPath();
>>   	if (!root.empty()) {
>>   		std::string ipaBuildPath = root + "src/ipa";
>> -		constexpr int maxDepth = 1;
>> +		constexpr int maxDepth = 2;
>>
>>   		LOG(IPAManager, Info)
>>   			<< "libcamera is not installed. Adding '"

Patch
diff mbox series

diff --git a/src/libcamera/ipa_manager.cpp b/src/libcamera/ipa_manager.cpp
index 030ef43fb994..ac5397003b50 100644
--- a/src/libcamera/ipa_manager.cpp
+++ b/src/libcamera/ipa_manager.cpp
@@ -138,7 +138,7 @@  IPAManager::IPAManager()
 	std::string root = utils::libcameraBuildPath();
 	if (!root.empty()) {
 		std::string ipaBuildPath = root + "src/ipa";
-		constexpr int maxDepth = 1;
+		constexpr int maxDepth = 2;

 		LOG(IPAManager, Info)
 			<< "libcamera is not installed. Adding '"