2015-12-10 14:30:27

by Arnd Bergmann

[permalink] [raw]
Subject: [PATCH] [media] staging/davinci_vfpe: allow modular build

It has never been possible to actually build this driver as
a loadable module, only built-in because the Makefile attempts
to build each file into its own module and fails:

ERROR: "mbus_to_pix" [drivers/staging/media/davinci_vpfe/vpfe_video.ko] undefined!
ERROR: "vpfe_resizer_register_entities" [drivers/staging/media/davinci_vpfe/vpfe_mc_capture.ko] undefined!
ERROR: "rsz_enable" [drivers/staging/media/davinci_vpfe/dm365_resizer.ko] undefined!
ERROR: "config_ipipe_hw" [drivers/staging/media/davinci_vpfe/dm365_ipipe.ko] undefined!
ERROR: "ipipe_set_lutdpc_regs" [drivers/staging/media/davinci_vpfe/dm365_ipipe.ko] undefined!

It took a long time to catch this bug with randconfig builds
because at least 14 other Kconfig symbols have to be enabled in
order to configure this one.

The solution is really easy: this patch changes the Makefile to
link all files into one module.

Signed-off-by: Arnd Bergmann <[email protected]>
---

diff --git a/drivers/staging/media/davinci_vpfe/Makefile b/drivers/staging/media/davinci_vpfe/Makefile
index c64515c644cd..3019c9ecd548 100644
--- a/drivers/staging/media/davinci_vpfe/Makefile
+++ b/drivers/staging/media/davinci_vpfe/Makefile
@@ -1,3 +1,5 @@
-obj-$(CONFIG_VIDEO_DM365_VPFE) += \
+obj-$(CONFIG_VIDEO_DM365_VPFE) += davinci-vfpe.o
+
+davinci-vfpe-objs := \
dm365_isif.o dm365_ipipe_hw.o dm365_ipipe.o \
dm365_resizer.o dm365_ipipeif.o vpfe_mc_capture.o vpfe_video.o


2015-12-10 14:41:00

by Mauro Carvalho Chehab

[permalink] [raw]
Subject: Re: [PATCH] [media] staging/davinci_vfpe: allow modular build

Em Thu, 10 Dec 2015 15:29:38 +0100
Arnd Bergmann <[email protected]> escreveu:

> It has never been possible to actually build this driver as
> a loadable module, only built-in because the Makefile attempts
> to build each file into its own module and fails:
>
> ERROR: "mbus_to_pix" [drivers/staging/media/davinci_vpfe/vpfe_video.ko] undefined!
> ERROR: "vpfe_resizer_register_entities" [drivers/staging/media/davinci_vpfe/vpfe_mc_capture.ko] undefined!
> ERROR: "rsz_enable" [drivers/staging/media/davinci_vpfe/dm365_resizer.ko] undefined!
> ERROR: "config_ipipe_hw" [drivers/staging/media/davinci_vpfe/dm365_ipipe.ko] undefined!
> ERROR: "ipipe_set_lutdpc_regs" [drivers/staging/media/davinci_vpfe/dm365_ipipe.ko] undefined!
>
> It took a long time to catch this bug with randconfig builds
> because at least 14 other Kconfig symbols have to be enabled in
> order to configure this one.
>
> The solution is really easy: this patch changes the Makefile to
> link all files into one module.
>
> Signed-off-by: Arnd Bergmann <[email protected]>
> ---
>
> diff --git a/drivers/staging/media/davinci_vpfe/Makefile b/drivers/staging/media/davinci_vpfe/Makefile
> index c64515c644cd..3019c9ecd548 100644
> --- a/drivers/staging/media/davinci_vpfe/Makefile
> +++ b/drivers/staging/media/davinci_vpfe/Makefile
> @@ -1,3 +1,5 @@
> -obj-$(CONFIG_VIDEO_DM365_VPFE) += \
> +obj-$(CONFIG_VIDEO_DM365_VPFE) += davinci-vfpe.o
> +
> +davinci-vfpe-objs := \
> dm365_isif.o dm365_ipipe_hw.o dm365_ipipe.o \
> dm365_resizer.o dm365_ipipeif.o vpfe_mc_capture.o vpfe_video.o
>

That seems a bad signal to me... I guess either this driver was never
actually tested or it was tested only if compiled as built-in...

Regards,
Mauro

2015-12-10 14:45:02

by Sekhar Nori

[permalink] [raw]
Subject: Re: [PATCH] [media] staging/davinci_vfpe: allow modular build

On Thursday 10 December 2015 08:10 PM, Mauro Carvalho Chehab wrote:
> Em Thu, 10 Dec 2015 15:29:38 +0100
> Arnd Bergmann <[email protected]> escreveu:
>
>> It has never been possible to actually build this driver as
>> a loadable module, only built-in because the Makefile attempts
>> to build each file into its own module and fails:
>>
>> ERROR: "mbus_to_pix" [drivers/staging/media/davinci_vpfe/vpfe_video.ko] undefined!
>> ERROR: "vpfe_resizer_register_entities" [drivers/staging/media/davinci_vpfe/vpfe_mc_capture.ko] undefined!
>> ERROR: "rsz_enable" [drivers/staging/media/davinci_vpfe/dm365_resizer.ko] undefined!
>> ERROR: "config_ipipe_hw" [drivers/staging/media/davinci_vpfe/dm365_ipipe.ko] undefined!
>> ERROR: "ipipe_set_lutdpc_regs" [drivers/staging/media/davinci_vpfe/dm365_ipipe.ko] undefined!
>>
>> It took a long time to catch this bug with randconfig builds
>> because at least 14 other Kconfig symbols have to be enabled in
>> order to configure this one.
>>
>> The solution is really easy: this patch changes the Makefile to
>> link all files into one module.
>>
>> Signed-off-by: Arnd Bergmann <[email protected]>
>> ---
>>
>> diff --git a/drivers/staging/media/davinci_vpfe/Makefile b/drivers/staging/media/davinci_vpfe/Makefile
>> index c64515c644cd..3019c9ecd548 100644
>> --- a/drivers/staging/media/davinci_vpfe/Makefile
>> +++ b/drivers/staging/media/davinci_vpfe/Makefile
>> @@ -1,3 +1,5 @@
>> -obj-$(CONFIG_VIDEO_DM365_VPFE) += \
>> +obj-$(CONFIG_VIDEO_DM365_VPFE) += davinci-vfpe.o
>> +
>> +davinci-vfpe-objs := \
>> dm365_isif.o dm365_ipipe_hw.o dm365_ipipe.o \
>> dm365_resizer.o dm365_ipipeif.o vpfe_mc_capture.o vpfe_video.o
>>
>
> That seems a bad signal to me... I guess either this driver was never
> actually tested or it was tested only if compiled as built-in...

Most likely the later is true.

+ Prabhakar to see if he remembers.

Thanks,
Sekhar