On Mon, 4 May 2020 10:49:34 +0200 Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> wrote: > Em Mon, 4 May 2020 10:16:28 +0200 > Patrik Gfeller <patrik.gfeller@xxxxxxxxx> escreveu: > > > On Sun, 3 May 2020 18:07:51 +0200 > > Patrik Gfeller <patrik.gfeller@xxxxxxxxx> wrote: > > > [...] > > > > I was not able yet to compile the kernel 4.4 successfully yet. > > Yesterday, I imported only a subset of the yocto patches. I imported today > all 24 patches from it, as some patches depend on hacks on other upstream > stuff. You'll need to do a: > > $ git remote update && git reset --hard origin/yocto_intel_atom > > To update your local branch. > > > I get quite > > some warnings that are treated as errors. I assume that I can "resolve" > > this by removing the respective compiler flag (-Werror). > > Yeah, you may need to to that. There's a Kernel option with disables > -Werror. You may also change the Makefile to add things like: > > # HACK! While this driver is in bad shape, don't enable several warnings > # that would be otherwise enabled with W=1 > ccflags-y += $(call cc-disable-warning, implicit-fallthrough) > ccflags-y += $(call cc-disable-warning, missing-prototypes) > ccflags-y += $(call cc-disable-warning, missing-declarations) > ccflags-y += $(call cc-disable-warning, suggest-attribute=format) > ccflags-y += $(call cc-disable-warning, unused-const-variable) > ccflags-y += $(call cc-disable-warning, unused-but-set-variable) > > (this is what we do with the upstream version, as this driver is on > bad shape) > > > But there are a few things that will take more time for me to investigate: > > > > drivers/media/pci/atomisp//css2401a0_v21_build/../atomisp_driver/atomisp_cmd.c:36:10: fatal error: linux/kct.h: No such file or directory > > include/media/v4l2-subdev.h:821:51: error: ‘const struct v4l2_subdev_core_ops’ has no member named ‘g_chip_ident’ > > include/media/v4l2-subdev.h:822:15: error: ‘const struct v4l2_subdev_core_ops’ has no member named ‘g_chip_ident’ There are still errors when I try to build. I've found code like the one below: const struct v4l2_ioctl_ops atomisp_ioctl_ops = { .vidioc_querycap = atomisp_querycap, #ifndef CONFIG_INTEL_MID_ISP .vidioc_g_chip_ident = atomisp_g_chip_ident, #endif .vidioc_enum_input = atomisp_enum_input, Therefore I've tried with "CONFIG_INTEL_MID_ISP=y". Not sure if this is a good idea function wise - but it compiles. But the last step of the module build produces some scary warnings: WARNING: "cpu_tss" [drivers/media/pci/atomisp//css2401a0_v21_build/atomisp-css2401a0_v21.ko] undefined! WARNING: "pv_lock_ops" [drivers/media/pci/atomisp//css2401a0_v21_build/atomisp-css2401a0_v21.ko] undefined! WARNING: "__alloc_workqueue_key" [drivers/media/pci/atomisp//css2401a0_v21_build/atomisp-css2401a0_v21.ko] undefined! WARNING: "v4l2_subdev_querymenu" [drivers/media/pci/atomisp//css2401a0_v21_build/atomisp-css2401a0_v21.ko] undefined! WARNING: "intel_mid_msgbus_write32" [drivers/media/pci/atomisp//css2401a0_v21_build/atomisp-css2401a0_v21.ko] undefined! ... Maybe this is related to my partial build (only the module to test if it builds). I'll now do a full build of the kernel. > > > > I'll keep you updated. > > Maybe now with the other patches applied, this could have been solved. > > Thanks, > Mauro with kind regards, Patrik