Thanks for trying.
As well as the -Wempty-body warnings, there's
/var/lib/dkms/nvidia-tesla-470/470.256.02/build/nvidia/nv-mmap.c:300:5: warning: conflicting types for ‘nv_encode_caching’ due to enum/integer mismatch; have ‘int(pgprot_t *, NvU32, nv_memory_type_t)’ {aka ‘int(struct pgprot *, unsigned int, nv_memory_type_t)’} [-Wenum-int-mismatch]
300 | int nv_encode_caching(
| ^~~~~~~~~~~~~~~~~
In file included from /var/lib/dkms/nvidia-tesla-470/470.256.02/build/common/inc/nv-linux.h:1793:
/var/lib/dkms/nvidia-tesla-470/470.256.02/build/common/inc/nv-proto.h:40:13: note: previous declaration of ‘nv_encode_caching’ with type ‘int(pgprot_t *, NvU32, NvU32)’ {aka ‘int(struct pgprot *, unsigned int, unsigned int)’}
40 | int nv_encode_caching (pgprot_t *, NvU32, NvU32);
| ^~~~~~~~~~~~~~~~~
/var/lib/dkms/nvidia-tesla-470/470.256.02/build/nvidia/nv.c:237:5: note: in expansion of macro ‘NV_KMALLOC’
237 | NV_KMALLOC(at, sizeof(nv_alloc_t));
| ^~~~~~~~~~
/var/lib/dkms/nvidia-tesla-470/470.256.02/build/nvidia/nv.c: At top level:
/var/lib/dkms/nvidia-tesla-470/470.256.02/build/nvidia/nv.c:739:12: warning: no previous prototype for ‘nvidia_init_module’ [-Wmissing-prototypes]
739 | int __init nvidia_init_module(void)
| ^~~~~~~~~~~~~~~~~~
/var/lib/dkms/nvidia-tesla-470/470.256.02/build/nvidia/nv-mmap.c: In function ‘nv_encode_caching’:
/var/lib/dkms/nvidia-tesla-470/470.256.02/build/nvidia/nv-mmap.c:349:16: warning: this statement may fall through [-Wimplicit-fallthrough=]
349 | if (NV_ALLOW_CACHING(memory_type))
| ^
/var/lib/dkms/nvidia-tesla-470/470.256.02/build/nvidia/nv-mmap.c:352:9: note: here
352 | default:
| ^~~~~~~
/var/lib/dkms/nvidia-tesla-470/470.256.02/build/nvidia/nv.c:867:6: warning: no previous prototype for ‘nvidia_exit_module’ [-Wmissing-prototypes]
867 | void nvidia_exit_module(void)
| ^~~~~~~~~~~~~~~~~~
/var/lib/dkms/nvidia-tesla-470/470.256.02/build/nvidia/nv.c:891:5: note: in expansion of macro ‘NV_KMALLOC’
891 | NV_KMALLOC(nvlfp, sizeof(nv_linux_file_private_t));
| ^~~~~~~~~~
/var/lib/dkms/nvidia-tesla-470/470.256.02/build/nvidia/nv.c: At top level:
/var/lib/dkms/nvidia-tesla-470/470.256.02/build/nvidia/nv.c:1270:23: warning: no previous prototype for ‘nv_get_num_dpaux_instances’ [-Wmissing-prototypes]
1270 | NV_STATUS NV_API_CALL nv_get_num_dpaux_instances(nv_state_t *nv, NvU32 *num_instances)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/nvidia-tesla-470/470.256.02/build/nvidia/os-interface.c:276:7: warning: no previous prototype for ‘os_mem_copy_custom’ [-Wmissing-prototypes]
276 | void *os_mem_copy_custom(
| ^~~~~~~~~~~~~~~~~~
/var/lib/dkms/nvidia-tesla-470/470.256.02/build/nvidia/nv.c: At top level:
/var/lib/dkms/nvidia-tesla-470/470.256.02/build/nvidia/nv.c:3667:13: warning: no previous prototype for ‘nv_firmware_path’ [-Wmissing-prototypes]
3667 | const char *nv_firmware_path(
| ^~~~~~~~~~~~~~~~
/var/lib/dkms/nvidia-tesla-470/470.256.02/build/nvidia/os-mlock.c: In function ‘nv_follow_pfn’:
/var/lib/dkms/nvidia-tesla-470/470.256.02/build/nvidia/os-mlock.c:23:12: error: implicit declaration of function ‘follow_pfn’; did you mean ‘follow_pte’? [-Werror=implicit-function-declaration]
23 | return follow_pfn(vma, address, pfn);
| ^~~~~~~~~~
| follow_pte
/var/lib/dkms/nvidia-tesla-470/470.256.02/build/nvidia/nv-procfs.c: At top level:
/var/lib/dkms/nvidia-tesla-470/470.256.02/build/nvidia/nv-procfs.c:689:1: warning: no previous prototype for ‘exercise_error_forwarding_va’ [-Wmissing-prototypes]
689 | exercise_error_forwarding_va(
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
Hope those mean something to you.