Re: 4.4.59 backport issue - build system for media drivers

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 23/08/2020 22:42, Vincent Fortier wrote:
> Hi all,
> 
> Not sure if I am at the right place to ask but I have issues using the
> experimental build system for media drivers on a 4.4.59 kernel for
> Synology NAS (DSM-6.2+ with associate toolchain). Note that it used to
> work really well around a year ago but somehow it stopped since.
> 
> Synology's kernel source used is here:
> https://sourceforge.net/projects/dsgpl/files/Synology%20NAS%20GPL%20Source/24922branch/apollolake-source/linux-4.4.x.txz/download
> 
> It fails to build on CONFIG_VIDEOBUF2_MEMOPS and
> CONFIG_VIDEOBUF_DMA_SG modules, essential for me to get going.
> 
> Thnx a lot in advance!
> 
> - vin
> 
> ---
> Automatically applied patches:
> Applying patches for kernel 4.4.59
> patch -s -f -N -p1 -i ../backports/api_version.patch
> patch -s -f -N -p1 -i ../backports/pr_fmt.patch
> patch -s -f -N -p1 -i ../backports/debug.patch
> patch -s -f -N -p1 -i ../backports/drx39xxj.patch
> patch -s -f -N -p1 -i ../backports/v5.7_mmap_read_lock.patch
> patch -s -f -N -p1 -i ../backports/v5.7_vm_map_ram.patch
> patch -s -f -N -p1 -i ../backports/v5.7_pin_user_pages.patch
> patch -s -f -N -p1 -i ../backports/v5.6_pin_user_pages.patch
> patch -s -f -N -p1 -i ../backports/v5.6_const_fb_ops.patch
> patch -s -f -N -p1 -i ../backports/v5.6_pm_runtime_get_if_active.patch
> patch -s -f -N -p1 -i ../backports/v5.5_alsa_pcm_api_updates.patch
> patch -s -f -N -p1 -i ../backports/v5.5_memtype_h.patch
> patch -s -f -N -p1 -i ../backports/v5.4_revert_spi_transfer.patch
> patch -s -f -N -p1 -i ../backports/v5.1_vm_map_pages.patch
> patch -s -f -N -p1 -i ../backports/v5.1_devm_i2c_new_dummy_device.patch
> patch -s -f -N -p1 -i ../backports/v5.0_ipu3-cio2.patch
> patch -s -f -N -p1 -i ../backports/v5.0_time32.patch
> patch -s -f -N -p1 -i ../backports/v4.20_access_ok.patch
> patch -s -f -N -p1 -i ../backports/v4.18_fwnode_args_args.patch
> patch -s -f -N -p1 -i ../backports/v4.18_smiapp_bitops.patch
> patch -s -f -N -p1 -i ../backports/v4.17_i2c_check_num_msgs.patch
> patch -s -f -N -p1 -i ../backports/v4.15_pmdown_time.patch
> patch -s -f -N -p1 -i ../backports/v4.14_saa7146_timer_cast.patch
> patch -s -f -N -p1 -i ../backports/v4.14_module_param_call.patch
> patch -s -f -N -p1 -i ../backports/v4.14_fwnode_handle_get.patch
> patch -s -f -N -p1 -i ../backports/v4.13_remove_nospec_h.patch
> patch -s -f -N -p1 -i ../backports/v4.13_drmP.patch
> patch -s -f -N -p1 -i ../backports/v4.13_fwnode_graph_get_port_parent.patch
> patch -s -f -N -p1 -i ../backports/v4.12_revert_solo6x10_copykerneluser.patch
> patch -s -f -N -p1 -i ../backports/v4.11_drop_drm_file.patch
> patch -s -f -N -p1 -i ../backports/v4.10_sched_signal.patch
> patch -s -f -N -p1 -i ../backports/v4.10_fault_page.patch
> patch -s -f -N -p1 -i ../backports/v4.10_refcount.patch
> patch -s -f -N -p1 -i ../backports/v4.9_mm_address.patch
> patch -s -f -N -p1 -i ../backports/v4.9_dvb_net_max_mtu.patch
> patch -s -f -N -p1 -i ../backports/v4.9_probe_new.patch
> patch -s -f -N -p1 -i ../backports/v4.8_user_pages_flag.patch
> patch -s -f -N -p1 -i ../backports/v4.8_em28xx_bitfield.patch
> patch -s -f -N -p1 -i ../backports/v4.8_dma_map_resource.patch
> patch -s -f -N -p1 -i ../backports/v4.8_drm_crtc.patch
> patch -s -f -N -p1 -i ../backports/v4.7_dma_attrs.patch
> patch -s -f -N -p1 -i ../backports/v4.7_pci_alloc_irq_vectors.patch
> patch -s -f -N -p1 -i ../backports/v4.7_copy_to_user_warning.patch
> patch -s -f -N -p1 -i ../backports/v4.7_objtool_warning.patch
> patch -s -f -N -p1 -i ../backports/v4.6_i2c_mux.patch
> patch -s -f -N -p1 -i ../backports/v4.5_gpiochip_data_pointer.patch
> patch -s -f -N -p1 -i ../backports/v4.5_get_user_pages.patch
> patch -s -f -N -p1 -i ../backports/v4.5_uvc_super_plus.patch
> patch -s -f -N -p1 -i ../backports/v4.5_copy_to_user_warning.patch
> patch -s -f -N -p1 -i ../backports/v4.4_gpio_chip_parent.patch
> patch -s -f -N -p1 -i ../backports/v4.4_user_pages_flag.patch
> Patched drivers/media/dvb-core/dvbdev.c
> Patched drivers/media/v4l2-core/v4l2-dev.c
> Patched drivers/media/rc/rc-main.c
> 
> 
> BUILD ERRORS
> =============
> Errors for CONFIG_VIDEOBUF2_MEMOPS are:
> LD [M]  /home/spksrc/git-linuxtv/spksrc/spk/linuxtv/work-apollolake-6.2.2/linuxtv-gitea2766f182b3a4e03543be2ded0845fca4d4fa80/v4l/smsmdtv.o
>   CC [M]  /home/spksrc/git-linuxtv/spksrc/spk/linuxtv/work-apollolake-6.2.2/linuxtv-gitea2766f182b3a4e03543be2ded0845fca4d4fa80/v4l/smsdvb-main.o
>   LD [M]  /home/spksrc/git-linuxtv/spksrc/spk/linuxtv/work-apollolake-6.2.2/linuxtv-gitea2766f182b3a4e03543be2ded0845fca4d4fa80/v4l/smsdvb.o
>   CC [M]  /home/spksrc/git-linuxtv/spksrc/spk/linuxtv/work-apollolake-6.2.2/linuxtv-gitea2766f182b3a4e03543be2ded0845fca4d4fa80/v4l/v4l2-tpg-core.o
>   CC [M]  /home/spksrc/git-linuxtv/spksrc/spk/linuxtv/work-apollolake-6.2.2/linuxtv-gitea2766f182b3a4e03543be2ded0845fca4d4fa80/v4l/v4l2-tpg-colors.o
>   LD [M]  /home/spksrc/git-linuxtv/spksrc/spk/linuxtv/work-apollolake-6.2.2/linuxtv-gitea2766f182b3a4e03543be2ded0845fca4d4fa80/v4l/v4l2-tpg.o
>   CC [M]  /home/spksrc/git-linuxtv/spksrc/spk/linuxtv/work-apollolake-6.2.2/linuxtv-gitea2766f182b3a4e03543be2ded0845fca4d4fa80/v4l/videobuf2-core.o
>   LD [M]  /home/spksrc/git-linuxtv/spksrc/spk/linuxtv/work-apollolake-6.2.2/linuxtv-gitea2766f182b3a4e03543be2ded0845fca4d4fa80/v4l/videobuf2-common.o
>   CC [M]  /home/spksrc/git-linuxtv/spksrc/spk/linuxtv/work-apollolake-6.2.2/linuxtv-gitea2766f182b3a4e03543be2ded0845fca4d4fa80/v4l/videobuf2-v4l2.o
> /home/spksrc/git-linuxtv/spksrc/spk/linuxtv/work-apollolake-6.2.2/linuxtv-gitea2766f182b3a4e03543be2ded0845fca4d4fa80/v4l/videobuf2-v4l2.c:
> In function 'vb2_queue_init_name':
> /home/spksrc/git-linuxtv/spksrc/spk/linuxtv/work-apollolake-6.2.2/linuxtv-gitea2766f182b3a4e03543be2ded0845fca4d4fa80/v4l/videobuf2-v4l2.c:939:3:
> warning: ignoring return value of 'strscpy', declared with attribute
> warn_unused_result [-Wunused-result]
>    strscpy(q->name, name, sizeof(q->name));
>    ^

