kernel module won't compile against current kernel 3.18-rc1

Hi, title says it all, current merge window broke the nvidia driver.
Anyone got patches for this?

Thanks

/home/tomas/nvidia/kernel/nv-drm.c: At top level:
/home/tomas/nvidia/kernel/nv-drm.c:24:27: error: field 'base' has incomplete type
     struct drm_gem_object base;
                           ^
In file included from /usr/src/linux-9999/include/linux/sched.h:17:0,
                 from /usr/src/linux-9999/include/linux/utsname.h:5,
                 from /home/tomas/nvidia/kernel/nv-linux.h:44,
                 from /home/tomas/nvidia/kernel/nv-drm.c:15:
/home/tomas/nvidia/kernel/nv-drm.c: In function 'nv_gem_free':
/usr/src/linux-9999/include/linux/kernel.h:795:48: warning: initialization from incompatible pointer type
  const typeof( ((type *)0)->member ) *__mptr = (ptr); \
                                                ^
/home/tomas/nvidia/kernel/nv-drm.c:70:36: note: in expansion of macro 'container_of'
     struct nv_gem_object *nv_obj = container_of(obj, struct nv_gem_object, base);
                                    ^
/usr/src/linux-9999/include/linux/kernel.h:795:48: warning: (near initialization for 'nv_obj')
  const typeof( ((type *)0)->member ) *__mptr = (ptr); \
                                                ^
/home/tomas/nvidia/kernel/nv-drm.c:70:36: note: in expansion of macro 'container_of'
     struct nv_gem_object *nv_obj = container_of(obj, struct nv_gem_object, base);
                                    ^
/home/tomas/nvidia/kernel/nv-drm.c: In function 'nv_gem_prime_get_sg_table':
/usr/src/linux-9999/include/linux/kernel.h:795:48: warning: initialization from incompatible pointer type
  const typeof( ((type *)0)->member ) *__mptr = (ptr); \
                                                ^
/home/tomas/nvidia/kernel/nv-drm.c:78:36: note: in expansion of macro 'container_of'
     struct nv_gem_object *nv_obj = container_of(obj, struct nv_gem_object, base);
                                    ^
/usr/src/linux-9999/include/linux/kernel.h:795:48: warning: (near initialization for 'nv_obj')
  const typeof( ((type *)0)->member ) *__mptr = (ptr); \
                                                ^
/home/tomas/nvidia/kernel/nv-drm.c:78:36: note: in expansion of macro 'container_of'
     struct nv_gem_object *nv_obj = container_of(obj, struct nv_gem_object, base);
                                    ^
/home/tomas/nvidia/kernel/nv-drm.c:79:25: error: dereferencing pointer to incomplete type
     int page_count = obj->size >> PAGE_SHIFT;
                         ^
In file included from /usr/src/linux-9999/include/linux/sched.h:17:0,
                 from /usr/src/linux-9999/include/linux/utsname.h:5,
                 from /home/tomas/nvidia/kernel/nv-linux.h:44,
                 from /home/tomas/nvidia/kernel/nv-drm.c:15:
/home/tomas/nvidia/kernel/nv-drm.c: In function 'nv_gem_prime_vmap':
/usr/src/linux-9999/include/linux/kernel.h:795:48: warning: initialization from incompatible pointer type
  const typeof( ((type *)0)->member ) *__mptr = (ptr); \
                                                ^
/home/tomas/nvidia/kernel/nv-drm.c:88:36: note: in expansion of macro 'container_of'
     struct nv_gem_object *nv_obj = container_of(obj, struct nv_gem_object, base);
                                    ^
/usr/src/linux-9999/include/linux/kernel.h:795:48: warning: (near initialization for 'nv_obj')
  const typeof( ((type *)0)->member ) *__mptr = (ptr); \
                                                ^
/home/tomas/nvidia/kernel/nv-drm.c:88:36: note: in expansion of macro 'container_of'
     struct nv_gem_object *nv_obj = container_of(obj, struct nv_gem_object, base);
                                    ^
/home/tomas/nvidia/kernel/nv-drm.c:89:25: error: dereferencing pointer to incomplete type
     int page_count = obj->size >> PAGE_SHIFT;
                         ^
/home/tomas/nvidia/kernel/nv-drm.c: At top level:
/home/tomas/nvidia/kernel/nv-drm.c:107:13: error: 'drm_gem_mmap' undeclared here (not in a function)
     .mmap = drm_gem_mmap,
             ^
/home/tomas/nvidia/kernel/nv-drm.c: In function 'nv_alloc_os_descriptor_handle':
/home/tomas/nvidia/kernel/nv-drm.c:204:5: error: implicit declaration of function 'drm_gem_private_object_init' [-Werror=implicit-function-declaration]
     drm_gem_private_object_init(nvl->drm, &nv_obj->base, size);
     ^
/home/tomas/nvidia/kernel/nv-drm.c:206:5: error: implicit declaration of function 'drm_gem_handle_create' [-Werror=implicit-function-declaration]
     ret = drm_gem_handle_create(file_priv, &nv_obj->base, handle);
     ^
/home/tomas/nvidia/kernel/nv-drm.c:213:5: error: implicit declaration of function 'drm_gem_object_unreference_unlocked' [-Werror=implicit-function-declaration]
     drm_gem_object_unreference_unlocked(&nv_obj->base);
     ^
cc1: some warnings being treated as errors

Problem fixed by including header “#include <drm/drm_gem.h>” in kernel/nv-drm.c.

--- NVIDIA-Linux-x86_64-343.13/kernel/nv-drm.c	2014-08-01 03:14:20.000000000 +0200
+++ NVIDIA-Linux-x86_64-343.22/kernel/nv-drm.c	2014-10-20 13:51:51.921228213 +0200
@@ -17,6 +17,7 @@
 #if defined(NV_DRM_AVAILABLE)
 
 #include <drm/drmP.h>
+#include <drm/drm_gem.h>
 
 extern nv_linux_state_t *nv_linux_devices;