/var/lib/dkms/nvidia-340/340.104/build/nv-drm.c: In function ‘nv_drm_init’:
/var/lib/dkms/nvidia-340/340.104/build/nv-drm.c:176:11: error: implicit declaration of function ‘drm_pci_init’ [-Werror=implicit-function-declaration]
ret = drm_pci_init(&nv_drm_driver, pci_driver);
^
/var/lib/dkms/nvidia-340/340.104/build/nv-drm.c: In function ‘nv_drm_exit’:
/var/lib/dkms/nvidia-340/340.104/build/nv-drm.c:186:5: error: implicit declaration of function ‘drm_pci_exit’ [-Werror=implicit-function-declaration]
drm_pci_exit(&nv_drm_driver, pci_driver);
and compile errors related to timers
/var/lib/dkms/nvidia-340/340.104/build/nv.c: In function ‘nv_start_rc_timer’:
/var/lib/dkms/nvidia-340/340.104/build/nv.c:2407:5: error: implicit declaration of function ‘init_timer’ [-Werror=implicit-function-declaration]
init_timer(&nvl->rc_timer);
^
/var/lib/dkms/nvidia-340/340.104/build/nv.c:2408:28: error: assignment from incompatible pointer type [-Werror=incompatible-pointer-types]
nvl->rc_timer.function = nvidia_rc_timer; ^
/var/lib/dkms/nvidia-340/340.104/build/nv.c:2409:18: error: ‘struct timer_list’ has no member named ‘data’
nvl->rc_timer.data = (unsigned long) nvl;
^
With the attached patch nvidia-340.104 module may be build with both kernels linux-generic- hwe-16. 04 4.15.0 and linux-generic 4.4.0
Tested on "VGA compatible controller: NVIDIA Corporation GT218 [GeForce 210] (rev a2) (prog-if 00 [VGA controller])" (GeForce 210 0x0A65)
It should fix nv_drm_init/exit issues
/var/lib/ dkms/nvidia- 340/340. 104/build/ nv-drm. c: In function ‘nv_drm_init’: dkms/nvidia- 340/340. 104/build/ nv-drm. c:176:11: error: implicit declaration of function ‘drm_pci_init’ [-Werror= implicit- function- declaration] init(&nv_ drm_driver, pci_driver); dkms/nvidia- 340/340. 104/build/ nv-drm. c: In function ‘nv_drm_exit’: dkms/nvidia- 340/340. 104/build/ nv-drm. c:186:5: error: implicit declaration of function ‘drm_pci_exit’ [-Werror= implicit- function- declaration] pci_exit( &nv_drm_ driver, pci_driver);
/var/lib/
ret = drm_pci_
^
/var/lib/
/var/lib/
drm_
and compile errors related to timers
/var/lib/ dkms/nvidia- 340/340. 104/build/ nv.c: In function ‘nv_start_ rc_timer’ : dkms/nvidia- 340/340. 104/build/ nv.c:2407: 5: error: implicit declaration of function ‘init_timer’ [-Werror= implicit- function- declaration] timer(& nvl->rc_ timer); dkms/nvidia- 340/340. 104/build/ nv.c:2408: 28: error: assignment from incompatible pointer type [-Werror= incompatible- pointer- types] >rc_timer. function = nvidia_rc_timer;
^ dkms/nvidia- 340/340. 104/build/ nv.c:2409: 18: error: ‘struct timer_list’ has no member named ‘data’ >rc_timer. data = (unsigned long) nvl;
/var/lib/
init_
^
/var/lib/
nvl-
/var/lib/
nvl-
^