>From v4l/compat.h:

#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 16, 0)
/* we got a lot of warnings for Kernels older than 4.16 because strscpy has
 * been declared with "__must_check" prior to 4.16. In fact it is really not
 * necessary to check the return value of strscpy, so we clear the
 * "__must_check" definition.
 */
#undef __must_check
#define __must_check
#endif

So I'm not sure where this warning comes from, v4l/compat.h should have taken care of that.

> /home/spksrc/git-linuxtv/spksrc/spk/linuxtv/work-apollolake-6.2.2/linuxtv-gitea2766f182b3a4e03543be2ded0845fca4d4fa80/v4l/videobuf2-v4l2.c:
> At top level:
> cc1: warning: unrecognized command line option "-Wno-format-truncation"
>   CC [M]  /home/spksrc/git-linuxtv/spksrc/spk/linuxtv/work-apollolake-6.2.2/linuxtv-gitea2766f182b3a4e03543be2ded0845fca4d4fa80/v4l/videobuf2-memops.o
> /home/spksrc/git-linuxtv/spksrc/spk/linuxtv/work-apollolake-6.2.2/linuxtv-gitea2766f182b3a4e03543be2ded0845fca4d4fa80/v4l/videobuf2-memops.c:
> In function 'vb2_create_framevec':
> /home/spksrc/git-linuxtv/spksrc/spk/linuxtv/work-apollolake-6.2.2/linuxtv-gitea2766f182b3a4e03543be2ded0845fca4d4fa80/v4l/videobuf2-memops.c:51:8:
> error: too few arguments to function 'get_vaddr_frames'
>   ret = get_vaddr_frames(start & PAGE_MASK, nr, flags, vec);
>         ^
> In file included from include/linux/scatterlist.h:7:0,
>                  from include/linux/dma-mapping.h:10,
>                  from include/linux/skbuff.h:34,
>                  from include/linux/if_ether.h:23,
>                  from
> /home/spksrc/git-linuxtv/spksrc/spk/linuxtv/work-apollolake-6.2.2/linuxtv-gitea2766f182b3a4e03543be2ded0845fca4d4fa80/v4l/compat.h:1735,
>                  from <command-line>:0:
> include/linux/mm.h:969:5: note: declared here
>  int get_vaddr_frames(unsigned long start, unsigned int nr_pfns,
>      ^

I suspect that backports/v4.4_user_pages_flag.patch may not be necessary here.
If memory serves, then some mainline patches were backported to 4.4, requiring
this patch. 4.4.59 probably doesn't contain those backported patches yet.

Regards,

	Hans

> /home/spksrc/git-linuxtv/spksrc/spk/linuxtv/work-apollolake-6.2.2/linuxtv-gitea2766f182b3a4e03543be2ded0845fca4d4fa80/v4l/videobuf2-memops.c:
> At top level:
> cc1: warning: unrecognized command line option "-Wno-format-truncation"
> make[6]: *** [scripts/Makefile.build:276:
> /home/spksrc/git-linuxtv/spksrc/spk/linuxtv/work-apollolake-6.2.2/linuxtv-gitea2766f182b3a4e03543be2ded0845fca4d4fa80/v4l/videobuf2-memops.o]
> Error 1
> make[5]: *** [Makefile:1411:
> _module_/home/spksrc/git-linuxtv/spksrc/spk/linuxtv/work-apollolake-6.2.2/linuxtv-gitea2766f182b3a4e03543be2ded0845fca4d4fa80/v4l]
> Error 2
> make[5]: Leaving directory
> '/home/spksrc/git-linuxtv/spksrc/kernel/syno-apollolake-6.2.2/work/source/linux'
> make[4]: *** [Makefile:53: default] Error 2
> make[4]: Leaving directory
> '/home/spksrc/git-linuxtv/spksrc/spk/linuxtv/work-apollolake-6.2.2/linuxtv-gitea2766f182b3a4e03543be2ded0845fca4d4fa80/v4l'
> make[3]: *** [Makefile:26: all] Error 2
> make[3]: Leaving directory
> '/home/spksrc/git-linuxtv/spksrc/spk/linuxtv/work-apollolake-6.2.2/linuxtv-gitea2766f182b3a4e03543be2ded0845fca4d4fa80'
> make[2]: *** [Makefile:70: linuxtv_compile] Error 2
> make[2]: Leaving directory '/home/spksrc/git-linuxtv/spksrc/cross/linuxtv'
> make[1]: *** [../../mk/spksrc.depend.mk:44: depend_target] Error 2
> make[1]: Leaving directory '/home/spksrc/git-linuxtv/spksrc/spk/linuxtv'
> make: [../../mk/spksrc.spk.mk:436: arch-apollolake-6.2.2] Error 2 (ignored)
> 
> 
> 
> And errors for CONFIG_VIDEOBUF_DMA_SG are:
> CC [M]  /home/spksrc/git-linuxtv/spksrc/spk/linuxtv/work-apollolake-6.2.2/linuxtv-gitea2766f182b3a4e03543be2ded0845fca4d4fa80/v4l/v4l2-common.o
> /home/spksrc/git-linuxtv/spksrc/spk/linuxtv/work-apollolake-6.2.2/linuxtv-gitea2766f182b3a4e03543be2ded0845fca4d4fa80/v4l/v4l2-common.c:
> In function 'v4l2_ctrl_query_fill':
> /home/spksrc/git-linuxtv/spksrc/spk/linuxtv/work-apollolake-6.2.2/linuxtv-gitea2766f182b3a4e03543be2ded0845fca4d4fa80/v4l/v4l2-common.c:84:2:
> warning: ignoring return value of 'strscpy', declared with attribute
> warn_unused_result [-Wunused-result]
>   strscpy(qctrl->name, name, sizeof(qctrl->name));
>   ^
> /home/spksrc/git-linuxtv/spksrc/spk/linuxtv/work-apollolake-6.2.2/linuxtv-gitea2766f182b3a4e03543be2ded0845fca4d4fa80/v4l/v4l2-common.c:
> At top level:
> cc1: warning: unrecognized command line option "-Wno-format-truncation"
>   CC [M]  /home/spksrc/git-linuxtv/spksrc/spk/linuxtv/work-apollolake-6.2.2/linuxtv-gitea2766f182b3a4e03543be2ded0845fca4d4fa80/v4l/v4l2-compat-ioctl32.o
>   CC [M]  /home/spksrc/git-linuxtv/spksrc/spk/linuxtv/work-apollolake-6.2.2/linuxtv-gitea2766f182b3a4e03543be2ded0845fca4d4fa80/v4l/v4l2-mc.o
>   CC [M]  /home/spksrc/git-linuxtv/spksrc/spk/linuxtv/work-apollolake-6.2.2/linuxtv-gitea2766f182b3a4e03543be2ded0845fca4d4fa80/v4l/v4l2-spi.o
>   CC [M]  /home/spksrc/git-linuxtv/spksrc/spk/linuxtv/work-apollolake-6.2.2/linuxtv-gitea2766f182b3a4e03543be2ded0845fca4d4fa80/v4l/v4l2-i2c.o
> /home/spksrc/git-linuxtv/spksrc/spk/linuxtv/work-apollolake-6.2.2/linuxtv-gitea2766f182b3a4e03543be2ded0845fca4d4fa80/v4l/v4l2-i2c.c:
> In function 'v4l2_i2c_new_subdev':
> /home/spksrc/git-linuxtv/spksrc/spk/linuxtv/work-apollolake-6.2.2/linuxtv-gitea2766f182b3a4e03543be2ded0845fca4d4fa80/v4l/v4l2-i2c.c:132:2:
> warning: ignoring return value of 'strscpy', declared with attribute
> warn_unused_result [-Wunused-result]
>   strscpy(info.type, client_type, sizeof(info.type));
>   ^
> /home/spksrc/git-linuxtv/spksrc/spk/linuxtv/work-apollolake-6.2.2/linuxtv-gitea2766f182b3a4e03543be2ded0845fca4d4fa80/v4l/v4l2-i2c.c:
> At top level:
> cc1: warning: unrecognized command line option "-Wno-format-truncation"
>   LD [M]  /home/spksrc/git-linuxtv/spksrc/spk/linuxtv/work-apollolake-6.2.2/linuxtv-gitea2766f182b3a4e03543be2ded0845fca4d4fa80/v4l/videodev.o
>   CC [M]  /home/spksrc/git-linuxtv/spksrc/spk/linuxtv/work-apollolake-6.2.2/linuxtv-gitea2766f182b3a4e03543be2ded0845fca4d4fa80/v4l/v4l2-dv-timings.o
>   CC [M]  /home/spksrc/git-linuxtv/spksrc/spk/linuxtv/work-apollolake-6.2.2/linuxtv-gitea2766f182b3a4e03543be2ded0845fca4d4fa80/v4l/tuner-core.o
>   LD [M]  /home/spksrc/git-linuxtv/spksrc/spk/linuxtv/work-apollolake-6.2.2/linuxtv-gitea2766f182b3a4e03543be2ded0845fca4d4fa80/v4l/tuner.o
>   CC [M]  /home/spksrc/git-linuxtv/spksrc/spk/linuxtv/work-apollolake-6.2.2/linuxtv-gitea2766f182b3a4e03543be2ded0845fca4d4fa80/v4l/v4l2-mem2mem.o
>   CC [M]  /home/spksrc/git-linuxtv/spksrc/spk/linuxtv/work-apollolake-6.2.2/linuxtv-gitea2766f182b3a4e03543be2ded0845fca4d4fa80/v4l/v4l2-jpeg.o
>   CC [M]  /home/spksrc/git-linuxtv/spksrc/spk/linuxtv/work-apollolake-6.2.2/linuxtv-gitea2766f182b3a4e03543be2ded0845fca4d4fa80/v4l/videobuf-core.o
>   CC [M]  /home/spksrc/git-linuxtv/spksrc/spk/linuxtv/work-apollolake-6.2.2/linuxtv-gitea2766f182b3a4e03543be2ded0845fca4d4fa80/v4l/videobuf-dma-sg.o
> /home/spksrc/git-linuxtv/spksrc/spk/linuxtv/work-apollolake-6.2.2/linuxtv-gitea2766f182b3a4e03543be2ded0845fca4d4fa80/v4l/videobuf-dma-sg.c:
> In function 'videobuf_dma_init_user_locked':
> /home/spksrc/git-linuxtv/spksrc/spk/linuxtv/work-apollolake-6.2.2/linuxtv-gitea2766f182b3a4e03543be2ded0845fca4d4fa80/v4l/videobuf-dma-sg.c:188:16:
> warning: passing argument 6 of 'get_user_pages' makes integer from
> pointer without a cast
>          flags, dma->pages, NULL);
>                 ^
> In file included from include/linux/scatterlist.h:7:0,
>                  from include/linux/dma-mapping.h:10,
>                  from include/linux/skbuff.h:34,
>                  from include/linux/if_ether.h:23,
>                  from
> /home/spksrc/git-linuxtv/spksrc/spk/linuxtv/work-apollolake-6.2.2/linuxtv-gitea2766f182b3a4e03543be2ded0845fca4d4fa80/v4l/compat.h:1735,
>                  from <command-line>:0:
> include/linux/mm.h:941:6: note: expected 'int' but argument is of type
> 'struct page **'
>  long get_user_pages(struct task_struct *tsk, struct mm_struct *mm,
>       ^
> /home/spksrc/git-linuxtv/spksrc/spk/linuxtv/work-apollolake-6.2.2/linuxtv-gitea2766f182b3a4e03543be2ded0845fca4d4fa80/v4l/videobuf-dma-sg.c:186:8:
> error: too few arguments to function 'get_user_pages'
>   err = get_user_pages(current, current->mm,
>         ^
> In file included from include/linux/scatterlist.h:7:0,
>                  from include/linux/dma-mapping.h:10,
>                  from include/linux/skbuff.h:34,
>                  from include/linux/if_ether.h:23,
>                  from
> /home/spksrc/git-linuxtv/spksrc/spk/linuxtv/work-apollolake-6.2.2/linuxtv-gitea2766f182b3a4e03543be2ded0845fca4d4fa80/v4l/compat.h:1735,
>                  from <command-line>:0:
> include/linux/mm.h:941:6: note: declared here
>  long get_user_pages(struct task_struct *tsk, struct mm_struct *mm,
>       ^
> /home/spksrc/git-linuxtv/spksrc/spk/linuxtv/work-apollolake-6.2.2/linuxtv-gitea2766f182b3a4e03543be2ded0845fca4d4fa80/v4l/videobuf-dma-sg.c:
> At top level:
> cc1: warning: unrecognized command line option "-Wno-format-truncation"
> make[6]: *** [scripts/Makefile.build:276:
> /home/spksrc/git-linuxtv/spksrc/spk/linuxtv/work-apollolake-6.2.2/linuxtv-gitea2766f182b3a4e03543be2ded0845fca4d4fa80/v4l/videobuf-dma-sg.o]
> Error 1
> make[5]: *** [Makefile:1411:
> _module_/home/spksrc/git-linuxtv/spksrc/spk/linuxtv/work-apollolake-6.2.2/linuxtv-gitea2766f182b3a4e03543be2ded0845fca4d4fa80/v4l]
> Error 2
> make[5]: Leaving directory
> '/home/spksrc/git-linuxtv/spksrc/kernel/syno-apollolake-6.2.2/work/source/linux'
> make[4]: *** [Makefile:53: default] Error 2
> make[4]: Leaving directory
> '/home/spksrc/git-linuxtv/spksrc/spk/linuxtv/work-apollolake-6.2.2/linuxtv-gitea2766f182b3a4e03543be2ded0845fca4d4fa80/v4l'
> make[3]: *** [Makefile:26: all] Error 2
> make[3]: Leaving directory
> '/home/spksrc/git-linuxtv/spksrc/spk/linuxtv/work-apollolake-6.2.2/linuxtv-gitea2766f182b3a4e03543be2ded0845fca4d4fa80'
> make[2]: *** [Makefile:70: linuxtv_compile] Error 2
> make[2]: Leaving directory '/home/spksrc/git-linuxtv/spksrc/cross/linuxtv'
> make[1]: *** [../../mk/spksrc.depend.mk:44: depend_target] Error 2
> make[1]: Leaving directory '/home/spksrc/git-linuxtv/spksrc/spk/linuxtv'
> make: [../../mk/spksrc.spk.mk:436: arch-apollolake-6.2.2] Error 2 (ignored)
> 




[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux