Re: [GIT PULL] Ressurect the atomisp staging driver

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

 



Em Mon, 4 May 2020 12:45:39 +0200
Patrik Gfeller <patrik.gfeller@xxxxxxxxx> escreveu:

> 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.

Yes, that's it. You also need:

CONFIG_REGULATOR_WHISKEY_COVE=y         

and maybe some other stuff. Take a look at the Yocto's *.cfg files I pointed
with the options (see enclosed).



> 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.

Yeah, either that or there are some config options with different values.

I was able to do a full build here without the above errors, although
I had to turn of some CONFIG options that were otherwise failing.


Thanks,
Mauro

~/meta-intel-aero/recipes-kernel/linux/linux-yocto $ cat *.cfg
CONFIG_USB_ACM=y
CONFIG_USB_WDM=y
CONFIG_USB_USBNET=y
CONFIG_USB_NET_CDC_MBIM=y
CONFIG_MEDIA_PCI_SUPPORT=y

CONFIG_VIDEO_DEV=y
CONFIG_MEDIA_SUPPORT=y
CONFIG_VIDEO_V4L2=y
CONFIG_INTEL_MID_ISP=y
CONFIG_VIDEO_ATOMISP=m
CONFIG_VIDEO_OV7251=y
CONFIG_VIDEO_OV8858=y
CONFIG_I2C_CHARDEV=y
CONFIG_GPIO_SYSFS=y
CONFIG_DYNAMIC_DEBUG=y
CONFIG_PRINTK_TIME=y
CONFIG_DMADEVICES=y
CONFIG_DW_DMAC_CORE=y
CONFIG_DW_DMAC=y
# DRONE CODE CONFIG
CONFIG_HAVE_INTEL_TXT=y
CONFIG_MMU_NOTIFIER=y
CONFIG_PCI_ATS=y
CONFIG_PCI_PASID=y

CONFIG_VFIO_IOMMU_TYPE1=y
CONFIG_VFIO_VIRQFD=y
CONFIG_VFIO=y
CONFIG_VFIO_PCI=y
CONFIG_VFIO_PCI_MMAP=y
CONFIG_VFIO_PCI_INTX=y
CONFIG_IRQ_BYPASS_MANAGER=y

CONFIG_IOMMU_API=y
CONFIG_IOMMU_IOVA=y
CONFIG_DMAR_TABLE=y
CONFIG_INTEL_IOMMU=y
CONFIG_INTEL_IOMMU_SVM=y
CONFIG_INTEL_IOMMU_DEFAULT_ON=y
CONFIG_INTEL_IOMMU_FLOPPY_WA=y

CONFIG_X86_INTEL_LPSS=y
CONFIG_I2C_DESIGNWARE_CORE=y
CONFIG_I2C_DESIGNWARE_PCI=y
CONFIG_I2C_DESIGNWARE_PLATFORM=y
CONFIG_SERIAL_8250_DW=y
CONFIG_MMC=y
CONFIG_MMC_SDHCI=y
CONFIG_MMC_SDHCI_ACPI=y
CONFIG_NF_NAT_FTP=y
CONFIG_NF_NAT_IPV4=y
CONFIG_NF_NAT_IRC=y
CONFIG_NF_NAT_NEEDED=y
CONFIG_NF_NAT_SIP=y
CONFIG_IP_NF_NAT=y
CONFIG_GPIOLIB=y
CONFIG_DEBUG_PINCTRL=y
CONFIG_PINCTRL_CHERRYVIEW=y

#GPIO Keys
CONFIG_KEYBOARD_GPIO=y
CONFIG_INPUT_MISC=y
CONFIG_INPUT_SOC_BUTTON_ARRAY=y
CONFIG_REGULATOR=y
CONFIG_REGULATOR_DEBUG=y
CONFIG_REGULATOR_FIXED_VOLTAGE=y
CONFIG_REGULATOR_GPIO=y
CONFIG_REGULATOR_WHISKEY_COVE=y
CONFIG_INTEL_SOC_DTS_THERMAL=y
CONFIG_SPI=y
CONFIG_SPI_MASTER=y
CONFIG_SPI_SPIDEV=y
CONFIG_SPI_PXA2XX=y
CONFIG_SPI_PXA2XX_DMA=y
CONFIG_SPI_PXA2XX_PCI=y
CONFIG_USB_ETH=y
CONFIG_USB_GADGET=y
CONFIG_USB_DWC3=y
CONFIG_USB_DWC3_PCI=y
CONFIG_USB_DWC3_GADGET=y
CONFIG_USB_OTG=y
CONFIG_USB_OTG_FSM=y
CONFIG_INTEL_CHT_PHY=y
CONFIG_NOP_USB_XCEIV=y
CONFIG_IIO=y
CONFIG_INTEL_SOC_PMIC=y
CONFIG_ITCO_WDT=y
# CONFIG_ITCO_VENDOR_SUPPORT is not set
CONFIG_LPC_ICH=y






[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