From 8e4bff4cab0ddac6060645b0715210484d02ff40 Mon Sep 17 00:00:00 2001 From: Yuval Adam <_@yuv.al> Date: Wed, 30 Aug 2017 08:25:59 +0000 Subject: Initial file dump from open source release --- .../net/wireless/sc2331/sc2331_mem_alloc/Kconfig | 3 + .../net/wireless/sc2331/sc2331_mem_alloc/Makefile | 1 + .../sc2331/sc2331_mem_alloc/sprdwl_mem_alloc.c | 103 +++++++++++++++++++++ 3 files changed, 107 insertions(+) create mode 100644 drivers/net/wireless/sc2331/sc2331_mem_alloc/Kconfig create mode 100644 drivers/net/wireless/sc2331/sc2331_mem_alloc/Makefile create mode 100644 drivers/net/wireless/sc2331/sc2331_mem_alloc/sprdwl_mem_alloc.c (limited to 'drivers/net/wireless/sc2331') diff --git a/drivers/net/wireless/sc2331/sc2331_mem_alloc/Kconfig b/drivers/net/wireless/sc2331/sc2331_mem_alloc/Kconfig new file mode 100644 index 00000000..22050189 --- /dev/null +++ b/drivers/net/wireless/sc2331/sc2331_mem_alloc/Kconfig @@ -0,0 +1,3 @@ +config SC2331_MEM_ALLOC + bool "sprdwl mem alloc " + default y diff --git a/drivers/net/wireless/sc2331/sc2331_mem_alloc/Makefile b/drivers/net/wireless/sc2331/sc2331_mem_alloc/Makefile new file mode 100644 index 00000000..087301d3 --- /dev/null +++ b/drivers/net/wireless/sc2331/sc2331_mem_alloc/Makefile @@ -0,0 +1 @@ +obj-$(CONFIG_SC2331_MEM_ALLOC) += sprdwl_mem_alloc.o diff --git a/drivers/net/wireless/sc2331/sc2331_mem_alloc/sprdwl_mem_alloc.c b/drivers/net/wireless/sc2331/sc2331_mem_alloc/sprdwl_mem_alloc.c new file mode 100644 index 00000000..2f032622 --- /dev/null +++ b/drivers/net/wireless/sc2331/sc2331_mem_alloc/sprdwl_mem_alloc.c @@ -0,0 +1,103 @@ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#define WIFI_MEM_BLOCK_NUM (2) + +typedef struct +{ + int status; + unsigned char *mem; +}m_mem_t; + +static m_mem_t wifi_mem[WIFI_MEM_BLOCK_NUM] = {0}; +unsigned char *wifi_256k_alloc(void) +{ + unsigned char *p= NULL; + int i; + for(i=0; i< WIFI_MEM_BLOCK_NUM; i++) + { + if( (0 == wifi_mem[i].status) && (NULL != wifi_mem[i].mem) ) + { + p = wifi_mem[i].mem; + wifi_mem[i].status = 1; + printk("\001" "0" "[wifi_256k_alloc][%d][0x%x]\n", i, wifi_mem[i].mem ); + break; + } + } + return p; +} +EXPORT_SYMBOL_GPL(wifi_256k_alloc); + +int wifi_256k_free(unsigned char *mem) +{ + int i; + for(i=0; i< WIFI_MEM_BLOCK_NUM; i++) + { + if(mem == wifi_mem[i].mem) + { + wifi_mem[i].status = 0; + printk("\001" "0" "[wifi_256k_free][%d][0x%x]\n", i, wifi_mem[i].mem ); + return 0; + } + } + return -1; +} +EXPORT_SYMBOL_GPL(wifi_256k_free); + +static int sprdwl_mem_alloc(void) +{ + int i; + printk("[%s]\n", __func__); + for(i = 0; i < WIFI_MEM_BLOCK_NUM; i++) + { + wifi_mem[i].mem = kmalloc( 256*1024, GFP_ATOMIC); + printk("\001" "0" "[wifi_mem][%d][0x%x]\n", i, wifi_mem[i].mem ); + } + return 0; +} + +arch_initcall(sprdwl_mem_alloc); + +MODULE_AUTHOR("jinglong.chen"); +MODULE_DESCRIPTION("256k mem alloc"); +MODULE_LICENSE("GPL"); + -- cgit v1.3.1