--- a/driver/wl_linux.c
+++ b/driver/wl_linux.c
@@ -349,7 +349,7 @@ static void wl_mic_error(wl_info_t *wl,
 	defined(WL_MONITOR)
 static int wl_schedule_task(wl_info_t *wl, void (*fn)(struct wl_task *), void *context);
 #endif
-#if defined(CONFIG_PROC_FS)
+#if defined(CONFIG_PROC_FS) && (LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0))
 static int wl_read_proc(char *buffer, char **start, off_t offset, int length, int *eof, void *data);
 #endif /* defined(CONFIG_PROC_FS) */
 #ifdef BCMDBG
@@ -517,7 +517,7 @@ wl_attach(uint16 vendor, uint16 device,
 	struct net_device *dev;
 	wl_if_t *wlif;
 	wl_info_t *wl;
-#if defined(CONFIG_PROC_FS)
+#if defined(CONFIG_PROC_FS) && (LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0))
 	char tmp[128];
 #endif
 	osl_t *osh;
@@ -664,7 +664,7 @@ wl_attach(uint16 vendor, uint16 device,
 			WL_ERROR(("wl%d: Error setting MPC variable to 0\n", unit));
 		}
 	}
-#if defined(CONFIG_PROC_FS)
+#if defined(CONFIG_PROC_FS) && (LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0))
 	/* create /proc/net/wl<unit> */
 	sprintf(tmp, "net/wl%d", wl->pub->unit);
 	create_proc_read_entry(tmp, 0, 0, wl_read_proc, (void*)wl);
@@ -810,7 +810,7 @@ wl_dbus_disconnect_cb(void *arg)
 }
 #endif /* BCMDBUS */
 
-#if defined(CONFIG_PROC_FS)
+#if defined(CONFIG_PROC_FS) && (LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0))
 static int
 wl_read_proc(char *buffer, char **start, off_t offset, int length, int *eof, void *data)
 {
@@ -1149,7 +1149,7 @@ wl_free(wl_info_t *wl)
 
 	/* free common resources */
 	if (wl->wlc) {
-#if defined(CONFIG_PROC_FS)
+#if defined(CONFIG_PROC_FS) && (LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0))
 		char tmp[128];
 		/* remove /proc/net/wl<unit> */
 		sprintf(tmp, "net/wl%d", wl->pub->unit);
