+--- NVIDIA-Linux-x86_64-390.87-no-compat32/kernel/nvidia/os-interface.c~ 2018-08-22 09:55:22.000000000 +0900
++++ NVIDIA-Linux-x86_64-390.87-no-compat32/kernel/nvidia/os-interface.c 2019-01-02 09:55:45.271845101 +0900
+@@ -1697,7 +1697,11 @@
+
+ struct nv_ipmi_softc
+ {
++#if defined(ipmi_user_t)
+ ipmi_user_t p_user; // ptr to ipmi_msghandler user structure
++#else
++ struct ipmi_user *p_user; // ptr to ipmi_msghandler user structure
++#endif
+ spinlock_t msg_lock;
+ struct list_head msgs;
+ NvU32 seqNum; //request sequence number
+@@ -1706,7 +1710,11 @@
+ static inline int
+ nv_ipmi_set_my_address
+ (
++#if defined(ipmi_user_t)
+ ipmi_user_t user,
++#else
++ struct ipmi_user *user,
++#endif
+ unsigned char address
+ )
+ {
+--- NVIDIA-Linux-x86_64-390.87-no-compat32/kernel/nvidia-drm/nvidia-drm-gem-nvkms-memory.c~ 2018-08-22 09:55:29.000000000 +0900
++++ NVIDIA-Linux-x86_64-390.87-no-compat32/kernel/nvidia-drm/nvidia-drm-gem-nvkms-memory.c 2019-01-02 10:00:43.465451775 +0900
+@@ -237,6 +237,9 @@
+
+ page_offset = vmf->pgoff - drm_vma_node_start(&gem->vma_node);
+
++#if !defined(vm_insert_pfn)
++ return vmf_insert_pfn(vma, address, pfn + page_offset);
++#else
+ ret = vm_insert_pfn(vma, address, pfn + page_offset);
+
+ switch (ret) {
+@@ -258,6 +258,7 @@
+ }
+
+ return VM_FAULT_SIGBUS;
++#endif
+ }
+
+ /*