--- a/drivers/gpu/Makefile
+++ b/drivers/gpu/Makefile
@@ -1 +1 @@
--obj-y += drm/ vga/ stub/
-+obj-y += drm/ vga/ stub/ misc/
+-obj-y += drm/ vga/
++obj-y += drm/ vga/ misc/
diff --git a/drivers/gpu/misc/Kconfig b/drivers/gpu/misc/Kconfig
new file mode 100644
index 0000000..50043d3
index 0000000..8882bda
--- /dev/null
+++ b/drivers/gpu/misc/virtio-gl.c
-@@ -0,0 +1,312 @@
+@@ -0,0 +1,315 @@
+/*
+ * Copyright (C) 2010 Intel Corporation
+ *
+ }
+
+ /* Transfer data */
-+ if (virtqueue_add_buf(vq, sg_list, o_page, i_page, (void *)1, GFP_ATOMIC) >= 0) {
++ struct scatterlist *sgs[2];
++ sgs[0] = &sg_list[0];
++ sgs[1] = &sg_list[1];
++ if (virtqueue_add_sgs(vq, sgs, o_page, i_page, (void *)1, GFP_ATOMIC) >= 0) {
+ virtqueue_kick(vq);
+ /* Chill out until it's done with the buffer. */
+ while (!virtqueue_get_buf(vq, &count))
+ return 0;
+}
+
-+static int glmem_fsync(struct file *filp, int datasync)
++static int glmem_fsync(struct file *filp, loff_t unusued1, loff_t unused2, int datasync)
+{
+ struct virtio_gl_data *gldata = to_virtio_gl_data(filp);
+
--- a/drivers/video/Kconfig
+++ b/drivers/video/Kconfig
@@ -16,6 +16,7 @@ source "drivers/char/agp/Kconfig"
- source "drivers/gpu/vga/Kconfig"
+ endmenu
- source "drivers/gpu/drm/Kconfig"
+ source "drivers/video/backlight/Kconfig"
+source "drivers/gpu/misc/Kconfig"
config VGASTATE