[Help]How to create a patch to make the 495.46 driver work with the 5.18 kernel

I had to stay at 495.46 since drivers after 510.xx couldn’t adjust the screen backlight, but the 495 driver are not compatible with newer kernel versions.

 » sudo pacman -U nvidia-dkms-495.46-2-x86_64.pkg.tar.zst nvidia-utils-495.46-2-x86_64.pkg.tar.zst

loading packages...
warning: nvidia-dkms-495.46-2 is up to date -- reinstalling
warning: nvidia-utils-495.46-2 is up to date -- reinstalling
resolving dependencies...
looking for conflicting packages...

Package (2)   Old Version  New Version  Net Change

nvidia-dkms   495.46-2     495.46-2       0.00 MiB
nvidia-utils  495.46-2     495.46-2       0.00 MiB

Total Installed Size:  485.24 MiB
Net Upgrade Size:        0.00 MiB

:: Proceed with installation? [Y/n] 
(2/2) checking keys in keyring                               [################################] 100%
(2/2) checking package integrity                             [################################] 100%
(2/2) loading package files                                  [################################] 100%
(2/2) checking for file conflicts                            [################################] 100%
(2/2) checking available disk space                          [################################] 100%
:: Running pre-transaction hooks...
(1/1) Remove upgraded DKMS modules
==> dkms remove --no-depmod nvidia/495.46 -k 5.15.59-1-lts
:: Processing package changes...
(1/2) reinstalling nvidia-utils                              [################################] 100%
If you run into trouble with CUDA not being available, run nvidia-modprobe first.
(2/2) reinstalling nvidia-dkms                               [################################] 100%
:: Running post-transaction hooks...
(1/5) Creating system user accounts...
(2/5) Reloading system manager configuration...
(3/5) Reloading device manager configuration...
(4/5) Arming ConditionNeedsUpdate...
(5/5) Install DKMS modules
==> dkms install --no-depmod nvidia/495.46 -k 5.15.59-1-lts
==> dkms install --no-depmod nvidia/495.46 -k 5.18.16-arch1-1
Error! Bad return status for module build on kernel: 5.18.16-arch1-1 (x86_64)
Consult /var/lib/dkms/nvidia/495.46/build/make.log for more information.
==> WARNING: `dkms install --no-depmod nvidia/495.46 -k 5.18.16-arch1-1' exited 10
==> depmod 5.15.59-1-lts
 » cat /var/lib/dkms/nvidia/495.46/build/make.log
DKMS make.log for nvidia-495.46 for kernel 5.18.16-arch1-1 (x86_64)
Sat Aug  6 09:51:52 PM CST 2022
make[1]: Entering directory '/usr/lib/modules/5.18.16-arch1-1/build'
warning: the compiler differs from the one used to build the kernel
  The kernel was built by: gcc (GCC) 12.1.1 20220730
  You are using:           cc (GCC) 12.1.1 20220730
  SYMLINK /var/lib/dkms/nvidia/495.46/build/nvidia/nv-kernel.o
  SYMLINK /var/lib/dkms/nvidia/495.46/build/nvidia-modeset/nv-modeset-kernel.o
 CONFTEST: hash__remap_4k_pfn
 CONFTEST: set_pages_uc
 CONFTEST: list_is_first
 CONFTEST: set_memory_uc
 CONFTEST: set_memory_array_uc
 CONFTEST: set_pages_array_uc
 CONFTEST: acquire_console_sem
 CONFTEST: console_lock
 CONFTEST: ioremap_cache
 CONFTEST: ioremap_wc
 CONFTEST: acpi_walk_namespace
 CONFTEST: sg_alloc_table
 CONFTEST: pci_get_domain_bus_and_slot
 CONFTEST: get_num_physpages
 CONFTEST: efi_enabled
 CONFTEST: pde_data
 CONFTEST: proc_remove
 CONFTEST: pm_vt_switch_required
 CONFTEST: xen_ioemu_inject_msi
 CONFTEST: phys_to_dma
 CONFTEST: get_dma_ops
 CONFTEST: dma_attr_macros
 CONFTEST: dma_map_page_attrs
 CONFTEST: write_cr4
 CONFTEST: of_find_node_by_phandle
 CONFTEST: of_node_to_nid
 CONFTEST: of_get_property
 CONFTEST: pnv_pci_get_npu_dev
 CONFTEST: of_get_ibm_chip_id
 CONFTEST: node_end_pfn
 CONFTEST: pci_bus_address
 CONFTEST: pci_stop_and_remove_bus_device
 CONFTEST: register_cpu_notifier
 CONFTEST: pci_remove_bus_device
 CONFTEST: cpuhp_setup_state
 CONFTEST: dma_map_resource
 CONFTEST: backlight_device_register
 CONFTEST: get_backlight_device_by_name
 CONFTEST: timer_setup
 CONFTEST: pci_enable_msix_range
 CONFTEST: kernel_read_has_pointer_pos_arg
 CONFTEST: kernel_write
 CONFTEST: kthread_create_on_node
 CONFTEST: of_find_matching_node
 CONFTEST: dev_is_pci
 CONFTEST: dma_direct_map_resource
 CONFTEST: tegra_get_platform
 CONFTEST: tegra_bpmp_send_receive
 CONFTEST: flush_cache_all
 CONFTEST: vmf_insert_pfn
 CONFTEST: jiffies_to_timespec
 CONFTEST: ktime_get_raw_ts64
 CONFTEST: ktime_get_real_ts64
 CONFTEST: full_name_hash
 CONFTEST: hlist_for_each_entry
 CONFTEST: pci_enable_atomic_ops_to_root
 CONFTEST: vga_tryget
 CONFTEST: pgprot_decrypted
 CONFTEST: iterate_fd
 CONFTEST: seq_read_iter
 CONFTEST: sg_page_iter_page
 CONFTEST: unsafe_follow_pfn
 CONFTEST: drm_gem_object_get
 CONFTEST: drm_gem_object_put_unlocked
 CONFTEST: set_close_on_exec
 CONFTEST: add_memory_driver_managed
 CONFTEST: device_property_read_u64
 CONFTEST: devm_of_platform_populate
 CONFTEST: of_dma_configure
 CONFTEST: of_property_count_elems_of_size
 CONFTEST: of_property_read_variable_u8_array
 CONFTEST: i2c_new_client_device
 CONFTEST: i2c_unregister_device
 CONFTEST: of_get_named_gpio
 CONFTEST: devm_gpio_request_one
 CONFTEST: gpio_direction_input
 CONFTEST: gpio_direction_output
 CONFTEST: gpio_set_value
 CONFTEST: gpio_get_value
 CONFTEST: gpio_to_irq
 CONFTEST: icc_get
 CONFTEST: icc_put
 CONFTEST: icc_set_bw
 CONFTEST: address_space_init_once
 CONFTEST: kbasename
 CONFTEST: vzalloc
 CONFTEST: wait_on_bit_lock_argument_count
 CONFTEST: bitmap_clear
 CONFTEST: usleep_range
 CONFTEST: radix_tree_empty
 CONFTEST: radix_tree_replace_slot
 CONFTEST: pnv_npu2_init_context
 CONFTEST: cpumask_of_node
 CONFTEST: drm_dev_unref
 CONFTEST: drm_reinit_primary_mode_group
 CONFTEST: get_user_pages_remote
 CONFTEST: get_user_pages
 CONFTEST: drm_atomic_state_ref_counting
 CONFTEST: drm_gem_object_lookup
 CONFTEST: drm_driver_has_gem_prime_res_obj
 CONFTEST: drm_atomic_helper_connector_dpms
 CONFTEST: drm_connector_funcs_have_mode_in_name
 CONFTEST: drm_framebuffer_get
 CONFTEST: drm_dev_put
 CONFTEST: drm_format_num_planes
 CONFTEST: drm_connector_for_each_possible_encoder
 CONFTEST: drm_rotation_available
 CONFTEST: drm_vma_offset_exact_lookup_locked
 CONFTEST: nvhost_dma_fence_unpack
 CONFTEST: is_export_symbol_gpl_of_node_to_nid
 CONFTEST: is_export_symbol_gpl_sme_active
 CONFTEST: is_export_symbol_present_swiotlb_map_sg_attrs
 CONFTEST: is_export_symbol_present_swiotlb_dma_ops
 CONFTEST: is_export_symbol_present___close_fd
 CONFTEST: is_export_symbol_present_close_fd
 CONFTEST: is_export_symbol_present_get_unused_fd
 CONFTEST: is_export_symbol_present_get_unused_fd_flags
 CONFTEST: is_export_symbol_present_nvhost_get_default_device
 CONFTEST: is_export_symbol_present_nvhost_syncpt_unit_interface_get_byte_offset
 CONFTEST: is_export_symbol_present_nvhost_syncpt_unit_interface_get_aperture
 CONFTEST: is_export_symbol_present_tegra_dce_register_ipc_client
 CONFTEST: is_export_symbol_present_tegra_dce_unregister_ipc_client
 CONFTEST: is_export_symbol_present_tegra_dce_client_ipc_send_recv
 CONFTEST: is_export_symbol_present_dram_clk_to_mc_clk
 CONFTEST: is_export_symbol_present_get_dram_num_channels
 CONFTEST: is_export_symbol_present_tegra_dram_types
 CONFTEST: is_export_symbol_present_kthread_create_on_node
 CONFTEST: acpi_op_remove
 CONFTEST: file_operations
 CONFTEST: file_inode
 CONFTEST: kuid_t
 CONFTEST: dma_ops
 CONFTEST: swiotlb_dma_ops
 CONFTEST: noncoherent_swiotlb_dma_ops
 CONFTEST: vm_fault_has_address
 CONFTEST: backlight_properties_type
 CONFTEST: vm_insert_pfn_prot
 CONFTEST: vmf_insert_pfn_prot
 CONFTEST: vm_ops_fault_removed_vma_arg
 CONFTEST: vmbus_channel_has_ringbuffer_page
 CONFTEST: device_driver_of_match_table
 CONFTEST: device_of_node
 CONFTEST: node_states_n_memory
 CONFTEST: kmem_cache_has_kobj_remove_work
 CONFTEST: sysfs_slab_unlink
 CONFTEST: proc_ops
 CONFTEST: timespec64
 CONFTEST: vmalloc_has_pgprot_t_arg
 CONFTEST: acpi_fadt_low_power_s0
 CONFTEST: mm_has_mmap_lock
 CONFTEST: pci_channel_state
 CONFTEST: address_space
 CONFTEST: pci_dev_has_ats_enabled
 CONFTEST: backing_dev_info
 CONFTEST: mm_context_t
 CONFTEST: vm_fault_t
 CONFTEST: mmu_notifier_ops_invalidate_range
 CONFTEST: migrate_vma_setup
 CONFTEST: migrate_vma_added_flags
 CONFTEST: make_device_exclusive_range
 CONFTEST: drm_bus_present
 CONFTEST: drm_bus_has_bus_type
 CONFTEST: drm_bus_has_get_irq
 CONFTEST: drm_bus_has_get_name
 CONFTEST: drm_driver_has_device_list
 CONFTEST: drm_driver_has_legacy_dev_list
 CONFTEST: drm_crtc_state_has_connectors_changed
 CONFTEST: drm_driver_has_set_busid
 CONFTEST: drm_init_function_args
 CONFTEST: drm_helper_mode_fill_fb_struct
 CONFTEST: drm_master_drop_has_from_release_arg
 CONFTEST: drm_driver_unload_has_int_return_type
 CONFTEST: drm_atomic_helper_crtc_destroy_state_has_crtc_arg
 CONFTEST: drm_atomic_helper_plane_destroy_state_has_plane_arg
 CONFTEST: drm_mode_object_find_has_file_priv_arg
 CONFTEST: dma_buf_owner
 CONFTEST: drm_connector_list_iter
 CONFTEST: drm_atomic_helper_swap_state_has_stall_arg
 CONFTEST: drm_driver_prime_flag_present
 CONFTEST: drm_gem_object_has_resv
 CONFTEST: drm_crtc_state_has_async_flip
 CONFTEST: drm_crtc_state_has_pageflip_flags
 CONFTEST: drm_format_modifiers_present
 CONFTEST: drm_vma_node_is_allowed_has_tag_arg
 CONFTEST: drm_vma_offset_node_has_readonly
 CONFTEST: drm_display_mode_has_vrefresh
 CONFTEST: drm_driver_master_set_has_int_return_type
 CONFTEST: drm_driver_has_gem_free_object
 CONFTEST: drm_prime_pages_to_sg_has_drm_device_arg
 CONFTEST: drm_driver_has_gem_prime_callbacks
 CONFTEST: drm_crtc_atomic_check_has_atomic_state_arg
 CONFTEST: drm_gem_object_vmap_has_map_arg
 CONFTEST: drm_plane_atomic_check_has_atomic_state_arg
 CONFTEST: drm_device_has_pdev
 CONFTEST: drm_crtc_state_has_no_vblank
 CONFTEST: dom0_kernel_present
 CONFTEST: nvidia_vgpu_kvm_build
 CONFTEST: nvidia_grid_build
 CONFTEST: nvidia_grid_csp_build
 CONFTEST: pm_runtime_available
 CONFTEST: pci_class_multimedia_hd_audio
 CONFTEST: drm_available
 CONFTEST: drm_atomic_available
 CONFTEST: is_export_symbol_gpl_refcount_inc
 CONFTEST: is_export_symbol_gpl_refcount_dec_and_test
 CONFTEST: drm_alpha_blending_available
 CONFTEST: ib_peer_memory_symbols
  CC [M]  /var/lib/dkms/nvidia/495.46/build/nvidia/nv.o
  CC [M]  /var/lib/dkms/nvidia/495.46/build/nvidia/nv-pci.o
  CC [M]  /var/lib/dkms/nvidia/495.46/build/nvidia/nv-acpi.o
  CC [M]  /var/lib/dkms/nvidia/495.46/build/nvidia/nv-dma.o
  CC [M]  /var/lib/dkms/nvidia/495.46/build/nvidia/nv-cray.o
  CC [M]  /var/lib/dkms/nvidia/495.46/build/nvidia/nv-i2c.o
  CC [M]  /var/lib/dkms/nvidia/495.46/build/nvidia/nv-mmap.o
  CC [M]  /var/lib/dkms/nvidia/495.46/build/nvidia/nv-p2p.o
  CC [M]  /var/lib/dkms/nvidia/495.46/build/nvidia/nv-pat.o
  CC [M]  /var/lib/dkms/nvidia/495.46/build/nvidia/nv-procfs.o
  CC [M]  /var/lib/dkms/nvidia/495.46/build/nvidia/nv-procfs-utils.o
  CC [M]  /var/lib/dkms/nvidia/495.46/build/nvidia/nv-usermap.o
  CC [M]  /var/lib/dkms/nvidia/495.46/build/nvidia/nv-vm.o
  CC [M]  /var/lib/dkms/nvidia/495.46/build/nvidia/nv-vtophys.o
  CC [M]  /var/lib/dkms/nvidia/495.46/build/nvidia/os-interface.o
  CC [M]  /var/lib/dkms/nvidia/495.46/build/nvidia/os-mlock.o
  CC [M]  /var/lib/dkms/nvidia/495.46/build/nvidia/os-pci.o
In file included from /var/lib/dkms/nvidia/495.46/build/common/inc/nv-procfs.h:26,
                 from /var/lib/dkms/nvidia/495.46/build/nvidia/nv-procfs.c:31:
/var/lib/dkms/nvidia/495.46/build/nvidia/nv-procfs.c: In function ‘nv_procfs_open_gpu_info’:
/var/lib/dkms/nvidia/495.46/build/common/inc/nv-procfs-utils.h:104:29: error: implicit declaration of function ‘PDE’ [-Werror=implicit-function-declaration]
  104 | # define NV_PDE_DATA(inode) PDE(inode)->data
      |                             ^~~
/var/lib/dkms/nvidia/495.46/build/common/inc/nv-procfs-utils.h:126:27: note: in expansion of macro ‘NV_PDE_DATA’
  126 |                           NV_PDE_DATA(inode));                              \
      |                           ^~~~~~~~~~~
/var/lib/dkms/nvidia/495.46/build/common/inc/nv-procfs-utils.h:150:5: note: in expansion of macro ‘NV_DEFINE_SINGLE_PROCFS_FILE_HELPER’
  150 |     NV_DEFINE_SINGLE_PROCFS_FILE_HELPER(name, open_callback, close_callback)\
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/nvidia/495.46/build/nvidia/nv-procfs.c:38:5: note: in expansion of macro ‘NV_DEFINE_SINGLE_PROCFS_FILE_READ_ONLY’
   38 |     NV_DEFINE_SINGLE_PROCFS_FILE_READ_ONLY(name, \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/nvidia/495.46/build/nvidia/nv-procfs.c:192:1: note: in expansion of macro ‘NV_DEFINE_SINGLE_NVRM_PROCFS_FILE’
  192 | NV_DEFINE_SINGLE_NVRM_PROCFS_FILE(gpu_info);
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/nvidia/495.46/build/common/inc/nv-procfs-utils.h:104:39: error: invalid type argument of ‘->’ (have ‘int’)
  104 | # define NV_PDE_DATA(inode) PDE(inode)->data
      |                                       ^~
/var/lib/dkms/nvidia/495.46/build/common/inc/nv-procfs-utils.h:126:27: note: in expansion of macro ‘NV_PDE_DATA’
  126 |                           NV_PDE_DATA(inode));                              \
      |                           ^~~~~~~~~~~
/var/lib/dkms/nvidia/495.46/build/common/inc/nv-procfs-utils.h:150:5: note: in expansion of macro ‘NV_DEFINE_SINGLE_PROCFS_FILE_HELPER’
  150 |     NV_DEFINE_SINGLE_PROCFS_FILE_HELPER(name, open_callback, close_callback)\
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/nvidia/495.46/build/nvidia/nv-procfs.c:38:5: note: in expansion of macro ‘NV_DEFINE_SINGLE_PROCFS_FILE_READ_ONLY’
   38 |     NV_DEFINE_SINGLE_PROCFS_FILE_READ_ONLY(name, \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/nvidia/495.46/build/nvidia/nv-procfs.c:192:1: note: in expansion of macro ‘NV_DEFINE_SINGLE_NVRM_PROCFS_FILE’
  192 | NV_DEFINE_SINGLE_NVRM_PROCFS_FILE(gpu_info);
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/nvidia/495.46/build/nvidia/nv-procfs.c: In function ‘nv_procfs_open_power’:
/var/lib/dkms/nvidia/495.46/build/common/inc/nv-procfs-utils.h:104:39: error: invalid type argument of ‘->’ (have ‘int’)
  104 | # define NV_PDE_DATA(inode) PDE(inode)->data
      |                                       ^~
/var/lib/dkms/nvidia/495.46/build/common/inc/nv-procfs-utils.h:126:27: note: in expansion of macro ‘NV_PDE_DATA’
  126 |                           NV_PDE_DATA(inode));                              \
      |                           ^~~~~~~~~~~
/var/lib/dkms/nvidia/495.46/build/common/inc/nv-procfs-utils.h:150:5: note: in expansion of macro ‘NV_DEFINE_SINGLE_PROCFS_FILE_HELPER’
  150 |     NV_DEFINE_SINGLE_PROCFS_FILE_HELPER(name, open_callback, close_callback)\
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/nvidia/495.46/build/nvidia/nv-procfs.c:38:5: note: in expansion of macro ‘NV_DEFINE_SINGLE_PROCFS_FILE_READ_ONLY’
   38 |     NV_DEFINE_SINGLE_PROCFS_FILE_READ_ONLY(name, \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/nvidia/495.46/build/nvidia/nv-procfs.c:244:1: note: in expansion of macro ‘NV_DEFINE_SINGLE_NVRM_PROCFS_FILE’
  244 | NV_DEFINE_SINGLE_NVRM_PROCFS_FILE(power);
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/nvidia/495.46/build/nvidia/nv-procfs.c: In function ‘nv_procfs_open_version’:
/var/lib/dkms/nvidia/495.46/build/nvidia/nv-dma.c:986: warning: "IMPORT_SGT_STUBS_NEEDED" redefined
  986 | #define IMPORT_SGT_STUBS_NEEDED 0
      | 
/var/lib/dkms/nvidia/495.46/build/common/inc/nv-procfs-utils.h:104:39: error: invalid type argument of ‘->’ (have ‘int’)
  104 | # define NV_PDE_DATA(inode) PDE(inode)->data
      |                                       ^~
/var/lib/dkms/nvidia/495.46/build/common/inc/nv-procfs-utils.h:126:27: note: in expansion of macro ‘NV_PDE_DATA’
  126 |                           NV_PDE_DATA(inode));                              \
      |                           ^~~~~~~~~~~
/var/lib/dkms/nvidia/495.46/build/common/inc/nv-procfs-utils.h:150:5: note: in expansion of macro ‘NV_DEFINE_SINGLE_PROCFS_FILE_HELPER’
  150 |     NV_DEFINE_SINGLE_PROCFS_FILE_HELPER(name, open_callback, close_callback)\
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/nvidia/495.46/build/nvidia/nv-procfs.c:38:5: note: in expansion of macro ‘NV_DEFINE_SINGLE_PROCFS_FILE_READ_ONLY’
   38 |     NV_DEFINE_SINGLE_PROCFS_FILE_READ_ONLY(name, \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/nvidia/495.46/build/nvidia/nv-procfs.c:258:1: note: in expansion of macro ‘NV_DEFINE_SINGLE_NVRM_PROCFS_FILE’
  258 | NV_DEFINE_SINGLE_NVRM_PROCFS_FILE(version);
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/nvidia/495.46/build/nvidia/nv-dma.c:980: note: this is the location of the previous definition
  980 | #define IMPORT_SGT_STUBS_NEEDED 1
      | 
/var/lib/dkms/nvidia/495.46/build/nvidia/nv-procfs.c: In function ‘nv_procfs_open_file’:
/var/lib/dkms/nvidia/495.46/build/common/inc/nv-procfs-utils.h:104:39: error: invalid type argument of ‘->’ (have ‘int’)
  104 | # define NV_PDE_DATA(inode) PDE(inode)->data
      |                                       ^~
/var/lib/dkms/nvidia/495.46/build/nvidia/nv-procfs.c:303:16: note: in expansion of macro ‘NV_PDE_DATA’
  303 |     nvpp->nv = NV_PDE_DATA(inode);
      |                ^~~~~~~~~~~
/var/lib/dkms/nvidia/495.46/build/nvidia/nv-procfs.c: In function ‘nv_procfs_open_params’:
/var/lib/dkms/nvidia/495.46/build/common/inc/nv-procfs-utils.h:104:39: error: invalid type argument of ‘->’ (have ‘int’)
  104 | # define NV_PDE_DATA(inode) PDE(inode)->data
      |                                       ^~
/var/lib/dkms/nvidia/495.46/build/common/inc/nv-procfs-utils.h:126:27: note: in expansion of macro ‘NV_PDE_DATA’
  126 |                           NV_PDE_DATA(inode));                              \
      |                           ^~~~~~~~~~~
/var/lib/dkms/nvidia/495.46/build/common/inc/nv-procfs-utils.h:150:5: note: in expansion of macro ‘NV_DEFINE_SINGLE_PROCFS_FILE_HELPER’
  150 |     NV_DEFINE_SINGLE_PROCFS_FILE_HELPER(name, open_callback, close_callback)\
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/nvidia/495.46/build/nvidia/nv-procfs.c:38:5: note: in expansion of macro ‘NV_DEFINE_SINGLE_PROCFS_FILE_READ_ONLY’
   38 |     NV_DEFINE_SINGLE_PROCFS_FILE_READ_ONLY(name, \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/nvidia/495.46/build/nvidia/nv-procfs.c:469:1: note: in expansion of macro ‘NV_DEFINE_SINGLE_NVRM_PROCFS_FILE’
  469 | NV_DEFINE_SINGLE_NVRM_PROCFS_FILE(params);
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/nvidia/495.46/build/nvidia/nv-procfs.c: In function ‘nv_procfs_open_text_file’:
/var/lib/dkms/nvidia/495.46/build/common/inc/nv-procfs-utils.h:104:39: error: invalid type argument of ‘->’ (have ‘int’)
  104 | # define NV_PDE_DATA(inode) PDE(inode)->data
      |                                       ^~
/var/lib/dkms/nvidia/495.46/build/common/inc/nv-procfs-utils.h:126:27: note: in expansion of macro ‘NV_PDE_DATA’
  126 |                           NV_PDE_DATA(inode));                              \
      |                           ^~~~~~~~~~~
/var/lib/dkms/nvidia/495.46/build/common/inc/nv-procfs-utils.h:150:5: note: in expansion of macro ‘NV_DEFINE_SINGLE_PROCFS_FILE_HELPER’
  150 |     NV_DEFINE_SINGLE_PROCFS_FILE_HELPER(name, open_callback, close_callback)\
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/nvidia/495.46/build/nvidia/nv-procfs.c:38:5: note: in expansion of macro ‘NV_DEFINE_SINGLE_PROCFS_FILE_READ_ONLY’
   38 |     NV_DEFINE_SINGLE_PROCFS_FILE_READ_ONLY(name, \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/nvidia/495.46/build/nvidia/nv-procfs.c:1304:1: note: in expansion of macro ‘NV_DEFINE_SINGLE_NVRM_PROCFS_FILE’
 1304 | NV_DEFINE_SINGLE_NVRM_PROCFS_FILE(text_file);
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/nvidia/495.46/build/nvidia/nv-mmap.c: In function ‘nv_encode_caching’:
/var/lib/dkms/nvidia/495.46/build/nvidia/nv-mmap.c:334:16: warning: this statement may fall through [-Wimplicit-fallthrough=]
  334 |             if (NV_ALLOW_CACHING(memory_type))
      |                ^
/var/lib/dkms/nvidia/495.46/build/nvidia/nv-mmap.c:337:9: note: here
  337 |         default:
      |         ^~~~~~~
cc1: some warnings being treated as errors
/var/lib/dkms/nvidia/495.46/build/nvidia/nv-acpi.c: In function ‘nv_acpi_methods_init’:
/var/lib/dkms/nvidia/495.46/build/nvidia/nv-acpi.c:655:22: error: implicit declaration of function ‘acpi_bus_get_device’; did you mean ‘acpi_is_pnp_device’? [-Werror=implicit-function-declaration]
  655 |             retVal = acpi_bus_get_device(nvif_parent_gpu_handle, &device);
      |                      ^~~~~~~~~~~~~~~~~~~
      |                      acpi_is_pnp_device
make[2]: *** [scripts/Makefile.build:289: /var/lib/dkms/nvidia/495.46/build/nvidia/nv-procfs.o] Error 1
make[2]: *** Waiting for unfinished jobs....
/var/lib/dkms/nvidia/495.46/build/nvidia/nv.c: In function ‘nv_set_dma_address_size’:
/var/lib/dkms/nvidia/495.46/build/nvidia/nv.c:2891:9: error: implicit declaration of function ‘pci_set_dma_mask’; did you mean ‘ipi_send_mask’? [-Werror=implicit-function-declaration]
 2891 |         pci_set_dma_mask(nvl->pci_dev, new_mask);
      |         ^~~~~~~~~~~~~~~~
      |         ipi_send_mask
/var/lib/dkms/nvidia/495.46/build/nvidia/nv.c:2897:9: error: implicit declaration of function ‘pci_set_consistent_dma_mask’ [-Werror=implicit-function-declaration]
 2897 |         pci_set_consistent_dma_mask(nvl->pci_dev, new_mask);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:289: /var/lib/dkms/nvidia/495.46/build/nvidia/nv-acpi.o] Error 1
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:289: /var/lib/dkms/nvidia/495.46/build/nvidia/nv.o] Error 1
make[1]: *** [Makefile:1838: /var/lib/dkms/nvidia/495.46/build] Error 2
make[1]: Leaving directory '/usr/lib/modules/5.18.16-arch1-1/build'
make: *** [Makefile:80: modules] Error 2