Index: trunk/src/VBox/Additions/linux/drm/vbox_drv.c
===================================================================
--- trunk/src/VBox/Additions/linux/drm/vbox_drv.c	(revision 79019)
+++ trunk/src/VBox/Additions/linux/drm/vbox_drv.c	(revision 79025)
@@ -323,5 +323,6 @@
 	.master_drop = vbox_master_drop,
 #if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 18, 0) || defined(RHEL_73)
-# if LINUX_VERSION_CODE < KERNEL_VERSION(4, 14, 0) && !defined(RHEL_75)
+# if LINUX_VERSION_CODE < KERNEL_VERSION(4, 14, 0) && !defined(RHEL_75) \
+  && !defined(OPENSUSE_151)
 	.set_busid = drm_pci_set_busid,
 # endif
Index: trunk/src/VBox/Additions/linux/drm/vbox_drv.h
===================================================================
--- trunk/src/VBox/Additions/linux/drm/vbox_drv.h	(revision 79019)
+++ trunk/src/VBox/Additions/linux/drm/vbox_drv.h	(revision 79025)
@@ -71,4 +71,10 @@
 # if RHEL_MAJOR == 7 && RHEL_MINOR >= 0
 #  define RHEL_70
+# endif
+#endif
+
+#if defined(CONFIG_SUSE_VERSION)
+# if CONFIG_SUSE_VERSION == 15 && CONFIG_SUSE_PATCHLEVEL == 1
+#  define OPENSUSE_151
 # endif
 #endif
Index: trunk/src/VBox/Additions/linux/drm/vbox_main.c
===================================================================
--- trunk/src/VBox/Additions/linux/drm/vbox_main.c	(revision 79019)
+++ trunk/src/VBox/Additions/linux/drm/vbox_main.c	(revision 79025)
@@ -606,5 +606,5 @@
 #endif
 
-#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 19, 0)
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 19, 0) && !defined(OPENSUSE_151)
 static void ttm_bo_put(struct ttm_buffer_object *bo)
 {
Index: trunk/src/VBox/Additions/linux/drm/vbox_mode.c
===================================================================
--- trunk/src/VBox/Additions/linux/drm/vbox_mode.c	(revision 79019)
+++ trunk/src/VBox/Additions/linux/drm/vbox_mode.c	(revision 79025)
@@ -501,5 +501,5 @@
 		sum += edid[i];
 	edid[EDID_SIZE - 1] = (0x100 - (sum & 0xFF)) & 0xFF;
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 19, 0)
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 19, 0) || defined(OPENSUSE_151)
 	drm_connector_update_edid_property(connector, (struct edid *)edid);
 #else
@@ -676,5 +676,5 @@
 #endif
 
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 19, 0)
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 19, 0) || defined(OPENSUSE_151)
 	drm_connector_attach_encoder(connector, encoder);
 #else
Index: trunk/src/VBox/Additions/linux/drm/vbox_ttm.c
===================================================================
--- trunk/src/VBox/Additions/linux/drm/vbox_ttm.c	(revision 79019)
+++ trunk/src/VBox/Additions/linux/drm/vbox_ttm.c	(revision 79025)
@@ -211,5 +211,6 @@
 };
 
-#if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 17, 0)) && !defined(RHEL_76)
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 17, 0)) && !defined(RHEL_76) \
+  && !defined(OPENSUSE_151)
 static struct ttm_tt *vbox_ttm_tt_create(struct ttm_bo_device *bdev,
 					 unsigned long size,
@@ -228,5 +229,6 @@
 
 	tt->func = &vbox_tt_backend_func;
-#if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 17, 0)) && !defined(RHEL_76)
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 17, 0)) && !defined(RHEL_76) \
+  && !defined(OPENSUSE_151)
 	if (ttm_tt_init(tt, bdev, size, page_flags, dummy_read_page)) {
 #else
@@ -241,5 +243,6 @@
 
 #if LINUX_VERSION_CODE < KERNEL_VERSION(4, 17, 0)
-# if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 16, 0)) && !defined(RHEL_76)
+# if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 16, 0)) && !defined(RHEL_76) \
+  && !defined(OPENSUSE_151)
 static int vbox_ttm_tt_populate(struct ttm_tt *ttm)
 {
@@ -275,5 +278,6 @@
 	.io_mem_free = &vbox_ttm_io_mem_free,
 #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0) || defined(RHEL_75)
-# if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 16, 0)) && !defined(RHEL_76)
+# if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 16, 0)) && !defined(RHEL_76) \
+  && !defined(OPENSUSE_151)
 	.io_mem_pfn = ttm_bo_default_io_mem_pfn,
 # endif
@@ -299,5 +303,4 @@
 		return ret;
 #endif
-
 	ret = ttm_bo_device_init(&vbox->ttm.bdev,
 #if LINUX_VERSION_CODE < KERNEL_VERSION(5, 0, 0)
@@ -421,5 +424,6 @@
 	ret = ttm_bo_init(&vbox->ttm.bdev, &vboxbo->bo, size,
 			  ttm_bo_type_device, &vboxbo->placement,
-#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 17, 0) && !defined(RHEL_76)
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 17, 0) && !defined(RHEL_76) \
+  && !defined(OPENSUSE_151)
 			  align >> PAGE_SHIFT, false, NULL, acc_size,
 #else
@@ -450,5 +454,6 @@
 int vbox_bo_pin(struct vbox_bo *bo, u32 pl_flag, u64 *gpu_addr)
 {
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 16, 0)) || defined(RHEL_76)
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 16, 0)) || defined(RHEL_76) \
+  || defined(OPENSUSE_151)
 	struct ttm_operation_ctx ctx = { false, false };
 #endif
@@ -468,5 +473,6 @@
 		PLACEMENT_FLAGS(bo->placements[i]) |= TTM_PL_FLAG_NO_EVICT;
 
-#if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 16, 0)) && !defined(RHEL_76)
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 16, 0)) && !defined(RHEL_76) \
+  && !defined(OPENSUSE_151)
 	ret = ttm_bo_validate(&bo->bo, &bo->placement, false, false);
 #else
@@ -486,5 +492,6 @@
 int vbox_bo_unpin(struct vbox_bo *bo)
 {
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 16, 0)) || defined(RHEL_76)
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 16, 0)) || defined(RHEL_76) \
+  || defined(OPENSUSE_151)
 	struct ttm_operation_ctx ctx = { false, false };
 #endif
@@ -502,5 +509,6 @@
 		PLACEMENT_FLAGS(bo->placements[i]) &= ~TTM_PL_FLAG_NO_EVICT;
 
-#if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 16, 0)) && !defined(RHEL_76)
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 16, 0)) && !defined(RHEL_76) \
+  && !defined(OPENSUSE_151)
 	ret = ttm_bo_validate(&bo->bo, &bo->placement, false, false);
 #else
@@ -520,5 +528,6 @@
 int vbox_bo_push_sysram(struct vbox_bo *bo)
 {
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 16, 0)) || defined(RHEL_76)
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 16, 0)) || defined(RHEL_76) \
+  || defined(OPENSUSE_151)
 	struct ttm_operation_ctx ctx = { false, false };
 #endif
@@ -541,5 +550,6 @@
 		PLACEMENT_FLAGS(bo->placements[i]) |= TTM_PL_FLAG_NO_EVICT;
 
-#if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 16, 0)) && !defined(RHEL_76)
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 16, 0)) && !defined(RHEL_76) \
+  && !defined(OPENSUSE_151)
 	ret = ttm_bo_validate(&bo->bo, &bo->placement, false, false);
 #else
