Thnx Hans, you were right-on! The following solved the issue for me. - viin (sorry for top-posting) ============= --- backports/backports.txt.old 2020-07-20 08:26:22.000000000 +0000 +++ backports/backports.txt 2020-08-24 20:50:42.676026795 +0000 @@ -114,6 +114,8 @@ add v4.5_copy_to_user_warning.patch [4.4.255] add v4.4_gpio_chip_parent.patch + +[4.4.58] add v4.4_user_pages_flag.patch [4.3.255] Le lun. 24 août 2020 à 05:01, Hans Verkuil <hverkuil@xxxxxxxxx> a écrit : > > 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) > > >