Need help in enable configuration when compile Kernel module
I am using 3.10.x kernel tree. My kernel module needs config VIDEOBUF2. That is defined in drivers/media/v4l2-core/Kconfig: # Used by drivers that need Videobuf2 modules config VIDEOBUF2_CORE select DMA_SHARED_BUFFER tristate So I put 'CONFIG_VIDEOBUF2_CORE=y' in my Kernel config file and compile. From the Kconfig it has CONFIG_VIDEOBUF2_CORE has no dependency and I think adding CONFIG_VIDEOBUF2_CORE=y to my kernel config should work. I am modify the right kernel config file since I set other flags like CONFIG_VIDEO_DEV=y and that works. The generated .config does not contain 'CONFIG_VIDEOBUF2_CORE=y' and the compilation fails with a bunch of undefined reference to `vb2_buffer_done' undefined reference to `vb2_buffer_done' undefined reference to `vb2_buffer_done' undefined reference to `vb2_buffer_done' I really appreciate if someone can help me with this. Thank you.
Dear Silverstri, I am not sure for which platform you are compiling Kernel. But for X86(_64) and ARM, CONFIG_VIDEOBUF2_CORE will be selected as a module (will not build into kernel image static), this is the dependency VIDEOBUF2_DMA_CONTIG [=m] && MEDIA_SUPPORT [=m] && HAS_DMA [=y] || VIDEOBUF2_VMALLOC [=m] && MEDIA_SUPPORT [=m] || VIDEOBUF2_DMA_SG [=n] && MEDIA_SUPPORT [=m] || SOC_CAMERA [=m] && MEDIA_SUPPORT [=m] && V4L_PLATFORM_DRIVERS [=y] && VIDEO_V4L2 [=m] && HAS_DMA [=y] && I2C [=y]. select MEDIA_SUPPORT and SOC_CAMERA to build into kernel image static (when you select one of MEDIA_SUPPORT/SOC_CAMERA/VIDEO_V4L2 as build static into kernel, .config will have CONFIG_VIDEOBUF2_CORE=y instead of CONFIG_VIDEOBUF2_CORE=m) For ARM board I used Device Drivers->Multimedia Support (make this to build into kernel instead of static)->V4L platform devices (make this to build into kernel instead of static)->Soc Camera Support(make this to build into kernel instead of static). -- Best Regards Ashokkumar.G 100 Things can not be taken back. 001. A lost opportunity. 010. A spoken word. 011. A sped arrow. 100. Time spent. On Thu, Jan 9, 2014 at 7:16 PM, m silverstri <michael.j.silverstri@gmail.com
wrote:
I am using 3.10.x kernel tree. My kernel module needs config VIDEOBUF2.
That is defined in drivers/media/v4l2-core/Kconfig:
# Used by drivers that need Videobuf2 modules config VIDEOBUF2_CORE select DMA_SHARED_BUFFER tristate
So I put 'CONFIG_VIDEOBUF2_CORE=y' in my Kernel config file and compile. From the Kconfig it has CONFIG_VIDEOBUF2_CORE has no dependency and I think adding CONFIG_VIDEOBUF2_CORE=y to my kernel config should work. I am modify the right kernel config file since I set other flags like CONFIG_VIDEO_DEV=y and that works.
The generated .config does not contain 'CONFIG_VIDEOBUF2_CORE=y'
and the compilation fails with a bunch of
undefined reference to `vb2_buffer_done' undefined reference to `vb2_buffer_done' undefined reference to `vb2_buffer_done' undefined reference to `vb2_buffer_done'
I really appreciate if someone can help me with this.
Thank you.
_______________________________________________ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
Thanks. Can you please help me understand what you mean by 'make this to build into kernel instead of static'? On Thu, Jan 9, 2014 at 7:18 PM, Ashokkumar G <ashok.sysprogrammer@gmail.com> wrote:
Dear Silverstri,
I am not sure for which platform you are compiling Kernel.
But for X86(_64) and ARM, CONFIG_VIDEOBUF2_CORE will be selected as a module (will not build into kernel image static), this is the dependency VIDEOBUF2_DMA_CONTIG [=m] && MEDIA_SUPPORT [=m] && HAS_DMA [=y] || VIDEOBUF2_VMALLOC [=m] && MEDIA_SUPPORT [=m] || VIDEOBUF2_DMA_SG [=n] && MEDIA_SUPPORT [=m] || SOC_CAMERA [=m] && MEDIA_SUPPORT [=m] && V4L_PLATFORM_DRIVERS [=y] && VIDEO_V4L2 [=m] && HAS_DMA [=y] && I2C [=y].
select MEDIA_SUPPORT and SOC_CAMERA to build into kernel image static (when you select one of MEDIA_SUPPORT/SOC_CAMERA/VIDEO_V4L2 as build static into kernel, .config will have CONFIG_VIDEOBUF2_CORE=y instead of CONFIG_VIDEOBUF2_CORE=m)
For ARM board I used Device Drivers->Multimedia Support (make this to build into kernel instead of static)->V4L platform devices (make this to build into kernel instead of static)->Soc Camera Support(make this to build into kernel instead of static).
-- Best Regards Ashokkumar.G 100 Things can not be taken back. 001. A lost opportunity. 010. A spoken word. 011. A sped arrow. 100. Time spent.
On Thu, Jan 9, 2014 at 7:16 PM, m silverstri <michael.j.silverstri@gmail.com> wrote:
I am using 3.10.x kernel tree. My kernel module needs config VIDEOBUF2.
That is defined in drivers/media/v4l2-core/Kconfig:
# Used by drivers that need Videobuf2 modules config VIDEOBUF2_CORE select DMA_SHARED_BUFFER tristate
So I put 'CONFIG_VIDEOBUF2_CORE=y' in my Kernel config file and compile. From the Kconfig it has CONFIG_VIDEOBUF2_CORE has no dependency and I think adding CONFIG_VIDEOBUF2_CORE=y to my kernel config should work. I am modify the right kernel config file since I set other flags like CONFIG_VIDEO_DEV=y and that works.
The generated .config does not contain 'CONFIG_VIDEOBUF2_CORE=y'
and the compilation fails with a bunch of
undefined reference to `vb2_buffer_done' undefined reference to `vb2_buffer_done' undefined reference to `vb2_buffer_done' undefined reference to `vb2_buffer_done'
I really appreciate if someone can help me with this.
Thank you.
_______________________________________________ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
And please help me udnerstand what is the difference between 'y' and 'm' in 'CONFIG_VIDEOBUF2_CORE=y instead of CONFIG_VIDEOBUF2_CORE=m'? On Thu, Jan 9, 2014 at 10:23 PM, m silverstri <michael.j.silverstri@gmail.com> wrote:
Thanks. Can you please help me understand what you mean by 'make this to build into kernel instead of static'?
On Thu, Jan 9, 2014 at 7:18 PM, Ashokkumar G <ashok.sysprogrammer@gmail.com> wrote:
Dear Silverstri,
I am not sure for which platform you are compiling Kernel.
But for X86(_64) and ARM, CONFIG_VIDEOBUF2_CORE will be selected as a module (will not build into kernel image static), this is the dependency VIDEOBUF2_DMA_CONTIG [=m] && MEDIA_SUPPORT [=m] && HAS_DMA [=y] || VIDEOBUF2_VMALLOC [=m] && MEDIA_SUPPORT [=m] || VIDEOBUF2_DMA_SG [=n] && MEDIA_SUPPORT [=m] || SOC_CAMERA [=m] && MEDIA_SUPPORT [=m] && V4L_PLATFORM_DRIVERS [=y] && VIDEO_V4L2 [=m] && HAS_DMA [=y] && I2C [=y].
select MEDIA_SUPPORT and SOC_CAMERA to build into kernel image static (when you select one of MEDIA_SUPPORT/SOC_CAMERA/VIDEO_V4L2 as build static into kernel, .config will have CONFIG_VIDEOBUF2_CORE=y instead of CONFIG_VIDEOBUF2_CORE=m)
For ARM board I used Device Drivers->Multimedia Support (make this to build into kernel instead of static)->V4L platform devices (make this to build into kernel instead of static)->Soc Camera Support(make this to build into kernel instead of static).
-- Best Regards Ashokkumar.G 100 Things can not be taken back. 001. A lost opportunity. 010. A spoken word. 011. A sped arrow. 100. Time spent.
On Thu, Jan 9, 2014 at 7:16 PM, m silverstri <michael.j.silverstri@gmail.com> wrote:
I am using 3.10.x kernel tree. My kernel module needs config VIDEOBUF2.
That is defined in drivers/media/v4l2-core/Kconfig:
# Used by drivers that need Videobuf2 modules config VIDEOBUF2_CORE select DMA_SHARED_BUFFER tristate
So I put 'CONFIG_VIDEOBUF2_CORE=y' in my Kernel config file and compile. From the Kconfig it has CONFIG_VIDEOBUF2_CORE has no dependency and I think adding CONFIG_VIDEOBUF2_CORE=y to my kernel config should work. I am modify the right kernel config file since I set other flags like CONFIG_VIDEO_DEV=y and that works.
The generated .config does not contain 'CONFIG_VIDEOBUF2_CORE=y'
and the compilation fails with a bunch of
undefined reference to `vb2_buffer_done' undefined reference to `vb2_buffer_done' undefined reference to `vb2_buffer_done' undefined reference to `vb2_buffer_done'
I really appreciate if someone can help me with this.
Thank you.
_______________________________________________ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
Hi, 'y' is used for building the module as a built-in in the kernel image. 'm' stands for building the module as a stand alone object (*.ko), which is not part of the kernel image, and should be insmoded or modprobed in order to be used. Regards, Rami Rosen http://ramirose.wix.com/ramirosen On Fri, Jan 10, 2014 at 8:24 AM, m silverstri <michael.j.silverstri@gmail.com> wrote:
And please help me udnerstand what is the difference between 'y' and 'm' in 'CONFIG_VIDEOBUF2_CORE=y instead of CONFIG_VIDEOBUF2_CORE=m'?
On Thu, Jan 9, 2014 at 10:23 PM, m silverstri <michael.j.silverstri@gmail.com> wrote:
Thanks. Can you please help me understand what you mean by 'make this to build into kernel instead of static'?
On Thu, Jan 9, 2014 at 7:18 PM, Ashokkumar G <ashok.sysprogrammer@gmail.com> wrote:
Dear Silverstri,
I am not sure for which platform you are compiling Kernel.
But for X86(_64) and ARM, CONFIG_VIDEOBUF2_CORE will be selected as a module (will not build into kernel image static), this is the dependency VIDEOBUF2_DMA_CONTIG [=m] && MEDIA_SUPPORT [=m] && HAS_DMA [=y] || VIDEOBUF2_VMALLOC [=m] && MEDIA_SUPPORT [=m] || VIDEOBUF2_DMA_SG [=n] && MEDIA_SUPPORT [=m] || SOC_CAMERA [=m] && MEDIA_SUPPORT [=m] && V4L_PLATFORM_DRIVERS [=y] && VIDEO_V4L2 [=m] && HAS_DMA [=y] && I2C [=y].
select MEDIA_SUPPORT and SOC_CAMERA to build into kernel image static (when you select one of MEDIA_SUPPORT/SOC_CAMERA/VIDEO_V4L2 as build static into kernel, .config will have CONFIG_VIDEOBUF2_CORE=y instead of CONFIG_VIDEOBUF2_CORE=m)
For ARM board I used Device Drivers->Multimedia Support (make this to build into kernel instead of static)->V4L platform devices (make this to build into kernel instead of static)->Soc Camera Support(make this to build into kernel instead of static).
-- Best Regards Ashokkumar.G 100 Things can not be taken back. 001. A lost opportunity. 010. A spoken word. 011. A sped arrow. 100. Time spent.
On Thu, Jan 9, 2014 at 7:16 PM, m silverstri <michael.j.silverstri@gmail.com> wrote:
I am using 3.10.x kernel tree. My kernel module needs config VIDEOBUF2.
That is defined in drivers/media/v4l2-core/Kconfig:
# Used by drivers that need Videobuf2 modules config VIDEOBUF2_CORE select DMA_SHARED_BUFFER tristate
So I put 'CONFIG_VIDEOBUF2_CORE=y' in my Kernel config file and compile. From the Kconfig it has CONFIG_VIDEOBUF2_CORE has no dependency and I think adding CONFIG_VIDEOBUF2_CORE=y to my kernel config should work. I am modify the right kernel config file since I set other flags like CONFIG_VIDEO_DEV=y and that works.
The generated .config does not contain 'CONFIG_VIDEOBUF2_CORE=y'
and the compilation fails with a bunch of
undefined reference to `vb2_buffer_done' undefined reference to `vb2_buffer_done' undefined reference to `vb2_buffer_done' undefined reference to `vb2_buffer_done'
I really appreciate if someone can help me with this.
Thank you.
_______________________________________________ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
_______________________________________________ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
On Fri, Jan 10, 2014 at 4:16 AM, m silverstri <michael.j.silverstri@gmail.com> wrote:
I am using 3.10.x kernel tree. My kernel module needs config VIDEOBUF2.
That is defined in drivers/media/v4l2-core/Kconfig:
# Used by drivers that need Videobuf2 modules config VIDEOBUF2_CORE select DMA_SHARED_BUFFER tristate
So I put 'CONFIG_VIDEOBUF2_CORE=y' in my Kernel config file and compile. From the Kconfig it has CONFIG_VIDEOBUF2_CORE has no dependency and I think adding CONFIG_VIDEOBUF2_CORE=y to my kernel config should work. I am modify the right kernel config file since I set other flags like CONFIG_VIDEO_DEV=y and that works.
The generated .config does not contain 'CONFIG_VIDEOBUF2_CORE=y'
and the compilation fails with a bunch of
undefined reference to `vb2_buffer_done' undefined reference to `vb2_buffer_done' undefined reference to `vb2_buffer_done' undefined reference to `vb2_buffer_done'
I really appreciate if someone can help me with this.
Thank you.
Hi, Never, never, ever, put lines by hand into your config file. Use make menuconfig and configure it from there. Tina
participants (4)
-
Ashokkumar G -
m silverstri -
Rami Rosen -
Valentina Manea