410.93 - Compile fail with Kernel 5.0-rc1

Compiling NVIDIA 410.93 fails:

..........................
 CC [M] /home/rgadsdon/kernel/NVIDIA-Linux-x86_64-410.93/kernel/nvidia/os-interface.o
/home/rgadsdon/kernel/NVIDIA-Linux-x86_64-410.93/kernel/nvidia/os-interface.c: In function ‘os_get_current_time’:
/home/rgadsdon/kernel/NVIDIA-Linux-x86_64-410.93/kernel/nvidia/os-interface.c:434:5: error: implicit declaration of function ‘do_gettimeofday’; did you mean ‘efi_gettimeofday’? [-Werror=implicit-function-declaration]
do_gettimeofday(&tm);
^~~~~~~~~~~~~~~
efi_gettimeofday
cc1: some warnings being treated as errors
make[3]: *** [/usr/src/linux-5.0-rc1/scripts/Makefile.build:277: /home/rgadsdon/kernel/NVIDIA-Linux-x86_64-410.93/kernel/nvidia/os-interface.o] Error 1
make[2]: *** [/usr/src/linux-5.0-rc1/Makefile:1553: _module_/home/rgadsdon/kernel/NVIDIA-Linux-x86_64-410.93/kernel] Error 2
make[2]: Leaving directory '/usr/src/linux-5.0-rc1'
make[1]: *** [Makefile:152: sub-make] Error 2
make[1]: Leaving directory '/usr/src/linux-5.0-rc1'
make: *** [Makefile:79: modules] Error 2

Change do_gettimeofday to efi_gettimeofday
in NVIDIA-Linux-x86_64-410.93/kernel/nvidia/os-interface.c
(multiple occurrences…)
Then:

............................
CC [M] /home/rgadsdon/kernel/NVIDIA-Linux-x86_64-410.93/kernel/nvidia/nv-vtophys.o
CC [M] /home/rgadsdon/kernel/NVIDIA-Linux-x86_64-410.93/kernel/nvidia/os-interface.o
/home/rgadsdon/kernel/NVIDIA-Linux-x86_64-410.93/kernel/nvidia/os-interface.c: In function ‘os_get_current_time’:
/home/rgadsdon/kernel/NVIDIA-Linux-x86_64-410.93/kernel/nvidia/os-interface.c:434:22: error: passing argument 1 of ‘efi_gettimeofday’ from incompatible pointer type [-Werror=incompatible-pointer-types]
efi_gettimeofday(&tm);
^~~
In file included from /home/rgadsdon/kernel/NVIDIA-Linux-x86_64-410.93/kernel/common/inc/nv-linux.h:196,
from /home/rgadsdon/kernel/NVIDIA-Linux-x86_64-410.93/kernel/nvidia/os-interface.c:15:
/usr/src/linux-5.0-rc1/include/linux/efi.h:1025:50: note: expected ‘struct timespec64 *’ but argument is of type ‘struct timeval *’
extern void efi_gettimeofday (struct timespec64 *ts);
~~~~~~~~~~~~~~~~~~~^~
/home/rgadsdon/kernel/NVIDIA-Linux-x86_64-410.93/kernel/nvidia/os-interface.c: In function ‘os_delay’:
/home/rgadsdon/kernel/NVIDIA-Linux-x86_64-410.93/kernel/nvidia/os-interface.c:549:22: error: passing argument 1 of ‘efi_gettimeofday’ from incompatible pointer type [-Werror=incompatible-pointer-types]
efi_gettimeofday(&tm_aux);
^~~~~~~
In file included from /home/rgadsdon/kernel/NVIDIA-Linux-x86_64-410.93/kernel/common/inc/nv-linux.h:196,
from /home/rgadsdon/kernel/NVIDIA-Linux-x86_64-410.93/kernel/nvidia/os-interface.c:15:
/usr/src/linux-5.0-rc1/include/linux/efi.h:1025:50: note: expected ‘struct timespec64 *’ but argument is of type ‘struct timeval *’
extern void efi_gettimeofday (struct timespec64 *ts);
~~~~~~~~~~~~~~~~~~~^~
/home/rgadsdon/kernel/NVIDIA-Linux-x86_64-410.93/kernel/nvidia/os-interface.c:583:30: error: passing argument 1 of ‘efi_gettimeofday’ from incompatible pointer type [-Werror=incompatible-pointer-types]
efi_gettimeofday(&tm_aux);
^~~~~~~
In file included from /home/rgadsdon/kernel/NVIDIA-Linux-x86_64-410.93/kernel/common/inc/nv-linux.h:196,
from /home/rgadsdon/kernel/NVIDIA-Linux-x86_64-410.93/kernel/nvidia/os-interface.c:15:
/usr/src/linux-5.0-rc1/include/linux/efi.h:1025:50: note: expected ‘struct timespec64 *’ but argument is of type ‘struct timeval *’
extern void efi_gettimeofday (struct timespec64 *ts);
~~~~~~~~~~~~~~~~~~~^~
cc1: some warnings being treated as errors
make[3]: *** [/usr/src/linux-5.0-rc1/scripts/Makefile.build:277: /home/rgadsdon/kernel/NVIDIA-Linux-x86_64-410.93/kernel/nvidia/os-interface.o] Error 1
make[2]: *** [/usr/src/linux-5.0-rc1/Makefile:1553: _module_/home/rgadsdon/kernel/NVIDIA-Linux-x86_64-410.93/kernel] Error 2
make[2]: Leaving directory '/usr/src/linux-5.0-rc1'
make[1]: *** [Makefile:152: sub-make] Error 2
make[1]: Leaving directory '/usr/src/linux-5.0-rc1'
make: *** [Makefile:79: modules] Error 2

Similar errors with 415.25…

..............................
CC [M] /home/rgadsdon/kernel/NVIDIA-Linux-x86_64-415.25/kernel/nvidia/nv-vtophys.o
CC [M] /home/rgadsdon/kernel/NVIDIA-Linux-x86_64-415.25/kernel/nvidia/os-interface.o
/home/rgadsdon/kernel/NVIDIA-Linux-x86_64-415.25/kernel/nvidia/os-interface.c: In function ‘os_get_current_time’:
/home/rgadsdon/kernel/NVIDIA-Linux-x86_64-415.25/kernel/nvidia/os-interface.c:432:5: error: implicit declaration of function ‘do_gettimeofday’; did you mean ‘efi_gettimeofday’? [-Werror=implicit-function-declaration]
do_gettimeofday(&tm);
^~~~~~~~~~~~~~~
efi_gettimeofday
cc1: some warnings being treated as errors
.................................

‘os_get_current_time’ is in kernel-5 remove,in timekeeper_internal.h timekeeping32.h
older timekeep… .h install from old kernel…
replace it nv_drm_gem_object_unreference_unlocked to nv_drm_gem_object_put_unlocked in any files
and et work…