dbason / crystalhd

Broadcom Crystal HD Hardware Decoder (BCM70012/70015) driver on Ubuntu
39 stars 11 forks source link

Cannot compile with kernel 4.9 #13

Closed mindw00rk closed 7 years ago

mindw00rk commented 7 years ago

Hi! kost@Saturn ~/crystalhd/driver/linux $ uname -a Linux Saturn 4.9.0-pf4 #1 SMP PREEMPT Sun Feb 12 13:16:11 +07 2017 x86_64 Intel(R) Celeron(R) CPU 540 @ 1.86GHz GenuineIntel GNU/Linux kost@Saturn ~/crystalhd/driver/linux $ gcc-config -l [1] x86_64-pc-linux-gnu-5.3.0 *

Erros:

kost@Saturn ~/crystalhd/driver/linux $ make make -C /lib/modules/4.9.0-pf4/build SUBDIRS=/home/kost/crystalhd/driver/linux modules make[1]: вход в каталог «/usr/src/linux-4.9_p4-pf» CC [M] /home/kost/crystalhd/driver/linux/crystalhd_lnx.o Cyclomatic Complexity 1 ./arch/x86/include/asm/bitops.h:fls64 Cyclomatic Complexity 1 ./include/linux/log2.h:ilog2_u64 Cyclomatic Complexity 1 ./include/linux/kernel.h:might_fault Cyclomatic Complexity 1 ./include/asm-generic/getorder.h:get_order Cyclomatic Complexity 1 ./include/linux/thread_info.h:check_object_size Cyclomatic Complexity 1 ./include/linux/spinlock.h:spinlock_check Cyclomatic Complexity 1 ./include/linux/spinlock.h:spin_unlock_irqrestore Cyclomatic Complexity 1 ./include/linux/kasan-checks.h:kasan_check_read Cyclomatic Complexity 1 ./include/linux/kasan-checks.h:kasan_check_write Cyclomatic Complexity 4 ./arch/x86/include/asm/uaccess.h:copy_from_user Cyclomatic Complexity 4 ./arch/x86/include/asm/uaccess.h:copy_to_user Cyclomatic Complexity 28 ./include/linux/slab.h:kmalloc_index Cyclomatic Complexity 68 ./include/linux/slab.h:kmalloc_large Cyclomatic Complexity 5 ./include/linux/slab.h:kmalloc Cyclomatic Complexity 1 ./include/linux/slab.h:kzalloc Cyclomatic Complexity 1 ./include/linux/device.h:dev_get_drvdata Cyclomatic Complexity 1 ./include/linux/device.h:dev_set_drvdata Cyclomatic Complexity 1 ./include/linux/pci.h:pci_get_drvdata Cyclomatic Complexity 1 ./include/linux/pci.h:pci_set_drvdata Cyclomatic Complexity 4 /home/kost/crystalhd/driver/linux/crystalhd_lnx.c:chd_dec_disable_int Cyclomatic Complexity 2 /home/kost/crystalhd/driver/linux/crystalhd_lnx.c:chd_dec_isr Cyclomatic Complexity 2 ./include/linux/pci.h:pci_enable_msi_exact Cyclomatic Complexity 1 ./include/linux/interrupt.h:request_irq Cyclomatic Complexity 6 /home/kost/crystalhd/driver/linux/crystalhd_lnx.c:chd_dec_enable_int Cyclomatic Complexity 5 /home/kost/crystalhd/driver/linux/crystalhd_lnx.c:chd_dec_pci_resume Cyclomatic Complexity 1 ./include/linux/fs.h:unregister_chrdev Cyclomatic Complexity 4 /home/kost/crystalhd/driver/linux/crystalhd_lnx.c:chd_pci_release_mem Cyclomatic Complexity 8 /home/kost/crystalhd/driver/linux/crystalhd_lnx.c:chd_pci_reserve_mem Cyclomatic Complexity 1 ./include/linux/err.h:IS_ERR Cyclomatic Complexity 3 ./arch/x86/include/asm/dma-mapping.h:get_dma_ops Cyclomatic Complexity 2 ./arch/x86/include/asm/uaccess.h:copy_user_overflow Cyclomatic Complexity 1 ./include/linux/fs.h:register_chrdev Cyclomatic Complexity 4 ./include/linux/dma-mapping.h:dma_set_mask Cyclomatic Complexity 1 ./include/linux/pci-dma-compat.h:pci_set_dma_mask Cyclomatic Complexity 2 ./include/linux/dma-mapping.h:dma_set_coherent_mask Cyclomatic Complexity 1 ./include/linux/pci-dma-compat.h:pci_set_consistent_dma_mask Cyclomatic Complexity 1 /home/kost/crystalhd/driver/linux/crystalhd_lnx.c:chddev Cyclomatic Complexity 4 /home/kost/crystalhd/driver/linux/crystalhd_lnx.c:crystalhd_user_data Cyclomatic Complexity 6 /home/kost/crystalhd/driver/linux/crystalhd_lnx.c:chd_dec_release_cdata Cyclomatic Complexity 5 /home/kost/crystalhd/driver/linux/crystalhd_lnx.c:chd_dec_fetch_cdata Cyclomatic Complexity 7 /home/kost/crystalhd/driver/linux/crystalhd_lnx.c:chd_dec_proc_user_data Cyclomatic Complexity 3 /home/kost/crystalhd/driver/linux/crystalhd_lnx.c:chd_dec_alloc_iodata Cyclomatic Complexity 4 /home/kost/crystalhd/driver/linux/crystalhd_lnx.c:chd_dec_release_chdev Cyclomatic Complexity 3 /home/kost/crystalhd/driver/linux/crystalhd_lnx.c:chd_dec_pci_remove Cyclomatic Complexity 2 /home/kost/crystalhd/driver/linux/crystalhd_lnx.c:chd_dec_free_iodata Cyclomatic Complexity 4 /home/kost/crystalhd/driver/linux/crystalhd_lnx.c:chd_dec_pci_suspend Cyclomatic Complexity 7 /home/kost/crystalhd/driver/linux/crystalhd_lnx.c:chd_dec_init_chdev Cyclomatic Complexity 9 /home/kost/crystalhd/driver/linux/crystalhd_lnx.c:chd_dec_pci_probe Cyclomatic Complexity 6 /home/kost/crystalhd/driver/linux/crystalhd_lnx.c:chd_dec_api_cmd Cyclomatic Complexity 1 /home/kost/crystalhd/driver/linux/crystalhd_lnx.c:chd_get_adp Cyclomatic Complexity 11 /home/kost/crystalhd/driver/linux/crystalhd_lnx.c:chd_dec_close Cyclomatic Complexity 4 /home/kost/crystalhd/driver/linux/crystalhd_lnx.c:chd_dec_open Cyclomatic Complexity 5 /home/kost/crystalhd/driver/linux/crystalhd_lnx.c:chd_dec_ioctl Cyclomatic Complexity 2 /home/kost/crystalhd/driver/linux/crystalhd_lnx.c:chd_dec_module_init Cyclomatic Complexity 1 /home/kost/crystalhd/driver/linux/crystalhd_lnx.c:chd_dec_module_cleanup CC [M] /home/kost/crystalhd/driver/linux/crystalhd_misc.o /home/kost/crystalhd/driver/linux/crystalhd_misc.c: In function ‘crystalhd_map_dio’: /home/kost/crystalhd/driver/linux/crystalhd_misc.c:658:12: error: passing argument 7 of ‘get_user_pages_remote’ from incompatible pointer type [-Werror=incompatible-pointer-types] 0, dio->pages, NULL); ^ In file included from /home/kost/crystalhd/driver/linux/crystalhd_lnx.h:34:0, from /home/kost/crystalhd/driver/linux/crystalhd_misc.c:30: ./include/linux/mm.h:1276:6: note: expected ‘struct vm_area_struct ’ but argument is of type ‘struct page ’ long get_user_pages_remote(struct task_struct tsk, struct mm_struct mm, ^ /home/kost/crystalhd/driver/linux/crystalhd_misc.c:657:8: error: too many arguments to function ‘get_user_pages_remote’ res = get_user_pages_remote(current, current->mm, uaddr, nr_pages, rw == READ, ^ In file included from /home/kost/crystalhd/driver/linux/crystalhd_lnx.h:34:0, from /home/kost/crystalhd/driver/linux/crystalhd_misc.c:30: ./include/linux/mm.h:1276:6: note: declared here long get_user_pages_remote(struct task_struct tsk, struct mm_struct mm, ^ cc1: all warnings being treated as errors scripts/Makefile.build:293: recipe for target '/home/kost/crystalhd/driver/linux/crystalhd_misc.o' failed make[2]: [/home/kost/crystalhd/driver/linux/crystalhd_misc.o] Error 1 Makefile:1490: ошибка выполнения рецепта для цели «module/home/kost/crystalhd/driver/linux» make[1]: [module/home/kost/crystalhd/driver/linux] Ошибка 2 make[1]: выход из каталога «/usr/src/linux-4.9_p4-pf» Makefile:33: ошибка выполнения рецепта для цели «all» make: *** [all] Ошибка 2

PS with kernel 3.10 all was excellent

dbason commented 7 years ago

@mindw00rk there is a potential fix for this provided by @philipl. It's currently in the kernel_4_9_0 branch if you want to compile from that.

mindw00rk commented 7 years ago

Yes, its work!