diff --git a/target/linux/brcm63xx/patches-2.6.32/300-wl_exports.patch b/target/linux/brcm63xx/patches-2.6.32/300-wl_exports.patch
new file mode 100644
index 0000000000000000000000000000000000000000..44375dc72ce4455379fb660a1fa69b3895c3ccb4
--- /dev/null
+++ b/target/linux/brcm63xx/patches-2.6.32/300-wl_exports.patch
@@ -0,0 +1,34 @@
+--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
+@@ -46,6 +46,13 @@ static unsigned int mac_addr_used;
+ static struct board_info board;
+ 
+ /*
++ * Required export for WL
++ */
++#define NVRAM_SPACE 0x8000
++char nvram_buf[NVRAM_SPACE];
++EXPORT_SYMBOL(nvram_buf);
++
++/*
+  * known 6338 boards
+  */
+ #ifdef CONFIG_BCM63XX_CPU_6338
+@@ -1286,6 +1293,7 @@ void __init board_prom_init(void)
+ 
+ 	/* extract nvram data */
+ 	memcpy(&nvram, boot_addr + BCM963XX_NVRAM_OFFSET, sizeof(nvram));
++	memcpy(&nvram_buf, boot_addr + BCM963XX_NVRAM_OFFSET, NVRAM_SPACE);
+ 
+ 	/* check checksum before using data */
+ 	if (nvram.version <= 4)
+--- a/arch/mips/mm/cache.c
++++ b/arch/mips/mm/cache.c
+@@ -52,6 +52,7 @@ void (*_dma_cache_wback)(unsigned long s
+ void (*_dma_cache_inv)(unsigned long start, unsigned long size);
+ 
+ EXPORT_SYMBOL(_dma_cache_wback_inv);
++EXPORT_SYMBOL(_dma_cache_inv);
+ 
+ #endif /* CONFIG_DMA_NONCOHERENT */
+ 
diff --git a/target/linux/brcm63xx/patches-2.6.33/300-wl_exports.patch b/target/linux/brcm63xx/patches-2.6.33/300-wl_exports.patch
new file mode 100644
index 0000000000000000000000000000000000000000..00c80590ee3f220f2568ccbbf0fd3dcc90768947
--- /dev/null
+++ b/target/linux/brcm63xx/patches-2.6.33/300-wl_exports.patch
@@ -0,0 +1,34 @@
+--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
+@@ -46,6 +46,13 @@ static unsigned int mac_addr_used;
+ static struct board_info board;
+ 
+ /*
++ * Required export for WL
++ */
++#define NVRAM_SPACE 0x8000
++char nvram_buf[NVRAM_SPACE];
++EXPORT_SYMBOL(nvram_buf);
++
++/*
+  * known 6338 boards
+  */
+ #ifdef CONFIG_BCM63XX_CPU_6338
+@@ -1302,6 +1309,7 @@ void __init board_prom_init(void)
+ 
+ 	/* extract nvram data */
+ 	memcpy(&nvram, boot_addr + BCM963XX_NVRAM_OFFSET, sizeof(nvram));
++	memcpy(&nvram_buf, boot_addr + BCM963XX_NVRAM_OFFSET, NVRAM_SPACE);
+ 
+ 	/* check checksum before using data */
+ 	if (nvram.version <= 4)
+--- a/arch/mips/mm/cache.c
++++ b/arch/mips/mm/cache.c
+@@ -52,6 +52,7 @@ void (*_dma_cache_wback)(unsigned long s
+ void (*_dma_cache_inv)(unsigned long start, unsigned long size);
+ 
+ EXPORT_SYMBOL(_dma_cache_wback_inv);
++EXPORT_SYMBOL(_dma_cache_inv);
+ 
+ #endif /* CONFIG_DMA_NONCOHERENT */
+