lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <6776660.kcYzAMTBt8@wuerfel>
Date:	Thu, 28 May 2015 22:23:35 +0200
From:	Arnd Bergmann <arnd@...db.de>
To:	gregkh@...uxfoundation.org
Cc:	Rachel Kim <rachel.kim@...el.com>, Dean Lee <dean.lee@...el.com>,
	Chris Park <chris.park@...el.com>, devel@...verdev.osuosl.org,
	linux-kernel@...r.kernel.org, Johnny Kim <johnny.kim@...el.com>,
	nicolas.ferre@...el.com
Subject: [PATCH] staging: wilc1000 dead code removal

Subject: [PATCH] staging: wilc1000 dead code removal

After finding some build errors in wilc1000, I played some more with
the driver and eliminated a lot of unused code. This is all code
meant for OS abstraction. Since we know we are running Linux,
and which version we use, it can all be removed.

Some minor changes are included that are necessary to remove
other code.

Signed-off-by: Arnd Bergmann <arnd@...db.de>

diff --git a/drivers/staging/wilc1000/Makefile b/drivers/staging/wilc1000/Makefile
index 84bd975ff3be..4eda4cc69486 100644
--- a/drivers/staging/wilc1000/Makefile
+++ b/drivers/staging/wilc1000/Makefile
@@ -10,11 +10,10 @@ ccflags-y += -DSTA_FIRMWARE=\"atmel/wilc1000_fw.bin\" \
 		-DAP_FIRMWARE=\"atmel/wilc1000_ap_fw.bin\" \
 		-DP2P_CONCURRENCY_FIRMWARE=\"atmel/wilc1000_p2p_fw.bin\"
 
-ccflags-y += -I$(src)/ -DEXPORT_SYMTAB  -D__CHECK_ENDIAN__ -DWILC_ASIC_A0 \
+ccflags-y += -I$(src)/ -D__CHECK_ENDIAN__ -DWILC_ASIC_A0 \
 		-DPLL_WORKAROUND -DCONNECT_DIRECT  -DAGING_ALG \
 		-DWILC_PARSE_SCAN_IN_HOST -DDISABLE_PWRSAVE_AND_SCAN_DURING_IP \
-		-DWILC_PLATFORM=WILC_LINUXKERNEL -Wno-unused-function -DUSE_WIRELESS \
-		-DWILC_DEBUGFS
+		-Wno-unused-function -DUSE_WIRELESS -DWILC_DEBUGFS
 #ccflags-y += -DTCP_ACK_FILTER
 
 ccflags-$(CONFIG_WILC1000_PREALLOCATE_DURING_SYSTEM_BOOT) += -DMEMORY_STATIC \
@@ -28,14 +27,8 @@ ccflags-$(CONFIG_WILC1000_DYNAMICALLY_ALLOCATE_MEMROY) += -DWILC_NORMAL_ALLOC
 
 wilc1000-objs := wilc_wfi_netdevice.o wilc_wfi_cfgoperations.o linux_wlan.o linux_mon.o \
 			wilc_memory.o wilc_msgqueue.o wilc_semaphore.o wilc_sleep.o wilc_strutils.o \
-			wilc_thread.o wilc_time.o wilc_timer.o coreconfigurator.o host_interface.o \
+			wilc_time.o wilc_timer.o coreconfigurator.o host_interface.o \
 			fifo_buffer.o wilc_sdio.o wilc_spi.o wilc_wlan_cfg.o wilc_debugfs.o
 
 wilc1000-$(CONFIG_WILC1000_SDIO) += linux_wlan_sdio.o
 wilc1000-$(CONFIG_WILC1000_SPI) += linux_wlan_spi.o
-
-WILC1000_SRC_VERSION = 10.0
-PATCHLEVEL = 2
-WILC1000_FW_VERSION = 0
-
-ccflags-y += -D__DRIVER_VERSION__=\"$(WILC1000_SRC_VERSION).$(PATCHLEVEL)\"
diff --git a/drivers/staging/wilc1000/coreconfigurator.c b/drivers/staging/wilc1000/coreconfigurator.c
index 01625bdda454..d5a076ed2426 100644
--- a/drivers/staging/wilc1000/coreconfigurator.c
+++ b/drivers/staging/wilc1000/coreconfigurator.c
@@ -2123,7 +2123,6 @@ WILC_Sint32 CoreConfiguratorDeInit(void)
 
 
 #ifndef SIMULATION
-#if WILC_PLATFORM != WILC_WIN32
 /*Using the global handle of the driver*/
 extern wilc_wlan_oup_t *gpstrWlanOps;
 /**
@@ -2198,4 +2197,3 @@ WILC_Sint32 SendConfigPkt(WILC_Uint8 u8Mode, tstrWID *pstrWIDs,
 	return ret;
 }
 #endif
-#endif
diff --git a/drivers/staging/wilc1000/host_interface.c b/drivers/staging/wilc1000/host_interface.c
index fcbadd1885de..7c764a2ba573 100644
--- a/drivers/staging/wilc1000/host_interface.c
+++ b/drivers/staging/wilc1000/host_interface.c
@@ -543,7 +543,7 @@ tstrWILC_WFIDrv *gWFiDrvHandle = WILC_NULL;
 WILC_Bool g_obtainingIP = WILC_FALSE;
 #endif
 WILC_Uint8 P2P_LISTEN_STATE;
-static WILC_ThreadHandle HostIFthreadHandler;
+static struct task_struct *HostIFthreadHandler;
 static WILC_MsgQueueHandle gMsgQHostIF;
 static WILC_SemaphoreHandle hSemHostIFthrdEnd;
 
@@ -4370,7 +4370,7 @@ static WILC_Sint32 Handle_DelAllRxBASessions(void *drvHandler, tstrHostIfBASessi
  *  @date
  *  @version	1.0
  */
-static void hostIFthread(void *pvArg)
+static int hostIFthread(void *pvArg)
 {
 	WILC_Uint32 u32Ret;
 	tstrHostIFmsg strHostIFmsg;
@@ -4591,10 +4591,7 @@ static void hostIFthread(void *pvArg)
 
 	PRINT_D(HOSTINF_DBG, "Releasing thread exit semaphore\n");
 	WILC_SemaphoreRelease(&hSemHostIFthrdEnd, WILC_NULL);
-	return;
-	/* do_exit(error); */
-	/* PRINT_D(HOSTINF_DBG,"do_exit error code %d\n",error); */
-
+	return 0;
 }
 
 static void TimerCB_Scan(void *pvArg)
@@ -6683,9 +6680,10 @@ WILC_Sint32 host_int_init(WILC_WFIDrvHandle *phWFIDrv)
 			goto _fail_;
 		}
 		msgQ_created = 1;
-		s32Error = WILC_ThreadCreate(&HostIFthreadHandler, hostIFthread, WILC_NULL, WILC_NULL);
-		if (s32Error < 0) {
+		HostIFthreadHandler = kthread_run(hostIFthread, NULL, "WILC_kthread");
+		if (IS_ERR(HostIFthreadHandler)) {
 			PRINT_ER("Failed to creat Thread\n");
+			s32Error = WILC_FAIL;
 			goto _fail_mq_;
 		}
 		s32Error = WILC_TimerCreate(&(g_hPeriodicRSSI), GetPeriodicRSSI, WILC_NULL);
@@ -6788,7 +6786,7 @@ _fail_timer_2:
 _fail_timer_1:
 	WILC_TimerDestroy(&(pstrWFIDrv->hScanTimer), WILC_NULL);
 _fail_thread_:
-	WILC_ThreadDestroy(&HostIFthreadHandler, WILC_NULL);
+	kthread_stop(HostIFthreadHandler);
 _fail_mq_:
 	WILC_MsgQueueDestroy(&gMsgQHostIF, WILC_NULL);
 _fail_:
diff --git a/drivers/staging/wilc1000/linux_wlan.c b/drivers/staging/wilc1000/linux_wlan.c
index 18f1bd00201a..2a74441af09e 100644
--- a/drivers/staging/wilc1000/linux_wlan.c
+++ b/drivers/staging/wilc1000/linux_wlan.c
@@ -180,7 +180,6 @@ linux_wlan_t *g_linux_wlan;
 wilc_wlan_oup_t *gpstrWlanOps;
 WILC_Bool bEnablePS = WILC_TRUE;
 
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 2, 0)
 static const struct net_device_ops wilc_netdev_ops = {
 	.ndo_init = mac_init_fn,
 	.ndo_open = mac_open,
@@ -191,37 +190,7 @@ static const struct net_device_ops wilc_netdev_ops = {
 	.ndo_set_rx_mode  = wilc_set_multicast_list,
 
 };
-#define wilc_set_netdev_ops(ndev) do { (ndev)->netdev_ops = &wilc_netdev_ops; } while (0)
-#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29)
 
-static const struct net_device_ops wilc_netdev_ops = {
-	.ndo_init = mac_init_fn,
-	.ndo_open = mac_open,
-	.ndo_stop = mac_close,
-	.ndo_start_xmit = mac_xmit,
-	.ndo_do_ioctl = mac_ioctl,
-	.ndo_get_stats = mac_stats,
-	.ndo_set_multicast_list = wilc_set_multicast_list,
-
-};
-
-#define wilc_set_netdev_ops(ndev) do { (ndev)->netdev_ops = &wilc_netdev_ops; } while (0)
-
-#else
-
-static void wilc_set_netdev_ops(struct net_device *ndev)
-{
-
-	ndev->init = mac_init_fn;
-	ndev->open = mac_open;
-	ndev->stop = mac_close;
-	ndev->hard_start_xmit = mac_xmit;
-	ndev->do_ioctl = mac_ioctl;
-	ndev->get_stats = mac_stats;
-	ndev->set_multicast_list = wilc_set_multicast_list,
-}
-
-#endif
 #ifdef DEBUG_MODE
 
 extern volatile int timeNo;
@@ -594,12 +563,7 @@ static void linux_wlan_msleep(uint32_t msc)
 {
 	if (msc <= 4000000) {
 		WILC_Uint32 u32Temp = msc * 1000;
-#if LINUX_VERSION_CODE > KERNEL_VERSION(2, 6, 35)
 		usleep_range(u32Temp, u32Temp);
-#else
-		/* This is delay not sleep !!!, has to be changed*/
-		msleep(msc);
-#endif
 	} else {
 		msleep(msc);
 	}
@@ -2195,7 +2159,6 @@ struct net_device_stats *mac_stats(struct net_device *dev)
 }
 
 /* Setup the multicast filter */
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 34)
 static void wilc_set_multicast_list(struct net_device *dev)
 {
 
@@ -2251,55 +2214,6 @@ static void wilc_set_multicast_list(struct net_device *dev)
 
 }
 
-#else
-
-static void wilc_set_multicast_list(struct net_device *dev)
-{
-	/* BIG Warning, Beware : Uncompiled, untested... */
-	struct dev_mc_list *mc_ptr;
-	int i = 0;
-
-	if (!dev)
-		return;
-
-	PRINT_D(INIT_DBG, "Setting Multicast List. \n");
-	PRINT_D(INIT_DBG, "dev->mc_count = %d\n", dev->mc_count);
-
-	if (dev->flags & IFF_PROMISC) {
-		/* Normally, we should configure the chip to retrive all packets
-		 * but we don't wanna support this right now */
-		/* TODO: add promiscuous mode support */
-		PRINT_D(INIT_DBG, "Set promiscuous mode ON, retrive all packets \n");
-		return;
-	}
-
-	/* If there's more addresses than we handle, get all multicast
-	 * packets and sort them out in software. */
-	if ((dev->flags & IFF_ALLMULTI) || (dev->mc_count > WILC_MULTICAST_TABLE_SIZE)) {
-		PRINT_D(INIT_DBG, "Disable multicast filter, retrive all multicast packets\n");
-		host_int_setup_multicast_filter((WILC_WFIDrvHandle)gWFiDrvHandle, WILC_FALSE, 0);
-		return;
-	}
-
-	/* No multicast?  Just get our own stuff */
-	if (dev->mc_count == 0) {
-		PRINT_D(INIT_DBG, "Enable multicast filter, retrive directed packets only.\n");
-		host_int_setup_multicast_filter((WILC_WFIDrvHandle)gWFiDrvHandle, WILC_TRUE, 0);
-		return;
-	}
-
-	/* Store all of the multicast addresses in the hardware filter */
-
-	for (mc_ptr = dev->mc_list; mc_ptr; mc_ptr = mc_ptr->next, i++) {
-		WILC_memcpy(gau8MulticastMacAddrList[i], mc_ptr->dmi_addr, ETH_ALEN)
-		i++;
-	}
-
-	host_int_setup_multicast_filter((WILC_WFIDrvHandle)gWFiDrvHandle, WILC_TRUE, (dev->mc_count));
-
-}
-#endif
-
 static void linux_wlan_tx_complete(void *priv, int status)
 {
 
@@ -2765,7 +2679,7 @@ int wilc_netdev_init(void)
 		nic->wilc_netdev = ndev;
 		g_linux_wlan->strInterfaceInfo[g_linux_wlan->u8NoIfcs].wilc_netdev = ndev;
 		g_linux_wlan->u8NoIfcs++;
-		wilc_set_netdev_ops(ndev);
+		ndev->netdev_ops = &wilc_netdev_ops;
 
 		#ifdef USE_WIRELESS
 		{
@@ -2833,7 +2747,7 @@ static int __init init_wilc_driver(void)
 #endif
 
 	printk("IN INIT FUNCTION\n");
-	printk("*** WILC1000 driver VERSION=[%s] FW_VER=[%s] ***\n", __DRIVER_VERSION__, __DRIVER_VERSION__);
+	printk("*** WILC1000 driver VERSION=[10.2] FW_VER=[10.2] ***\n");
 
 	linux_wlan_device_power(1);
 	msleep(100);
diff --git a/drivers/staging/wilc1000/wilc_errorsupport.h b/drivers/staging/wilc1000/wilc_errorsupport.h
index 6405ef8ad431..4da657d17020 100644
--- a/drivers/staging/wilc1000/wilc_errorsupport.h
+++ b/drivers/staging/wilc1000/wilc_errorsupport.h
@@ -64,21 +64,4 @@ typedef WILC_Sint32 WILC_ErrNo;
 ERRORHANDLER: \
 	if (WILC_IS_ERR(__status__)) \
 
-#ifdef CONFIG_WILC_ASSERTION_SUPPORT
-
-/**
- * @brief	prints a diagnostic message and aborts the program
- * @param[in]   pcExpression The expression that triggered the assertion
- * @param[in]   pcFileName The name of the current source file.
- * @param[in]   u32LineNumber The line number in the current source file.
- * @warning DO NOT CALL DIRECTLY. USE EQUIVALENT MACRO FUNCTION INSTEAD.
- */
-void WILC_assert_INTERNAL(WILC_Char *pcExpression, WILC_Char *pcFileName, WILC_Uint32 u32LineNumber);
-
-#define WILC_assert(__expression__) (void)(!!(__expression__) || (WILC_assert_INTERNAL((# __expression__), __WILC_FILE__, __WILC_LINE__), 0))
-
-#else
-#define WILC_assert(__expression__) ((void)0)
-#endif
-
 #endif
diff --git a/drivers/staging/wilc1000/wilc_event.h b/drivers/staging/wilc1000/wilc_event.h
deleted file mode 100644
index 94e0f7c0bed5..000000000000
diff --git a/drivers/staging/wilc1000/wilc_memory.c b/drivers/staging/wilc1000/wilc_memory.c
index cf0976b443b8..fbba38da19bc 100644
--- a/drivers/staging/wilc1000/wilc_memory.c
+++ b/drivers/staging/wilc1000/wilc_memory.c
@@ -1,9 +1,6 @@
 
 #include "wilc_oswrapper.h"
 
-#ifdef CONFIG_WILC_MEMORY_FEATURE
-
-
 /*!
  *  @author	syounan
  *  @date	18 Aug 2010
@@ -59,5 +56,3 @@ void WILC_MemoryFree(void *pvBlock, tstrWILC_MemoryAttrs *strAttrs,
 {
 	kfree(pvBlock);
 }
-
-#endif
diff --git a/drivers/staging/wilc1000/wilc_memory.h b/drivers/staging/wilc1000/wilc_memory.h
index 1e45641af454..012f03cae0c8 100644
--- a/drivers/staging/wilc1000/wilc_memory.h
+++ b/drivers/staging/wilc1000/wilc_memory.h
@@ -10,10 +10,6 @@
  *  @version	1.0
  */
 
-#ifndef CONFIG_WILC_MEMORY_FEATURE
-#error the feature CONFIG_WILC_MEMORY_FEATURE must be supported to include this file
-#endif
-
 /*!
  *  @struct             tstrWILC_MemoryAttrs
  *  @brief		Memory API options
@@ -22,33 +18,9 @@
  *  @version		1.0
  */
 typedef struct {
-	#ifdef CONFIG_WILC_MEMORY_POOLS
-	/*!< the allocation pool to use for this memory, NULL for system
-	 * allocation. Default is NULL
-	 */
-	WILC_MemoryPoolHandle *pAllocationPool;
-	#endif
-
-	/* a dummy member to avoid compiler errors*/
-	WILC_Uint8 dummy;
 } tstrWILC_MemoryAttrs;
 
 /*!
- *  @brief	Fills the tstrWILC_MemoryAttrs with default parameters
- *  @param[out]	pstrAttrs structure to be filled
- *  @sa		tstrWILC_MemoryAttrs
- *  @author	syounan
- *  @date	16 Aug 2010
- *  @version	1.0
- */
-static void WILC_MemoryFillDefault(tstrWILC_MemoryAttrs *pstrAttrs)
-{
-	#ifdef CONFIG_WILC_MEMORY_POOLS
-	pstrAttrs->pAllocationPool = WILC_NULL;
-	#endif
-}
-
-/*!
  *  @brief	Allocates a given size of bytes
  *  @param[in]	u32Size size of memory in bytes to be allocated
  *  @param[in]	strAttrs Optional attributes, NULL for default
@@ -145,69 +117,6 @@ void WILC_MemoryFree(void *pvBlock, tstrWILC_MemoryAttrs *strAttrs,
 			WILC_Char *pcFileName, WILC_Uint32 u32LineNo);
 
 /*!
- *  @brief	Creates a new memory pool
- *  @param[out]	pHandle the handle to the new Pool
- *  @param[in]	u32PoolSize The pool size in bytes
- *  @param[in]	strAttrs Optional attributes, NULL for default
- *  @return	Error code indicating sucess/failure
- *  @sa		sttrWILC_MemoryAttrs
- *  @author	syounan
- *  @date	16 Aug 2010
- *  @version	1.0
- */
-WILC_ErrNo WILC_MemoryNewPool(WILC_MemoryPoolHandle *pHandle, WILC_Uint32 u32PoolSize,
-			      tstrWILC_MemoryAttrs *strAttrs);
-
-/*!
- *  @brief	Deletes a memory pool, freeing all memory allocated from it as well
- *  @param[in]	pHandle the handle to the deleted Pool
- *  @param[in]	strAttrs Optional attributes, NULL for default
- *  @return	Error code indicating sucess/failure
- *  @sa		sttrWILC_MemoryAttrs
- *  @author	syounan
- *  @date	16 Aug 2010
- *  @version	1.0
- */
-WILC_ErrNo WILC_MemoryDelPool(WILC_MemoryPoolHandle *pHandle, tstrWILC_MemoryAttrs *strAttrs);
-
-
-#ifdef CONFIG_WILC_MEMORY_DEBUG
-
-/*!
- * @brief	standrad malloc wrapper with custom attributes
- */
-	#define WILC_MALLOC_EX(__size__, __attrs__) \
-	(WILC_MemoryAlloc( \
-		 (__size__), __attrs__,	\
-		 (WILC_Char *)__WILC_FILE__, (WILC_Uint32)__WILC_LINE__))
-
-/*!
- * @brief	standrad calloc wrapper with custom attributes
- */
-	#define WILC_CALLOC_EX(__size__, __attrs__) \
-	(WILC_MemoryCalloc( \
-		 (__size__), __attrs__,	\
-		 (WILC_Char *)__WILC_FILE__, (WILC_Uint32)__WILC_LINE__))
-
-/*!
- * @brief	standrad realloc wrapper with custom attributes
- */
-	#define WILC_REALLOC_EX(__ptr__, __new_size__, __attrs__) \
-	(WILC_MemoryRealloc( \
-		 (__ptr__), (__new_size__), __attrs__, \
-		 (WILC_Char *)__WILC_FILE__, (WILC_Uint32)__WILC_LINE__))
-
-/*!
- * @brief	standrad free wrapper with custom attributes
- */
-	#define WILC_FREE_EX(__ptr__, __attrs__) \
-	(WILC_MemoryFree( \
-		 (__ptr__), __attrs__, \
-		 (WILC_Char *)__WILC_FILE__, (WILC_Uint32)__WILC_LINE__))
-
-#else
-
-/*!
  * @brief	standrad malloc wrapper with custom attributes
  */
 	#define WILC_MALLOC_EX(__size__, __attrs__) \
@@ -234,8 +143,6 @@ WILC_ErrNo WILC_MemoryDelPool(WILC_MemoryPoolHandle *pHandle, tstrWILC_MemoryAtt
 	(WILC_MemoryFree( \
 		 (__ptr__), __attrs__, WILC_NULL, 0))
 
-#endif
-
 /*!
  * @brief	Allocates a block (with custom attributes) of given type and number of
  * elements
diff --git a/drivers/staging/wilc1000/wilc_msgqueue.c b/drivers/staging/wilc1000/wilc_msgqueue.c
index c1d0dabed479..1113092398d1 100644
--- a/drivers/staging/wilc1000/wilc_msgqueue.c
+++ b/drivers/staging/wilc1000/wilc_msgqueue.c
@@ -1,8 +1,6 @@
 
 #include "wilc_oswrapper.h"
 #include <linux/spinlock.h>
-#ifdef CONFIG_WILC_MSG_QUEUE_FEATURE
-
 
 /*!
  *  @author		syounan
@@ -154,11 +152,6 @@ WILC_ErrNo WILC_MsgQueueRecv(WILC_MsgQueueHandle *pHandle,
 	spin_unlock_irqrestore(&pHandle->strCriticalSection, flags);
 
 	WILC_SemaphoreFillDefault(&strSemAttrs);
-	#ifdef CONFIG_WILC_MSG_QUEUE_TIMEOUT
-	if (pstrAttrs != WILC_NULL) {
-		strSemAttrs.u32TimeOut = pstrAttrs->u32Timeout;
-	}
-	#endif
 	s32RetStatus = WILC_SemaphoreAcquire(&(pHandle->hSem), &strSemAttrs);
 	if (s32RetStatus == WILC_TIMEOUT) {
 		/* timed out, just exit without consumeing the message */
@@ -207,5 +200,3 @@ WILC_ErrNo WILC_MsgQueueRecv(WILC_MsgQueueHandle *pHandle,
 
 	return s32RetStatus;
 }
-
-#endif
diff --git a/drivers/staging/wilc1000/wilc_msgqueue.h b/drivers/staging/wilc1000/wilc_msgqueue.h
index a48be533aad9..84157368335d 100644
--- a/drivers/staging/wilc1000/wilc_msgqueue.h
+++ b/drivers/staging/wilc1000/wilc_msgqueue.h
@@ -10,10 +10,6 @@
  *  @version	1.0
  */
 
-#ifndef CONFIG_WILC_MSG_QUEUE_FEATURE
-#error the feature CONFIG_WILC_MSG_QUEUE_FEATURE must be supported to include this file
-#endif
-
 /*!
  *  @struct             tstrWILC_MsgQueueAttrs
  *  @brief		Message Queue API options
@@ -22,38 +18,12 @@
  *  @version		1.0
  */
 typedef struct {
-	#ifdef CONFIG_WILC_MSG_QUEUE_IPC_NAME
-	WILC_Char *pcName;
-	#endif
-
-	#ifdef CONFIG_WILC_MSG_QUEUE_TIMEOUT
-	WILC_Uint32 u32Timeout;
-	#endif
-
 	/* a dummy member to avoid compiler errors*/
 	WILC_Uint8 dummy;
 
 } tstrWILC_MsgQueueAttrs;
 
 /*!
- *  @brief		Fills the MsgQueueAttrs with default parameters
- *  @param[out]	pstrAttrs structure to be filled
- *  @sa			WILC_TimerAttrs
- *  @author		syounan
- *  @date		30 Aug 2010
- *  @version		1.0
- */
-static void WILC_MsgQueueFillDefault(tstrWILC_MsgQueueAttrs *pstrAttrs)
-{
-	#ifdef CONFIG_WILC_MSG_QUEUE_IPC_NAME
-	pstrAttrs->pcName = WILC_NULL;
-	#endif
-
-	#ifdef CONFIG_WILC_MSG_QUEUE_TIMEOUT
-	pstrAttrs->u32Timeout = WILC_OS_INFINITY;
-	#endif
-}
-/*!
  *  @brief		Creates a new Message queue
  *  @details		Creates a new Message queue, if the feature
  *                              CONFIG_WILC_MSG_QUEUE_IPC_NAME is enabled and pstrAttrs->pcName
diff --git a/drivers/staging/wilc1000/wilc_osconfig.h b/drivers/staging/wilc1000/wilc_osconfig.h
index 8e89702c79be..f9c25140393e 100644
--- a/drivers/staging/wilc1000/wilc_osconfig.h
+++ b/drivers/staging/wilc1000/wilc_osconfig.h
@@ -1,18 +1,3 @@
-/*
- * Automatically generated C config: don't edit
- * Tue Aug 10 19:52:12 2010
- */
-
-/* OSes supported */
-#define WILC_WIN32		0
-#define WILC_NU				1
-#define WILC_MTK		2
-#define WILC_LINUX		3
-#define WILC_LINUXKERNEL	4
-/* the current OS */
-/* #define WILC_PLATFORM WILC_LINUXKERNEL */
-
-
 /* Logs options */
 #define WILC_LOGS_NOTHING          0
 #define WILC_LOGS_WARN             1
@@ -22,34 +7,3 @@
 #define WILC_LOGS_ALL              5
 
 #define WILC_LOG_VERBOSITY_LEVEL WILC_LOGS_ALL
-
-/* OS features supported */
-
-#define CONFIG_WILC_THREAD_FEATURE 1
-/* #define CONFIG_WILC_THREAD_SUSPEND_CONTROL 1 */
-/* #define CONFIG_WILC_THREAD_STRICT_PRIORITY 1 */
-#define CONFIG_WILC_SEMAPHORE_FEATURE 1
-/* #define CONFIG_WILC_SEMAPHORE_TIMEOUT 1 */
-#define CONFIG_WILC_SLEEP_FEATURE 1
-#define CONFIG_WILC_SLEEP_HI_RES 1
-#define CONFIG_WILC_TIMER_FEATURE 1
-/* #define CONFIG_WILC_TIMER_PERIODIC 1 */
-#define CONFIG_WILC_MEMORY_FEATURE 1
-/* #define CONFIG_WILC_MEMORY_POOLS 1 */
-/* #define CONFIG_WILC_MEMORY_DEBUG 1 */
-/* #define CONFIG_WILC_ASSERTION_SUPPORT 1 */
-#define CONFIG_WILC_STRING_UTILS 1
-#define CONFIG_WILC_MSG_QUEUE_FEATURE
-/* #define CONFIG_WILC_MSG_QUEUE_IPC_NAME */
-/* #define CONFIG_WILC_MSG_QUEUE_TIMEOUT */
-/* #define CONFIG_WILC_FILE_OPERATIONS_FEATURE */
-/* #define CONFIG_WILC_FILE_OPERATIONS_STRING_API */
-/* #define CONFIG_WILC_FILE_OPERATIONS_PATH_API */
-#define CONFIG_WILC_TIME_FEATURE
-/* #define CONFIG_WILC_EVENT_FEATURE */
-/* #define CONFIG_WILC_EVENT_TIMEOUT */
-/* #define CONFIG_WILC_SOCKET_FEATURE */
-/* #define CONFIG_WILC_MATH_OPERATIONS_FEATURE */
-/* #define CONFIG_WILC_EXTENDED_FILE_OPERATIONS */
-/* #define CONFIG_WILC_EXTENDED_STRING_OPERATIONS */
-/* #define CONFIG_WILC_EXTENDED_TIME_OPERATIONS */
diff --git a/drivers/staging/wilc1000/wilc_oswrapper.h b/drivers/staging/wilc1000/wilc_oswrapper.h
index e50267ec1ef4..1999970635aa 100644
--- a/drivers/staging/wilc1000/wilc_oswrapper.h
+++ b/drivers/staging/wilc1000/wilc_oswrapper.h
@@ -46,21 +46,7 @@ typedef WILC_Uint16 WILC_WideChar;
 
 /* Os Configuration File */
 #include "wilc_osconfig.h"
-
-/* Platform specific include */
-#if WILC_PLATFORM == WILC_WIN32
-#include "wilc_platform.h"
-#elif WILC_PLATFORM == WILC_NU
-#include "wilc_platform.h"
-#elif WILC_PLATFORM == WILC_MTK
-#include "wilc_platform.h"
-#elif WILC_PLATFORM == WILC_LINUX
 #include "wilc_platform.h"
-#elif WILC_PLATFORM == WILC_LINUXKERNEL
-#include "wilc_platform.h"
-#else
-#error "OS not supported"
-#endif
 
 /* Logging Functions */
 #include "wilc_log.h"
@@ -68,66 +54,22 @@ typedef WILC_Uint16 WILC_WideChar;
 /* Error reporting and handling support */
 #include "wilc_errorsupport.h"
 
-/* Thread support */
-#ifdef CONFIG_WILC_THREAD_FEATURE
-#include "wilc_thread.h"
-#endif
-
 /* Semaphore support */
-#ifdef CONFIG_WILC_SEMAPHORE_FEATURE
 #include "wilc_semaphore.h"
-#endif
 
 /* Sleep support */
-#ifdef CONFIG_WILC_SLEEP_FEATURE
 #include "wilc_sleep.h"
-#endif
 
 /* Timer support */
-#ifdef CONFIG_WILC_TIMER_FEATURE
 #include "wilc_timer.h"
-#endif
 
 /* Memory support */
-#ifdef CONFIG_WILC_MEMORY_FEATURE
 #include "wilc_memory.h"
-#endif
 
 /* String Utilities */
-#ifdef CONFIG_WILC_STRING_UTILS
 #include "wilc_strutils.h"
-#endif
 
 /* Message Queue */
-#ifdef CONFIG_WILC_MSG_QUEUE_FEATURE
 #include "wilc_msgqueue.h"
-#endif
-
-/* File operations */
-#ifdef CONFIG_WILC_FILE_OPERATIONS_FEATURE
-#include "wilc_fileops.h"
-#endif
-
-/* Time operations */
-#ifdef CONFIG_WILC_TIME_FEATURE
-#include "wilc_time.h"
-#endif
-
-/* Event support */
-#ifdef CONFIG_WILC_EVENT_FEATURE
-#include "wilc_event.h"
-#endif
-
-/* Socket operations */
-#ifdef CONFIG_WILC_SOCKET_FEATURE
-#include "wilc_socket.h"
-#endif
-
-/* Math operations */
-#ifdef CONFIG_WILC_MATH_OPERATIONS_FEATURE
-#include "wilc_math.h"
-#endif
-
-
 
 #endif
diff --git a/drivers/staging/wilc1000/wilc_platform.h b/drivers/staging/wilc1000/wilc_platform.h
index 31d5034cb7fa..86b0b38c5f46 100644
--- a/drivers/staging/wilc1000/wilc_platform.h
+++ b/drivers/staging/wilc1000/wilc_platform.h
@@ -1,130 +1,6 @@
 #ifndef __WILC_platfrom_H__
 #define __WILC_platfrom_H__
 
-/*!
- *  @file	wilc_platform.h
- *  @brief	platform specific file for Linux port
- *  @author	syounan
- *  @sa		wilc_oswrapper.h top level OS wrapper file
- *  @date	15 Dec 2010
- *  @version	1.0
- */
-
-
-/******************************************************************
- *      Feature support checks
- *******************************************************************/
-
-/* CONFIG_WILC_THREAD_FEATURE is implemented */
-
-/* remove the following block when implementing its feature */
-#ifdef CONFIG_WILC_THREAD_SUSPEND_CONTROL
-#error This feature is not supported by this OS
-#endif
-
-/* remove the following block when implementing its feature */
-#ifdef CONFIG_WILC_THREAD_STRICT_PRIORITY
-#error This feature is not supported by this OS
-#endif
-
-/* CONFIG_WILC_SEMAPHORE_FEATURE is implemented */
-
-/* remove the following block when implementing its feature
- * #ifdef CONFIG_WILC_SEMAPHORE_TIMEOUT
- * #error This feature is not supported by this OS
- #endif*/
-
-/* CONFIG_WILC_SLEEP_FEATURE is implemented */
-
-/* remove the following block when implementing its feature */
-/* #ifdef CONFIG_WILC_SLEEP_HI_RES */
-/* #error This feature is not supported by this OS */
-/* #endif */
-
-/* CONFIG_WILC_TIMER_FEATURE is implemented */
-
-/* CONFIG_WILC_TIMER_PERIODIC is implemented */
-
-/* CONFIG_WILC_MEMORY_FEATURE is implemented */
-
-/* remove the following block when implementing its feature */
-#ifdef CONFIG_WILC_MEMORY_POOLS
-#error This feature is not supported by this OS
-#endif
-
-/* remove the following block when implementing its feature */
-#ifdef CONFIG_WILC_MEMORY_DEBUG
-#error This feature is not supported by this OS
-#endif
-
-/* remove the following block when implementing its feature */
-#ifdef CONFIG_WILC_ASSERTION_SUPPORT
-#error This feature is not supported by this OS
-#endif
-
-/* CONFIG_WILC_STRING_UTILS is implemented */
-
-/* CONFIG_WILC_MSG_QUEUE_FEATURE is implemented */
-
-/* remove the following block when implementing its feature */
-#ifdef CONFIG_WILC_MSG_QUEUE_IPC_NAME
-#error This feature is not supported by this OS
-#endif
-
-/* remove the following block when implementing its feature */
-/*#ifdef CONFIG_WILC_MSG_QUEUE_TIMEOUT
- * #error This feature is not supported by this OS
- #endif*/
-
-/* CONFIG_WILC_FILE_OPERATIONS_FEATURE is implemented */
-
-/* CONFIG_WILC_FILE_OPERATIONS_STRING_API is implemented */
-
-/* remove the following block when implementing its feature */
-#ifdef CONFIG_WILC_FILE_OPERATIONS_PATH_API
-#error This feature is not supported by this OS
-#endif
-
-/* CONFIG_WILC_TIME_FEATURE is implemented */
-
-/* remove the following block when implementing its feature */
-#ifdef CONFIG_WILC_TIME_UTC_SINCE_1970
-#error This feature is not supported by this OS
-#endif
-
-/* remove the following block when implementing its feature */
-#ifdef CONFIG_WILC_TIME_CALENDER
-#error This feature is not supported by this OS
-#endif
-
-/* remove the following block when implementing its feature */
-#ifdef CONFIG_WILC_EVENT_FEATURE
-#error This feature is not supported by this OS
-#endif
-
-/* remove the following block when implementing its feature */
-#ifdef CONFIG_WILC_EVENT_TIMEOUT
-#error This feature is not supported by this OS
-#endif
-
-/* CONFIG_WILC_MATH_OPERATIONS_FEATURE is implemented */
-
-/* CONFIG_WILC_EXTENDED_FILE_OPERATIONS is implemented */
-
-/* CONFIG_WILC_EXTENDED_STRING_OPERATIONS is implemented */
-
-/* CONFIG_WILC_EXTENDED_TIME_OPERATIONS is implemented */
-
-/* remove the following block when implementing its feature */
-#ifdef CONFIG_WILC_SOCKET_FEATURE
-#error This feature is not supported by this OS
-#endif
-
-/******************************************************************
- *      OS specific includes
- *******************************************************************/
-#define _XOPEN_SOURCE 600
-
 #include <linux/kthread.h>
 #include <linux/semaphore.h>
 #include <linux/module.h>
@@ -140,15 +16,10 @@
  *      OS specific types
  *******************************************************************/
 
-typedef struct task_struct *WILC_ThreadHandle;
-
-typedef void *WILC_MemoryPoolHandle;
 typedef struct semaphore WILC_SemaphoreHandle;
-
 typedef struct timer_list WILC_TimerHandle;
 
 
-
 /* Message Queue type is a structure */
 typedef struct __Message_struct {
 	void *pvBuffer;
diff --git a/drivers/staging/wilc1000/wilc_semaphore.c b/drivers/staging/wilc1000/wilc_semaphore.c
index 637107bfb877..f09a88ca6ae4 100644
--- a/drivers/staging/wilc1000/wilc_semaphore.c
+++ b/drivers/staging/wilc1000/wilc_semaphore.c
@@ -1,7 +1,5 @@
 
 #include "wilc_oswrapper.h"
-#ifdef CONFIG_WILC_SEMAPHORE_FEATURE
-
 
 WILC_ErrNo WILC_SemaphoreCreate(WILC_SemaphoreHandle *pHandle,
 				tstrWILC_SemaphoreAttrs *pstrAttrs)
@@ -33,19 +31,9 @@ WILC_ErrNo WILC_SemaphoreAcquire(WILC_SemaphoreHandle *pHandle,
 {
 	WILC_ErrNo s32RetStatus = WILC_SUCCESS;
 
-	#ifndef CONFIG_WILC_SEMAPHORE_TIMEOUT
 	while (down_interruptible(pHandle))
 		;
 
-	#else
-	if (pstrAttrs == WILC_NULL) {
-		down(pHandle);
-	} else {
-
-		s32RetStatus = down_timeout(pHandle, msecs_to_jiffies(pstrAttrs->u32TimeOut));
-	}
-	#endif
-
 	if (s32RetStatus == 0) {
 		return WILC_SUCCESS;
 	} else if (s32RetStatus == -ETIME)   {
@@ -66,5 +54,3 @@ WILC_ErrNo WILC_SemaphoreRelease(WILC_SemaphoreHandle *pHandle,
 	return WILC_SUCCESS;
 
 }
-
-#endif
diff --git a/drivers/staging/wilc1000/wilc_semaphore.h b/drivers/staging/wilc1000/wilc_semaphore.h
index 3006f9f20c4d..3c0ecc326fb3 100644
--- a/drivers/staging/wilc1000/wilc_semaphore.h
+++ b/drivers/staging/wilc1000/wilc_semaphore.h
@@ -10,11 +10,6 @@
  *  @version		1.0
  */
 
-
-#ifndef CONFIG_WILC_SEMAPHORE_FEATURE
-#error the feature WILC_OS_FEATURE_SEMAPHORE must be supported to include this file
-#endif
-
 /*!
  *  @struct             WILC_SemaphoreAttrs
  *  @brief		Semaphore API options
@@ -28,14 +23,6 @@ typedef struct {
 	 */
 	WILC_Uint32 u32InitCount;
 
-	#ifdef CONFIG_WILC_SEMAPHORE_TIMEOUT
-	/*!<
-	 * Timeout for use with WILC_SemaphoreAcquire, 0 to return immediately and
-	 * WILC_OS_INFINITY to wait forever. default is WILC_OS_INFINITY
-	 */
-	WILC_Uint32 u32TimeOut;
-	#endif
-
 } tstrWILC_SemaphoreAttrs;
 
 
@@ -47,12 +34,9 @@ typedef struct {
  *  @date	10 Aug 2010
  *  @version	1.0
  */
-static void WILC_SemaphoreFillDefault(tstrWILC_SemaphoreAttrs *pstrAttrs)
+static inline void WILC_SemaphoreFillDefault(tstrWILC_SemaphoreAttrs *pstrAttrs)
 {
 	pstrAttrs->u32InitCount = 1;
-	#ifdef CONFIG_WILC_SEMAPHORE_TIMEOUT
-	pstrAttrs->u32TimeOut = WILC_OS_INFINITY;
-	#endif
 }
 /*!
  *  @brief	Creates a new Semaphore object
diff --git a/drivers/staging/wilc1000/wilc_sleep.c b/drivers/staging/wilc1000/wilc_sleep.c
index 368157175f40..98a079f3d6c9 100644
--- a/drivers/staging/wilc1000/wilc_sleep.c
+++ b/drivers/staging/wilc1000/wilc_sleep.c
@@ -1,8 +1,6 @@
 
 #include "wilc_oswrapper.h"
 
-#ifdef CONFIG_WILC_SLEEP_FEATURE
-
 /*
  *  @author	mdaftedar
  *  @date	10 Aug 2010
@@ -12,25 +10,9 @@ void WILC_Sleep(WILC_Uint32 u32TimeMilliSec)
 {
 	if (u32TimeMilliSec <= 4000000)	{
 		WILC_Uint32 u32Temp = u32TimeMilliSec * 1000;
-#if LINUX_VERSION_CODE > KERNEL_VERSION(2, 6, 35)
 		usleep_range(u32Temp, u32Temp);
-#else
-		udelay(u32Temp);
-#endif
 	} else {
 		msleep(u32TimeMilliSec);
 	}
 
 }
-#endif
-
-/* #ifdef CONFIG_WILC_SLEEP_HI_RES */
-void WILC_SleepMicrosec(WILC_Uint32 u32TimeMicoSec)
-{
-	#if LINUX_VERSION_CODE > KERNEL_VERSION(2, 6, 35)
-	usleep_range(u32TimeMicoSec, u32TimeMicoSec);
-	#else
-	udelay(u32TimeMicoSec);
-	#endif
-}
-/* #endif */
diff --git a/drivers/staging/wilc1000/wilc_sleep.h b/drivers/staging/wilc1000/wilc_sleep.h
index d640fb553aca..2865c8e44346 100644
--- a/drivers/staging/wilc1000/wilc_sleep.h
+++ b/drivers/staging/wilc1000/wilc_sleep.h
@@ -2,19 +2,6 @@
 #define __WILC_SLEEP_H__
 
 /*!
- *  @file		wilc_sleep.h
- *  @brief		Sleep OS Wrapper functionality
- *  @author		syounan
- *  @sa			wilc_oswrapper.h top level OS wrapper file
- *  @date		10 Aug 2010
- *  @version		1.0
- */
-
-#ifndef CONFIG_WILC_SLEEP_FEATURE
-#error the feature WILC_OS_FEATURE_SLEEP must be supported to include this file
-#endif
-
-/*!
  *  @brief	forces the current thread to sleep until the given time has elapsed
  *  @param[in]	u32TimeMilliSec Time to sleep in Milli seconds
  *  @sa		WILC_SleepMicrosec
@@ -24,22 +11,7 @@
  *  @note	This function offers a relatively innacurate and low resolution
  *              sleep, for accurate high resolution sleep use u32TimeMicoSec
  */
+/* TODO: remove and open-code in callers */
 void WILC_Sleep(WILC_Uint32 u32TimeMilliSec);
 
-#ifdef CONFIG_WILC_SLEEP_HI_RES
-/*!
- *  @brief	forces the current thread to sleep until the given time has elapsed
- *  @param[in]	u32TimeMicoSec Time to sleep in Micro seconds
- *  @sa		WILC_Sleep
- *  @author	syounan
- *  @date	10 Aug 2010
- *  @version	1.0
- *  @note	This function offers an acurare high resolution sleep, depends on
- *              the feature WILC_OS_FEATURE_SLEEP_HI_RES and may not be supported
- *              on all Operating Systems
- */
-void WILC_SleepMicrosec(WILC_Uint32 u32TimeMicoSec);
-#endif
-
-
 #endif
diff --git a/drivers/staging/wilc1000/wilc_strutils.c b/drivers/staging/wilc1000/wilc_strutils.c
index 9e525d56feb8..f452fc57f71d 100644
--- a/drivers/staging/wilc1000/wilc_strutils.c
+++ b/drivers/staging/wilc1000/wilc_strutils.c
@@ -3,8 +3,6 @@
 
 #include "wilc_oswrapper.h"
 
-#ifdef CONFIG_WILC_STRING_UTILS
-
 
 /*!
  *  @author	syounan
@@ -42,50 +40,12 @@ void *WILC_memset(void *pvTarget, WILC_Uint8 u8SetValue, WILC_Uint32 u32Count)
  *  @date	18 Aug 2010
  *  @version	1.0
  */
-WILC_Char *WILC_strncat(WILC_Char *pcTarget, const WILC_Char *pcSource,
-			WILC_Uint32 u32Count)
-{
-	return strncat(pcTarget, pcSource, u32Count);
-}
-
-/*!
- *  @author	syounan
- *  @date	18 Aug 2010
- *  @version	1.0
- */
 WILC_Char *WILC_strncpy(WILC_Char *pcTarget, const WILC_Char *pcSource,
 			WILC_Uint32 u32Count)
 {
 	return strncpy(pcTarget, pcSource, u32Count);
 }
 
-/*!
- *  @author	syounan
- *  @date	18 Aug 2010
- *  @version	1.0
- */
-WILC_Sint32 WILC_strcmp(const WILC_Char *pcStr1, const WILC_Char *pcStr2)
-{
-	WILC_Sint32 s32Result;
-
-	if (pcStr1 == WILC_NULL && pcStr2 == WILC_NULL)	{
-		s32Result = 0;
-	} else if (pcStr1 == WILC_NULL)	   {
-		s32Result = -1;
-	} else if (pcStr2 == WILC_NULL)	   {
-		s32Result = 1;
-	} else {
-		s32Result = strcmp(pcStr1, pcStr2);
-		if (s32Result < 0) {
-			s32Result = -1;
-		} else if (s32Result > 0)    {
-			s32Result = 1;
-		}
-	}
-
-	return s32Result;
-}
-
 WILC_Sint32 WILC_strncmp(const WILC_Char *pcStr1, const WILC_Char *pcStr2,
 			 WILC_Uint32 u32Count)
 {
@@ -109,108 +69,6 @@ WILC_Sint32 WILC_strncmp(const WILC_Char *pcStr1, const WILC_Char *pcStr2,
 	return s32Result;
 }
 
-/*
- *  @author	syounan
- *  @date	1 Nov 2010
- *  @version	2.0
- */
-WILC_Sint32 WILC_strcmp_IgnoreCase(const WILC_Char *pcStr1, const WILC_Char *pcStr2)
-{
-	WILC_Sint32 s32Result;
-
-	if (pcStr1 == WILC_NULL && pcStr2 == WILC_NULL)	{
-		s32Result = 0;
-	} else if (pcStr1 == WILC_NULL)	   {
-		s32Result = -1;
-	} else if (pcStr2 == WILC_NULL)	   {
-		s32Result = 1;
-	} else {
-		WILC_Char cTestedChar1, cTestedChar2;
-		do {
-			cTestedChar1 = *pcStr1;
-			if ((*pcStr1 >= 'a') && (*pcStr1 <= 'z')) {
-				/* turn a lower case character to an upper case one */
-				cTestedChar1 -= 32;
-			}
-
-			cTestedChar2 = *pcStr2;
-			if ((*pcStr2 >= 'a') && (*pcStr2 <= 'z')) {
-				/* turn a lower case character to an upper case one */
-				cTestedChar2 -= 32;
-			}
-
-			pcStr1++;
-			pcStr2++;
-
-		} while ((cTestedChar1 == cTestedChar2)
-			 && (cTestedChar1 != 0)
-			 && (cTestedChar2 != 0));
-
-		if (cTestedChar1 > cTestedChar2) {
-			s32Result = 1;
-		} else if (cTestedChar1 < cTestedChar2)	   {
-			s32Result = -1;
-		} else {
-			s32Result = 0;
-		}
-	}
-
-	return s32Result;
-}
-
-/*!
- *  @author	aabozaeid
- *  @date	8 Dec 2010
- *  @version	1.0
- */
-WILC_Sint32 WILC_strncmp_IgnoreCase(const WILC_Char *pcStr1, const WILC_Char *pcStr2,
-				    WILC_Uint32 u32Count)
-{
-	WILC_Sint32 s32Result;
-
-	if (pcStr1 == WILC_NULL && pcStr2 == WILC_NULL)	{
-		s32Result = 0;
-	} else if (pcStr1 == WILC_NULL)	   {
-		s32Result = -1;
-	} else if (pcStr2 == WILC_NULL)	   {
-		s32Result = 1;
-	} else {
-		WILC_Char cTestedChar1, cTestedChar2;
-		do {
-			cTestedChar1 = *pcStr1;
-			if ((*pcStr1 >= 'a') && (*pcStr1 <= 'z')) {
-				/* turn a lower case character to an upper case one */
-				cTestedChar1 -= 32;
-			}
-
-			cTestedChar2 = *pcStr2;
-			if ((*pcStr2 >= 'a') && (*pcStr2 <= 'z')) {
-				/* turn a lower case character to an upper case one */
-				cTestedChar2 -= 32;
-			}
-
-			pcStr1++;
-			pcStr2++;
-			u32Count--;
-
-		} while ((u32Count > 0)
-			 && (cTestedChar1 == cTestedChar2)
-			 && (cTestedChar1 != 0)
-			 && (cTestedChar2 != 0));
-
-		if (cTestedChar1 > cTestedChar2) {
-			s32Result = 1;
-		} else if (cTestedChar1 < cTestedChar2)	   {
-			s32Result = -1;
-		} else {
-			s32Result = 0;
-		}
-	}
-
-	return s32Result;
-
-}
-
 /*!
  *  @author	syounan
  *  @date	18 Aug 2010
@@ -220,212 +78,3 @@ WILC_Uint32 WILC_strlen(const WILC_Char *pcStr)
 {
 	return (WILC_Uint32)strlen(pcStr);
 }
-
-/*!
- *  @author	bfahmy
- *  @date	28 Aug 2010
- *  @version	1.0
- */
-WILC_Sint32 WILC_strtoint(const WILC_Char *pcStr)
-{
-	return (WILC_Sint32)(simple_strtol(pcStr, NULL, 10));
-}
-
-/*
- *  @author	syounan
- *  @date	1 Nov 2010
- *  @version	2.0
- */
-WILC_ErrNo WILC_snprintf(WILC_Char *pcTarget, WILC_Uint32 u32Size,
-			 const WILC_Char *pcFormat, ...)
-{
-	va_list argptr;
-	va_start(argptr, pcFormat);
-	if (vsnprintf(pcTarget, u32Size, pcFormat, argptr) < 0)	{
-		/* if turncation happens windows does not properly terminate strings */
-		pcTarget[u32Size - 1] = 0;
-	}
-	va_end(argptr);
-
-	/* I find no sane way of detecting errors in windows, so let it all succeed ! */
-	return WILC_SUCCESS;
-}
-
-#ifdef CONFIG_WILC_EXTENDED_STRING_OPERATIONS
-
-/**
- *  @brief
- *  @details    Searches for the first occurrence of the character c in the first n bytes
- *                              of the string pointed to by the argument str.
- *                              Returns a pointer pointing to the first matching character,
- *                              or null if no match was found.
- *  @param[in]
- *  @return
- *  @note
- *  @author		remil
- *  @date		3 Nov 2010
- *  @version		1.0
- */
-WILC_Char *WILC_memchr(const void *str, WILC_Char c, WILC_Sint32 n)
-{
-	return (WILC_Char *) memchr(str, c, (size_t)n);
-}
-
-/**
- *  @brief
- *  @details    Searches for the first occurrence of the character c (an unsigned char)
- *                              in the string pointed to by the argument str.
- *                              The terminating null character is considered to be part of the string.
- *                              Returns a pointer pointing to the first matching character,
- *                              or null if no match was found.
- *  @param[in]
- *  @return
- *  @note
- *  @author		remil
- *  @date		3 Nov 2010
- *  @version		1.0
- */
-WILC_Char *WILC_strchr(const WILC_Char *str, WILC_Char c)
-{
-	return strchr(str, c);
-}
-
-/**
- *  @brief
- *  @details    Appends the string pointed to by str2 to the end of the string pointed to by str1.
- *                              The terminating null character of str1 is overwritten.
- *                              Copying stops once the terminating null character of str2 is copied. If overlapping occurs, the result is undefined.
- *                              The argument str1 is returned.
- *  @param[in]  WILC_Char* str1,
- *  @param[in]  WILC_Char* str2,
- *  @return             WILC_Char*
- *  @note
- *  @author		remil
- *  @date		3 Nov 2010
- *  @version		1.0
- */
-WILC_Char *WILC_strcat(WILC_Char *str1, const WILC_Char *str2)
-{
-	return strcat(str1, str2);
-}
-
-/**
- *  @brief
- *  @details    Copy pcSource to pcTarget
- *  @param[in]  WILC_Char* pcTarget
- *  @param[in]  const WILC_Char* pcSource
- *  @return             WILC_Char*
- *  @note
- *  @author		remil
- *  @date		3 Nov 2010
- *  @version		1.0
- */
-WILC_Char *WILC_strcpy(WILC_Char *pcTarget, const WILC_Char *pcSource)
-{
-	return strncpy(pcTarget, pcSource, strlen(pcSource));
-}
-
-/**
- *  @brief
- *  @details    Finds the first sequence of characters in the string str1 that
- *                              does not contain any character specified in str2.
- *                              Returns the length of this first sequence of characters found that
- *                              do not match with str2.
- *  @param[in]  const WILC_Char *str1
- *  @param[in]  const WILC_Char *str2
- *  @return             WILC_Uint32
- *  @note
- *  @author		remil
- *  @date		3 Nov 2010
- *  @version		1.0
- */
-WILC_Uint32 WILC_strcspn(const WILC_Char *str1, const WILC_Char *str2)
-{
-	return (WILC_Uint32)strcspn(str1, str2);
-}
-#if 0
-/**
- *  @brief
- *  @details    Searches an internal array for the error number errnum and returns a pointer
- *                              to an error message string.
- *                              Returns a pointer to an error message string.
- *  @param[in]  WILC_Sint32 errnum
- *  @return             WILC_Char*
- *  @note
- *  @author		remil
- *  @date		3 Nov 2010
- *  @version		1.0
- */
-WILC_Char *WILC_strerror(WILC_Sint32 errnum)
-{
-	return strerror(errnum);
-}
-#endif
-
-/**
- *  @brief
- *  @details    Finds the first occurrence of the entire string str2
- *                              (not including the terminating null character) which appears in the string str1.
- *                              Returns a pointer to the first occurrence of str2 in str1.
- *                              If no match was found, then a null pointer is returned.
- *                              If str2 points to a string of zero length, then the argument str1 is returned.
- *  @param[in]  const WILC_Char *str1
- *  @param[in]  const WILC_Char *str2
- *  @return             WILC_Char*
- *  @note
- *  @author		remil
- *  @date		3 Nov 2010
- *  @version		1.0
- */
-WILC_Char *WILC_strstr(const WILC_Char *str1, const WILC_Char *str2)
-{
-	return strstr(str1, str2);
-}
-#if 0
-/**
- *  @brief
- *  @details    Parses the C string str interpreting its content as a floating point
- *                              number and returns its value as a double.
- *                              If endptr is not a null pointer, the function also sets the value pointed
- *                              by endptr to point to the first character after the number.
- *  @param[in]  const WILC_Char* str
- *  @param[in]  WILC_Char** endptr
- *  @return             WILC_Double
- *  @note
- *  @author		remil
- *  @date		11 Nov 2010
- *  @version		1.0
- */
-WILC_Double WILC_StringToDouble(const WILC_Char *str, WILC_Char **endptr)
-{
-	return strtod (str, endptr);
-}
-#endif
-
-/**
- *  @brief              Parses the C string str interpreting its content as an unsigned integral
- *                              number of the specified base, which is returned as an unsigned long int value.
- *  @details    The function first discards as many whitespace characters as necessary
- *                              until the first non-whitespace character is found.
- *                              Then, starting from this character, takes as many characters as possible
- *                              that are valid following a syntax that depends on the base parameter,
- *                              and interprets them as a numerical value.
- *                              Finally, a pointer to the first character following the integer
- *                              representation in str is stored in the object pointed by endptr.
- *  @param[in]  const WILC_Char *str
- *  @param[in]	WILC_Char **endptr
- *  @param[in]	WILC_Sint32 base
- *  @return             WILC_Uint32
- *  @note
- *  @author		remil
- *  @date		11 Nov 2010
- *  @version		1.0
- */
-WILC_Uint32 WILC_StringToUint32(const WILC_Char *str, WILC_Char **endptr, WILC_Sint32 base)
-{
-	return simple_strtoul(str, endptr, base);
-}
-
-#endif
-
-#endif
diff --git a/drivers/staging/wilc1000/wilc_strutils.h b/drivers/staging/wilc1000/wilc_strutils.h
index 3a973a5ec61b..400e37a19b91 100644
--- a/drivers/staging/wilc1000/wilc_strutils.h
+++ b/drivers/staging/wilc1000/wilc_strutils.h
@@ -10,10 +10,6 @@
  *  @version	1.0
  */
 
-#ifndef CONFIG_WILC_STRING_UTILS
-#error the feature CONFIG_WILC_STRING_UTILS must be supported to include this file
-#endif
-
 /*!
  *  @brief	Compares two memory buffers
  *  @param[in]	pvArg1 pointer to the first memory location
@@ -54,7 +50,7 @@ void WILC_memcpy_INTERNAL(void *pvTarget, const void *pvSource, WILC_Uint32 u32C
  *  @date	18 Aug 2010
  *  @version	1.0
  */
-static WILC_ErrNo WILC_memcpy(void *pvTarget, const void *pvSource, WILC_Uint32 u32Count)
+static inline WILC_ErrNo WILC_memcpy(void *pvTarget, const void *pvSource, WILC_Uint32 u32Count)
 {
 	if (
 		(((WILC_Uint8 *)pvTarget <= (WILC_Uint8 *)pvSource)
@@ -85,22 +81,6 @@ static WILC_ErrNo WILC_memcpy(void *pvTarget, const void *pvSource, WILC_Uint32
 void *WILC_memset(void *pvTarget, WILC_Uint8 u8SetValue, WILC_Uint32 u32Count);
 
 /*!
- *  @brief	Concatenates the contents of 2 strings up to a given count
- *  @param[in]	pcTarget the target string, its null character will be overwritten
- *              and contents of pcSource will be concatentaed to it
- *  @param[in]	pcSource the source string the will be concatentaed
- *  @param[in]	u32Count copying will proceed until a null character in pcSource
- *              is encountered or u32Count of bytes copied
- *  @return	value of pcTarget
- *  @note	this function repeats the functionality of standard strncat
- *  @author	syounan
- *  @date	18 Aug 2010
- *  @version	1.0
- */
-WILC_Char *WILC_strncat(WILC_Char *pcTarget, const WILC_Char *pcSource,
-			WILC_Uint32 u32Count);
-
-/*!
  *  @brief	copies the contents of source string into the target string
  *  @param[in]	pcTarget the target string buffer
  *  @param[in]	pcSource the source string the will be copied
@@ -116,24 +96,6 @@ WILC_Char *WILC_strncpy(WILC_Char *pcTarget, const WILC_Char *pcSource,
 			WILC_Uint32 u32Count);
 
 /*!
- *  @brief	Compares two strings
- *  @details	Compares 2 strings reporting which is bigger, WILC_NULL is considered
- *              the smallest string, then a zero length string then all other
- *              strings depending on thier ascii characters order
- *  @param[in]	pcStr1 the first string, WILC_NULL is valid and considered smaller
- *              than any other non-NULL string (incliding zero lenght strings)
- *  @param[in]	pcStr2 the second string, WILC_NULL is valid and considered smaller
- *              than any other non-NULL string (incliding zero lenght strings)
- *  @return	0 if the 2 strings are equal, 1 if pcStr1 is bigger than pcStr2,
- *              -1 if pcStr1 smaller than pcStr2
- *  @note	this function repeats the functionality of standard strcmp
- *  @author	syounan
- *  @date	18 Aug 2010
- *  @version	1.0
- */
-WILC_Sint32 WILC_strcmp(const WILC_Char *pcStr1, const WILC_Char *pcStr2);
-
-/*!
  *  @brief	Compares two strings up to u32Count characters
  *  @details	Compares 2 strings reporting which is bigger, WILC_NULL is considered
  *              the smallest string, then a zero length string then all other
@@ -155,46 +117,6 @@ WILC_Sint32 WILC_strncmp(const WILC_Char *pcStr1, const WILC_Char *pcStr2,
 			 WILC_Uint32 u32Count);
 
 /*!
- *  @brief	Compares two strings ignoring the case of its latin letters
- *  @details	Compares 2 strings reporting which is bigger, WILC_NULL is considered
- *              the smallest string, then a zero length string then all other
- *              strings depending on thier ascii characters order with small case
- *              converted to uppder case
- *  @param[in]	pcStr1 the first string, WILC_NULL is valid and considered smaller
- *              than any other non-NULL string (incliding zero lenght strings)
- *  @param[in]	pcStr2 the second string, WILC_NULL is valid and considered smaller
- *              than any other non-NULL string (incliding zero lenght strings)
- *  @return	0 if the 2 strings are equal, 1 if pcStr1 is bigger than pcStr2,
- *              -1 if pcStr1 smaller than pcStr2
- *  @author	syounan
- *  @date	1 Nov 2010
- *  @version	2.0
- */
-WILC_Sint32 WILC_strcmp_IgnoreCase(const WILC_Char *pcStr1, const WILC_Char *pcStr2);
-
-/*!
- *  @brief	Compares two strings ignoring the case of its latin letters up to
- *		u32Count characters
- *  @details	Compares 2 strings reporting which is bigger, WILC_NULL is considered
- *              the smallest string, then a zero length string then all other
- *              strings depending on thier ascii characters order with small case
- *              converted to uppder case
- *  @param[in]	pcStr1 the first string, WILC_NULL is valid and considered smaller
- *              than any other non-NULL string (incliding zero lenght strings)
- *  @param[in]	pcStr2 the second string, WILC_NULL is valid and considered smaller
- *              than any other non-NULL string (incliding zero lenght strings)
- *  @param[in]	u32Count copying will proceed until a null character in pcStr1 or
- *              pcStr2 is encountered or u32Count of bytes copied
- *  @return	0 if the 2 strings are equal, 1 if pcStr1 is bigger than pcStr2,
- *              -1 if pcStr1 smaller than pcStr2
- *  @author	aabozaeid
- *  @date	7 Dec 2010
- *  @version	1.0
- */
-WILC_Sint32 WILC_strncmp_IgnoreCase(const WILC_Char *pcStr1, const WILC_Char *pcStr2,
-				    WILC_Uint32 u32Count);
-
-/*!
  *  @brief	gets the length of a string
  *  @param[in]	pcStr the string
  *  @return	the length
@@ -205,208 +127,4 @@ WILC_Sint32 WILC_strncmp_IgnoreCase(const WILC_Char *pcStr1, const WILC_Char *pc
  */
 WILC_Uint32 WILC_strlen(const WILC_Char *pcStr);
 
-/*!
- *  @brief	convert string to integer
- *  @param[in]	pcStr the string
- *  @return	the value of string
- *  @note	this function repeats the functionality of the libc atoi
- *  @author	bfahmy
- *  @date	28 Aug 2010
- *  @version	1.0
- */
-WILC_Sint32 WILC_strtoint(const WILC_Char *pcStr);
-
-/*!
- *  @brief	print a formatted string into a buffer
- *  @param[in]	pcTarget the buffer where the resulting string is written
- *  @param[in]	u32Size size of the output beffer including the \0 terminating
- *              character
- *  @param[in]	pcFormat format of the string
- *  @return	number of character written or would have been written if the
- *              string were not truncated
- *  @note	this function repeats the functionality of standard snprintf
- *  @author	syounan
- *  @date	1 Nov 2010
- *  @version	2.0
- */
-WILC_Sint32 WILC_snprintf(WILC_Char *pcTarget, WILC_Uint32 u32Size,
-			  const WILC_Char *pcFormat, ...);
-
-
-#ifdef CONFIG_WILC_EXTENDED_STRING_OPERATIONS
-
-
-/**
- *  @brief
- *  @details    Searches for the first occurrence of the character c in the first n bytes
- *                              of the string pointed to by the argument str.
- *                              Returns a pointer pointing to the first matching character,
- *                              or null if no match was found.
- *  @param[in]
- *  @return
- *  @note
- *  @author		remil
- *  @date		3 Nov 2010
- *  @version		1.0
- */
-WILC_Char *WILC_memchr(const void *str, WILC_Char c, WILC_Sint32 n);
-
-/**
- *  @brief
- *  @details    Searches for the first occurrence of the character c (an unsigned char)
- *                              in the string pointed to by the argument str.
- *                              The terminating null character is considered to be part of the string.
- *                              Returns a pointer pointing to the first matching character,
- *                              or null if no match was found.
- *  @param[in]
- *  @return
- *  @note
- *  @author		remil
- *  @date		3 Nov 2010
- *  @version		1.0
- */
-WILC_Char *WILC_strchr(const WILC_Char *str, WILC_Char c);
-
-/**
- *  @brief
- *  @details    Appends the string pointed to by str2 to the end of the string pointed to by str1.
- *                              The terminating null character of str1 is overwritten.
- *                              Copying stops once the terminating null character of str2 is copied. If overlapping occurs, the result is undefined.
- *                              The argument str1 is returned.
- *  @param[in]  WILC_Char* str1,
- *  @param[in]  WILC_Char* str2,
- *  @return             WILC_Char*
- *  @note
- *  @author		remil
- *  @date		3 Nov 2010
- *  @version		1.0
- */
-WILC_Char *WILC_strcat(WILC_Char *str1, const WILC_Char *str2);
-
-
-/**
- *  @brief
- *  @details    Copy pcSource to pcTarget
- *  @param[in]  WILC_Char* pcTarget
- *  @param[in]  const WILC_Char* pcSource
- *  @return             WILC_Char*
- *  @note
- *  @author		remil
- *  @date		3 Nov 2010
- *  @version		1.0
- */
-WILC_Char *WILC_strcpy(WILC_Char *pcTarget, const WILC_Char *pcSource);
-
-
-
-/**
- *  @brief
- *  @details    Finds the first sequence of characters in the string str1 that
- *                              does not contain any character specified in str2.
- *                              Returns the length of this first sequence of characters found that
- *                              do not match with str2.
- *  @param[in]  const WILC_Char *str1
- *  @param[in]  const WILC_Char *str2
- *  @return             WILC_Uint32
- *  @note
- *  @author		remil
- *  @date		3 Nov 2010
- *  @version		1.0
- */
-WILC_Uint32 WILC_strcspn(const WILC_Char *str1, const WILC_Char *str2);
-
-
-/**
- *  @brief
- *  @details    Searches an internal array for the error number errnum and returns a pointer
- *                              to an error message string.
- *                              Returns a pointer to an error message string.
- *  @param[in]  WILC_Sint32 errnum
- *  @return             WILC_Char*
- *  @note
- *  @author		remil
- *  @date		3 Nov 2010
- *  @version		1.0
- */
-WILC_Char *WILC_strerror(WILC_Sint32 errnum);
-
-/**
- *  @brief
- *  @details    Finds the first occurrence of the entire string str2
- *                              (not including the terminating null character) which appears in the string str1.
- *                              Returns a pointer to the first occurrence of str2 in str1.
- *                              If no match was found, then a null pointer is returned.
- *                              If str2 points to a string of zero length, then the argument str1 is returned.
- *  @param[in]  const WILC_Char *str1
- *  @param[in]  const WILC_Char *str2
- *  @return             WILC_Char*
- *  @note
- *  @author		remil
- *  @date		3 Nov 2010
- *  @version		1.0
- */
-WILC_Char *WILC_strstr(const WILC_Char *str1, const WILC_Char *str2);
-
-/**
- *  @brief
- *  @details    Searches for the first occurrence of the character c (an unsigned char)
- *                              in the string pointed to by the argument str.
- *                              The terminating null character is considered to be part of the string.
- *                              Returns a pointer pointing to the first matching character,
- *                              or null if no match was found.
- *  @param[in]
- *  @return
- *  @note
- *  @author		remil
- *  @date		3 Nov 2010
- *  @version		1.0
- */
-WILC_Char *WILC_strchr(const WILC_Char *str, WILC_Char c);
-
-
-/**
- *  @brief
- *  @details    Parses the C string str interpreting its content as a floating point
- *                              number and returns its value as a double.
- *                              If endptr is not a null pointer, the function also sets the value pointed
- *                              by endptr to point to the first character after the number.
- *  @param[in]  const WILC_Char* str
- *  @param[in]  WILC_Char** endptr
- *  @return             WILC_Double
- *  @note
- *  @author		remil
- *  @date		11 Nov 2010
- *  @version		1.0
- */
-WILC_Double WILC_StringToDouble(const WILC_Char *str,
-				WILC_Char **endptr);
-
-
-/**
- *  @brief              Parses the C string str interpreting its content as an unsigned integral
- *                              number of the specified base, which is returned as an unsigned long int value.
- *  @details    The function first discards as many whitespace characters as necessary
- *                              until the first non-whitespace character is found.
- *                              Then, starting from this character, takes as many characters as possible
- *                              that are valid following a syntax that depends on the base parameter,
- *                              and interprets them as a numerical value.
- *                              Finally, a pointer to the first character following the integer
- *                              representation in str is stored in the object pointed by endptr.
- *  @param[in]  const WILC_Char *str
- *  @param[in]	WILC_Char **endptr
- *  @param[in]	WILC_Sint32 base
- *  @return             WILC_Uint32
- *  @note
- *  @author		remil
- *  @date		11 Nov 2010
- *  @version		1.0
- */
-WILC_Uint32 WILC_StringToUint32(const WILC_Char *str,
-				WILC_Char **endptr,
-				WILC_Sint32 base);
-
-
-
-#endif
-
 #endif
diff --git a/drivers/staging/wilc1000/wilc_thread.c b/drivers/staging/wilc1000/wilc_thread.c
deleted file mode 100644
index 5eb04e839309..000000000000
diff --git a/drivers/staging/wilc1000/wilc_thread.h b/drivers/staging/wilc1000/wilc_thread.h
deleted file mode 100644
index c862cd544dd4..000000000000
diff --git a/drivers/staging/wilc1000/wilc_time.c b/drivers/staging/wilc1000/wilc_time.c
deleted file mode 100644
index 27c252b462ac..000000000000
diff --git a/drivers/staging/wilc1000/wilc_time.h b/drivers/staging/wilc1000/wilc_time.h
deleted file mode 100644
index 787df7ded75c..000000000000
diff --git a/drivers/staging/wilc1000/wilc_timer.c b/drivers/staging/wilc1000/wilc_timer.c
index 477986dcff0a..7d2e6f19c00b 100644
--- a/drivers/staging/wilc1000/wilc_timer.c
+++ b/drivers/staging/wilc1000/wilc_timer.c
@@ -1,10 +1,6 @@
 
 #include "wilc_oswrapper.h"
 
-#ifdef CONFIG_WILC_TIMER_FEATURE
-
-
-
 WILC_ErrNo WILC_TimerCreate(WILC_TimerHandle *pHandle,
 	tpfWILC_TimerFunction pfCallback, tstrWILC_TimerAttrs *pstrAttrs)
 {
@@ -47,5 +43,3 @@ WILC_ErrNo WILC_TimerStop(WILC_TimerHandle *pHandle,
 
 	return s32RetStatus;
 }
-
-#endif
diff --git a/drivers/staging/wilc1000/wilc_timer.h b/drivers/staging/wilc1000/wilc_timer.h
index 1080ce24a045..41c6784ab8e1 100644
--- a/drivers/staging/wilc1000/wilc_timer.h
+++ b/drivers/staging/wilc1000/wilc_timer.h
@@ -10,10 +10,6 @@
  *  @version	1.0
  */
 
-#ifndef CONFIG_WILC_TIMER_FEATURE
-#error the feature CONFIG_WILC_TIMER_FEATURE must be supported to include this file
-#endif
-
 typedef void (*tpfWILC_TimerFunction)(void *);
 
 /*!
@@ -24,34 +20,11 @@ typedef void (*tpfWILC_TimerFunction)(void *);
  *  @version		1.0
  */
 typedef struct {
-	/*!< if set to WILC_TRUE the callback function will be called
-	 * periodically. */
-	#ifdef CONFIG_WILC_TIMER_PERIODIC
-	WILC_Bool bPeriodicTimer;
-	#endif
-
 	/* a dummy member to avoid compiler errors*/
 	WILC_Uint8 dummy;
 } tstrWILC_TimerAttrs;
 
 /*!
- *  @brief	Fills the WILC_TimerAttrs with default parameters
- *  @param[out]	pstrAttrs structure to be filled
- *  @sa		WILC_TimerAttrs
- *  @author	syounan
- *  @date	16 Aug 2010
- *  @version	1.0
- */
-
-static void WILC_TimerFillDefault(tstrWILC_TimerAttrs *pstrAttrs)
-{
-	#ifdef CONFIG_WILC_TIMER_PERIODIC
-	pstrAttrs->bPeriodicTimer = WILC_FALSE;
-	#endif
-}
-
-
-/*!
  *  @brief	Creates a new timer
  *  @details	Timers are a useful utility to execute some callback function
  *              in the future.
diff --git a/drivers/staging/wilc1000/wilc_wfi_cfgoperations.c b/drivers/staging/wilc1000/wilc_wfi_cfgoperations.c
index 648472925de0..c1d511825147 100644
--- a/drivers/staging/wilc1000/wilc_wfi_cfgoperations.c
+++ b/drivers/staging/wilc1000/wilc_wfi_cfgoperations.c
@@ -126,9 +126,7 @@ static struct ieee80211_supported_band WILC_WFI_band_2ghz = {
 /*BugID_5137*/
 struct add_key_params {
 	u8 key_idx;
-	#if LINUX_VERSION_CODE > KERNEL_VERSION(2, 6, 36)
 	bool pairwise;
-	#endif
 	u8 *mac_addr;
 };
 struct add_key_params g_add_gtk_key_params;
@@ -202,30 +200,15 @@ void refresh_scan(void *pUserVoid, uint8_t all, WILC_Bool bDirectScan)
 
 			if (pstrNetworkInfo != WILC_NULL) {
 
-				#if LINUX_VERSION_CODE > KERNEL_VERSION(2, 6, 38)
 				s32Freq = ieee80211_channel_to_frequency((WILC_Sint32)pstrNetworkInfo->u8channel, IEEE80211_BAND_2GHZ);
-				#else
-				s32Freq = ieee80211_channel_to_frequency((WILC_Sint32)pstrNetworkInfo->u8channel);
-				#endif
-
 				channel = ieee80211_get_channel(wiphy, s32Freq);
 
 				rssi = get_rssi_avg(pstrNetworkInfo);
 				if (WILC_memcmp("DIRECT-", pstrNetworkInfo->au8ssid, 7) || bDirectScan)	{
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 18, 0)
 					bss = cfg80211_inform_bss(wiphy, channel, CFG80211_BSS_FTYPE_UNKNOWN, pstrNetworkInfo->au8bssid, pstrNetworkInfo->u64Tsf, pstrNetworkInfo->u16CapInfo,
 								  pstrNetworkInfo->u16BeaconPeriod, (const u8 *)pstrNetworkInfo->pu8IEs,
 								  (size_t)pstrNetworkInfo->u16IEsLen, (((WILC_Sint32)rssi) * 100), GFP_KERNEL);
-#else
-					bss = cfg80211_inform_bss(wiphy, channel, pstrNetworkInfo->au8bssid, pstrNetworkInfo->u64Tsf, pstrNetworkInfo->u16CapInfo,
-								  pstrNetworkInfo->u16BeaconPeriod, (const u8 *)pstrNetworkInfo->pu8IEs,
-								  (size_t)pstrNetworkInfo->u16IEsLen, (((WILC_Sint32)rssi) * 100), GFP_KERNEL);
-#endif
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 9, 0)
 					cfg80211_put_bss(wiphy, bss);
-#else
-					cfg80211_put_bss(bss);
-#endif
 				}
 			}
 
@@ -417,11 +400,7 @@ static void CfgScanResult(tenuScanEvent enuScanEvent, tstrNetworkInfo *pstrNetwo
 			}
 
 			if (pstrNetworkInfo != WILC_NULL) {
-				#if LINUX_VERSION_CODE > KERNEL_VERSION(2, 6, 38)
 				s32Freq = ieee80211_channel_to_frequency((WILC_Sint32)pstrNetworkInfo->u8channel, IEEE80211_BAND_2GHZ);
-				#else
-				s32Freq = ieee80211_channel_to_frequency((WILC_Sint32)pstrNetworkInfo->u8channel);
-				#endif
 				channel = ieee80211_get_channel(wiphy, s32Freq);
 
 				WILC_NULLCHECK(s32Error, channel);
@@ -448,20 +427,10 @@ static void CfgScanResult(tenuScanEvent enuScanEvent, tstrNetworkInfo *pstrNetwo
 						/*P2P peers are sent to WPA supplicant and added to shadow table*/
 
 						if (!(WILC_memcmp("DIRECT-", pstrNetworkInfo->au8ssid, 7))) {
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 18, 0)
 							bss = cfg80211_inform_bss(wiphy, channel, CFG80211_BSS_FTYPE_UNKNOWN,  pstrNetworkInfo->au8bssid, pstrNetworkInfo->u64Tsf, pstrNetworkInfo->u16CapInfo,
 										  pstrNetworkInfo->u16BeaconPeriod, (const u8 *)pstrNetworkInfo->pu8IEs,
 										  (size_t)pstrNetworkInfo->u16IEsLen, (((WILC_Sint32)pstrNetworkInfo->s8rssi) * 100), GFP_KERNEL);
-#else
-							bss = cfg80211_inform_bss(wiphy, channel, pstrNetworkInfo->au8bssid, pstrNetworkInfo->u64Tsf, pstrNetworkInfo->u16CapInfo,
-										  pstrNetworkInfo->u16BeaconPeriod, (const u8 *)pstrNetworkInfo->pu8IEs,
-										  (size_t)pstrNetworkInfo->u16IEsLen, (((WILC_Sint32)pstrNetworkInfo->s8rssi) * 100), GFP_KERNEL);
-#endif
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 9, 0)
 							cfg80211_put_bss(wiphy, bss);
-#else
-							cfg80211_put_bss(bss);
-#endif
 						}
 
 
@@ -730,27 +699,8 @@ static void CfgConnectResult(tenuConnDisconnEvent enuConnDisconnEvent,
  *  @date	01 MAR 2012
  *  @version	1.0
  */
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 8, 0)
-/*
- *	struct changed from v3.8.0
- *	tony, sswd, WILC-KR, 2013-10-29
- *	struct cfg80211_chan_def {
- *       struct ieee80211_channel *chan;
- *       enum nl80211_chan_width width;
- *       u32 center_freq1;
- *       u32 center_freq2;
- *      };
- */
 static int WILC_WFI_CfgSetChannel(struct wiphy *wiphy,
 				  struct cfg80211_chan_def *chandef)
-#else
-static int WILC_WFI_CfgSetChannel(struct wiphy *wiphy,
-	#if LINUX_VERSION_CODE > KERNEL_VERSION(2, 6, 32)
-				  struct net_device *netdev,
-	#endif
-				  struct ieee80211_channel *channel,
-				  enum nl80211_channel_type channel_type)
-#endif
 {
 
 	WILC_Uint32 channelnum = 0;
@@ -758,14 +708,8 @@ static int WILC_WFI_CfgSetChannel(struct wiphy *wiphy,
 	WILC_Sint32 s32Error = WILC_SUCCESS;
 	priv = wiphy_priv(wiphy);
 
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 8, 0) /* tony for v3.8.0 support */
 	channelnum = ieee80211_frequency_to_channel(chandef->chan->center_freq);
 	PRINT_D(CFG80211_DBG, "Setting channel %d with frequency %d\n", channelnum, chandef->chan->center_freq);
-#else
-	channelnum = ieee80211_frequency_to_channel(channel->center_freq);
-
-	PRINT_D(CFG80211_DBG, "Setting channel %d with frequency %d\n", channelnum, channel->center_freq);
-#endif
 
 	u8CurrChannel = channelnum;
 	s32Error   = host_int_set_mac_chnl_num(priv->hWILCWFIDrv, channelnum);
@@ -793,11 +737,7 @@ static int WILC_WFI_CfgSetChannel(struct wiphy *wiphy,
  *	kernel version 3.8.8 supported
  *	tony, sswd, WILC-KR, 2013-10-29
  */
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 6, 0)
 static int WILC_WFI_CfgScan(struct wiphy *wiphy, struct cfg80211_scan_request *request)
-#else
-static int WILC_WFI_CfgScan(struct wiphy *wiphy, struct net_device *dev, struct cfg80211_scan_request *request)
-#endif
 {
 	struct WILC_WFI_priv *priv;
 	WILC_Uint32 i;
@@ -807,10 +747,6 @@ static int WILC_WFI_CfgScan(struct wiphy *wiphy, struct net_device *dev, struct
 
 	priv = wiphy_priv(wiphy);
 
-#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 6, 0)
-	PRINT_D(CORECONFIG_DBG, "Scan on netdev [%p] host if [%x]\n", dev, (WILC_Uint32)priv->hWILCWFIDrv);
-#endif
-
 	/*if(connecting)
 	 *              return -EBUSY; */
 
@@ -819,18 +755,10 @@ static int WILC_WFI_CfgScan(struct wiphy *wiphy, struct net_device *dev, struct
 	/*requests "create group" during a running scan*/
 	/* host_int_set_wfi_drv_handler(priv->hWILCWFIDrv); */
 #if 0
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 6, 0) /* tony for v3.8.0 support */
 	if (priv->dev->ieee80211_ptr->iftype == NL80211_IFTYPE_AP) {
 		PRINT_D(GENERIC_DBG, "Required scan while in AP mode");
 		return s32Error;
 	}
-#else
-	if (dev->ieee80211_ptr->iftype == NL80211_IFTYPE_AP) {
-		PRINT_D(GENERIC_DBG, "Required scan while in AP mode");
-		s32Error = WILC_BUSY;
-		return s32Error;
-	}
-#endif
 #endif /* end of if 0 */
 	priv->pstrScanReq = request;
 
@@ -1224,9 +1152,7 @@ static int WILC_WFI_disconnect(struct wiphy *wiphy, struct net_device *dev, u16
  *  @version	1.0
  */
 static int WILC_WFI_add_key(struct wiphy *wiphy, struct net_device *netdev, u8 key_index,
-	#if LINUX_VERSION_CODE > KERNEL_VERSION(2, 6, 36)
 			    bool pairwise,
-	#endif
 			    const u8 *mac_addr, struct key_params *params)
 
 {
@@ -1316,11 +1242,7 @@ static int WILC_WFI_add_key(struct wiphy *wiphy, struct net_device *netdev, u8 k
 
 
 
-					#if LINUX_VERSION_CODE > KERNEL_VERSION(2, 6, 36)
 			if (!pairwise)
-					#else
-			if (!mac_addr || is_broadcast_ether_addr(mac_addr))
-					#endif
 			{
 				if (params->cipher == WLAN_CIPHER_SUITE_TKIP)
 					u8gmode = ENCRYPT_ENABLED | WPA | TKIP;
@@ -1419,11 +1341,7 @@ static int WILC_WFI_add_key(struct wiphy *wiphy, struct net_device *netdev, u8 k
 
 		{
 			u8mode = 0;
-			 #if LINUX_VERSION_CODE > KERNEL_VERSION(2, 6, 36)
 			if (!pairwise)
-			 #else
-			if (!mac_addr || is_broadcast_ether_addr(mac_addr))
-			#endif
 			{
 				if (params->key_len > 16 && params->cipher == WLAN_CIPHER_SUITE_TKIP) {
 					/* swap the tx mic by rx mic */
@@ -1436,9 +1354,7 @@ static int WILC_WFI_add_key(struct wiphy *wiphy, struct net_device *netdev, u8 k
 				/*save keys only on interface 0 (wifi interface)*/
 				if (!g_gtk_keys_saved && netdev == g_linux_wlan->strInterfaceInfo[0].wilc_netdev) {
 					g_add_gtk_key_params.key_idx = key_index;
-						#if LINUX_VERSION_CODE > KERNEL_VERSION(2, 6, 36)
 					g_add_gtk_key_params.pairwise = pairwise;
-						#endif
 					if (!mac_addr) {
 						g_add_gtk_key_params.mac_addr = NULL;
 					} else {
@@ -1476,9 +1392,7 @@ static int WILC_WFI_add_key(struct wiphy *wiphy, struct net_device *netdev, u8 k
 				/*save keys only on interface 0 (wifi interface)*/
 				if (!g_ptk_keys_saved && netdev == g_linux_wlan->strInterfaceInfo[0].wilc_netdev) {
 					g_add_ptk_key_params.key_idx = key_index;
-						#if LINUX_VERSION_CODE > KERNEL_VERSION(2, 6, 36)
 					g_add_ptk_key_params.pairwise = pairwise;
-						#endif
 					if (!mac_addr) {
 						g_add_ptk_key_params.mac_addr = NULL;
 					} else {
@@ -1533,9 +1447,7 @@ static int WILC_WFI_add_key(struct wiphy *wiphy, struct net_device *netdev, u8 k
  */
 static int WILC_WFI_del_key(struct wiphy *wiphy, struct net_device *netdev,
 			    u8 key_index,
-	#if LINUX_VERSION_CODE > KERNEL_VERSION(2, 6, 36)
 			    bool pairwise,
-	#endif
 			    const u8 *mac_addr)
 {
 	struct WILC_WFI_priv *priv;
@@ -1645,9 +1557,7 @@ static int WILC_WFI_del_key(struct wiphy *wiphy, struct net_device *netdev,
  *  @version	1.0
  */
 static int WILC_WFI_get_key(struct wiphy *wiphy, struct net_device *netdev, u8 key_index,
-	#if LINUX_VERSION_CODE > KERNEL_VERSION(2, 6, 36)
 			    bool pairwise,
-	#endif
 			    const u8 *mac_addr, void *cookie, void (*callback)(void *cookie, struct key_params *))
 {
 
@@ -1659,11 +1569,7 @@ static int WILC_WFI_get_key(struct wiphy *wiphy, struct net_device *netdev, u8 k
 	priv = wiphy_priv(wiphy);
 
 
-		#if LINUX_VERSION_CODE > KERNEL_VERSION(2, 6, 36)
 	if (!pairwise)
-		#else
-	if (!mac_addr || is_broadcast_ether_addr(mac_addr))
-		#endif
 	{
 		PRINT_D(CFG80211_DBG, "Getting group key idx: %x\n", key_index);
 
@@ -1700,11 +1606,8 @@ static int WILC_WFI_get_key(struct wiphy *wiphy, struct net_device *netdev, u8 k
  *  @date	01 MAR 2012
  *  @version	1.0
  */
-static int WILC_WFI_set_default_key(struct wiphy *wiphy, struct net_device *netdev, u8 key_index
-	#if LINUX_VERSION_CODE > KERNEL_VERSION(2, 6, 37)
-				    , bool unicast, bool multicast
-	#endif
-				    )
+static int WILC_WFI_set_default_key(struct wiphy *wiphy, struct net_device *netdev, u8 key_index,
+				    bool unicast, bool multicast)
 {
 	WILC_Sint32 s32Error = WILC_SUCCESS;
 	struct WILC_WFI_priv *priv;
@@ -1794,11 +1697,7 @@ static int WILC_WFI_get_station(struct wiphy *wiphy, struct net_device *dev,
 			return s32Error;
 		}
 
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 19, 0)	//0421
 		sinfo->filled |= BIT(NL80211_STA_INFO_INACTIVE_TIME);
-#else
-		sinfo->filled |= STATION_INFO_INACTIVE_TIME;
-#endif
 
 		host_int_get_inactive_time(priv->hWILCWFIDrv, mac, &(inactive_time));
 		sinfo->inactive_time = 1000 * inactive_time;
@@ -1816,26 +1715,16 @@ static int WILC_WFI_get_station(struct wiphy *wiphy, struct net_device *dev,
 		 * tx_failed introduced more than
 		 * kernel version 3.0.0
 		 */
-	#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 19, 0)	//0421
 		sinfo->filled |= BIT(NL80211_STA_INFO_SIGNAL) |
 						BIT( NL80211_STA_INFO_RX_PACKETS) |
 						BIT(NL80211_STA_INFO_TX_PACKETS) |
 						BIT(NL80211_STA_INFO_TX_FAILED) |
 						BIT(NL80211_STA_INFO_TX_BITRATE);
-    #elif LINUX_VERSION_CODE >= KERNEL_VERSION(3, 0, 0)
-		sinfo->filled |= STATION_INFO_SIGNAL | STATION_INFO_RX_PACKETS | STATION_INFO_TX_PACKETS
-			| STATION_INFO_TX_FAILED | STATION_INFO_TX_BITRATE;
-    #else
-		sinfo->filled |= STATION_INFO_SIGNAL | STATION_INFO_RX_PACKETS | STATION_INFO_TX_PACKETS
-			| STATION_INFO_TX_BITRATE;
-    #endif
 
 		sinfo->signal		=  strStatistics.s8RSSI;
 		sinfo->rx_packets   =  strStatistics.u32RxCount;
 		sinfo->tx_packets   =  strStatistics.u32TxCount + strStatistics.u32TxFailureCount;
-    #if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 0, 0)
 		sinfo->tx_failed	=  strStatistics.u32TxFailureCount;
-    #endif
 		sinfo->txrate.legacy = strStatistics.u8LinkSpeed * 10;
 
 #ifdef TCP_ENHANCEMENTS
@@ -1846,13 +1735,8 @@ static int WILC_WFI_get_station(struct wiphy *wiphy, struct net_device *dev,
 		}
 #endif
 
-    #if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 0, 0)
 		PRINT_D(CORECONFIG_DBG, "*** stats[%d][%d][%d][%d][%d]\n", sinfo->signal, sinfo->rx_packets, sinfo->tx_packets,
 			sinfo->tx_failed, sinfo->txrate.legacy);
-    #else
-		PRINT_D(CORECONFIG_DBG, "*** stats[%d][%d][%d][%d]\n", sinfo->signal, sinfo->rx_packets, sinfo->tx_packets,
-			sinfo->txrate.legacy);
-    #endif
 	}
 	return s32Error;
 }
@@ -2008,7 +1892,7 @@ static int WILC_WFI_set_wiphy_params(struct wiphy *wiphy, u32 changed)
 
 	return s32Error;
 }
-#if LINUX_VERSION_CODE > KERNEL_VERSION(2, 6, 32)
+
 /**
  *  @brief      WILC_WFI_set_bitrate_mask
  *  @details    set the bitrate mask configuration
@@ -2166,7 +2050,6 @@ static int  WILC_WFI_flush_pmksa(struct wiphy *wiphy, struct net_device *netdev)
 
 	return 0;
 }
-#endif
 
 #ifdef WILC_P2P
 
@@ -2388,29 +2271,17 @@ void WILC_WFI_p2p_rx (struct net_device *dev, uint8_t *buff, uint32_t size)
 	if (pkt_offset & IS_MANAGMEMENT_CALLBACK) {
 		if (buff[FRAME_TYPE_ID] == IEEE80211_STYPE_PROBE_RESP) {
 			PRINT_D(GENERIC_DBG, "Probe response ACK\n");
-			#if (LINUX_VERSION_CODE < KERNEL_VERSION(3, 6, 0))
-			cfg80211_mgmt_tx_status(dev, priv->u64tx_cookie, buff, size, true, GFP_KERNEL);
-			#else
 			cfg80211_mgmt_tx_status(priv->wdev, priv->u64tx_cookie, buff, size, true, GFP_KERNEL);
-			#endif
 			return;
 		} else {
 			if (pkt_offset & IS_MGMT_STATUS_SUCCES)	{
 				PRINT_D(GENERIC_DBG, "Success Ack - Action frame category: %x Action Subtype: %d Dialog T: %x OR %x\n", buff[ACTION_CAT_ID], buff[ACTION_SUBTYPE_ID],
 					buff[ACTION_SUBTYPE_ID + 1], buff[P2P_PUB_ACTION_SUBTYPE + 1]);
-				#if (LINUX_VERSION_CODE < KERNEL_VERSION(3, 6, 0))
-				cfg80211_mgmt_tx_status(dev, priv->u64tx_cookie, buff, size, true, GFP_KERNEL);
-				#else
 				cfg80211_mgmt_tx_status(priv->wdev, priv->u64tx_cookie, buff, size, true, GFP_KERNEL);
-				#endif
 			} else {
 				PRINT_D(GENERIC_DBG, "Fail Ack - Action frame category: %x Action Subtype: %d Dialog T: %x OR %x\n", buff[ACTION_CAT_ID], buff[ACTION_SUBTYPE_ID],
 					buff[ACTION_SUBTYPE_ID + 1], buff[P2P_PUB_ACTION_SUBTYPE + 1]);
-				#if (LINUX_VERSION_CODE < KERNEL_VERSION(3, 6, 0))
-				cfg80211_mgmt_tx_status(dev, priv->u64tx_cookie, buff, size, false, GFP_KERNEL);
-				#else
 				cfg80211_mgmt_tx_status(priv->wdev, priv->u64tx_cookie, buff, size, false, GFP_KERNEL);
-				#endif
 			}
 			return;
 		}
@@ -2420,11 +2291,7 @@ void WILC_WFI_p2p_rx (struct net_device *dev, uint8_t *buff, uint32_t size)
 
 		/*BugID_5442*/
 		/*Upper layer is informed that the frame is received on this freq*/
-		#if LINUX_VERSION_CODE > KERNEL_VERSION(2, 6, 38)
 		s32Freq = ieee80211_channel_to_frequency(u8CurrChannel, IEEE80211_BAND_2GHZ);
-		#else
-		s32Freq = ieee80211_channel_to_frequency(u8CurrChannel);
-		#endif
 
 		if (ieee80211_is_action(buff[FRAME_TYPE_ID])) {
 			PRINT_D(GENERIC_DBG, "Rx Action Frame Type: %x %x\n", buff[ACTION_SUBTYPE_ID], buff[P2P_PUB_ACTION_SUBTYPE]);
@@ -2478,18 +2345,7 @@ void WILC_WFI_p2p_rx (struct net_device *dev, uint8_t *buff, uint32_t size)
 					if ((buff[P2P_PUB_ACTION_SUBTYPE] == GO_NEG_REQ || buff[P2P_PUB_ACTION_SUBTYPE] == GO_NEG_RSP) && (bWilc_ie))	{
 						PRINT_D(GENERIC_DBG, "Sending P2P to host without extra elemnt\n");
 						/* extra attribute for sig_dbm: signal strength in mBm, or 0 if unknown */
-							#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 18, 0))
 						cfg80211_rx_mgmt(priv->wdev, s32Freq, 0, buff, size - 7, 0);
-							#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 12, 0))
-						cfg80211_rx_mgmt(priv->wdev, s32Freq, 0, buff, size - 7, 0, GFP_ATOMIC);
-							#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 6, 0))
-						cfg80211_rx_mgmt(priv->wdev, s32Freq, 0, buff, size - 7, GFP_ATOMIC);
-							#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 4, 0))
-						cfg80211_rx_mgmt(dev, s32Freq, 0, buff, size - 7, GFP_ATOMIC);          /* rachel */
-							#elif (LINUX_VERSION_CODE < KERNEL_VERSION(3, 4, 0))
-						cfg80211_rx_mgmt(dev, s32Freq, buff, size - 7, GFP_ATOMIC);
-							#endif
-
 						return;
 					}
 					break;
@@ -2501,17 +2357,7 @@ void WILC_WFI_p2p_rx (struct net_device *dev, uint8_t *buff, uint32_t size)
 			}
 		}
 
-		#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 18, 0))
 		cfg80211_rx_mgmt(priv->wdev, s32Freq, 0, buff, size - 7, 0);
-		#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 12, 0))
-		cfg80211_rx_mgmt(priv->wdev, s32Freq, 0, buff, size - 7, 0, GFP_ATOMIC);
-		#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 6, 0))
-		cfg80211_rx_mgmt(priv->wdev, s32Freq, 0, buff, size, GFP_ATOMIC);
-		#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 4, 0))
-		cfg80211_rx_mgmt(dev, s32Freq, 0, buff, size, GFP_ATOMIC);
-		#elif (LINUX_VERSION_CODE < KERNEL_VERSION(3, 4, 0))
-		cfg80211_rx_mgmt(dev, s32Freq, buff, size, GFP_ATOMIC);
-		#endif
 	}
 }
 
@@ -2553,20 +2399,11 @@ static void WILC_WFI_RemainOnChannelReady(void *pUserVoid)
 
 	priv->bInP2PlistenState = WILC_TRUE;
 
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 8, 0)
 	cfg80211_ready_on_channel(priv->wdev,
 				  priv->strRemainOnChanParams.u64ListenCookie,
 				  priv->strRemainOnChanParams.pstrListenChan,
 				  priv->strRemainOnChanParams.u32ListenDuration,
 				  GFP_KERNEL);
-#else
-	cfg80211_ready_on_channel(priv->dev,
-				  priv->strRemainOnChanParams.u64ListenCookie,
-				  priv->strRemainOnChanParams.pstrListenChan,
-				  priv->strRemainOnChanParams.tenuChannelType,
-				  priv->strRemainOnChanParams.u32ListenDuration,
-				  GFP_KERNEL);
-#endif
 }
 
 /**
@@ -2591,18 +2428,10 @@ static void WILC_WFI_RemainOnChannelExpired(void *pUserVoid, WILC_Uint32 u32Sess
 		priv->bInP2PlistenState = WILC_FALSE;
 
 		/*Inform wpas of remain-on-channel expiration*/
-	#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 8, 0)
 		cfg80211_remain_on_channel_expired(priv->wdev,
 						   priv->strRemainOnChanParams.u64ListenCookie,
 						   priv->strRemainOnChanParams.pstrListenChan,
 						   GFP_KERNEL);
-	#else
-		cfg80211_remain_on_channel_expired(priv->dev,
-						   priv->strRemainOnChanParams.u64ListenCookie,
-						   priv->strRemainOnChanParams.pstrListenChan,
-						   priv->strRemainOnChanParams.tenuChannelType,
-						   GFP_KERNEL);
-	#endif
 	} else {
 		PRINT_D(GENERIC_DBG, "Received ID 0x%x Expected ID 0x%x (No match)\n", u32SessionID
 			, priv->strRemainOnChanParams.u32ListenSessionID);
@@ -2624,15 +2453,8 @@ static void WILC_WFI_RemainOnChannelExpired(void *pUserVoid, WILC_Uint32 u32Sess
  *  @version	1.0
  */
 static int  WILC_WFI_remain_on_channel(struct wiphy *wiphy,
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 6, 0))
 				       struct wireless_dev *wdev,
-#else
-				       struct net_device *dev,
-#endif
 				       struct ieee80211_channel *chan,
-#if (LINUX_VERSION_CODE < KERNEL_VERSION(3, 8, 0))
-				       enum nl80211_channel_type channel_type,
-#endif
 				       unsigned int duration, u64 *cookie)
 {
 	WILC_Sint32 s32Error = WILC_SUCCESS;
@@ -2645,26 +2467,16 @@ static int  WILC_WFI_remain_on_channel(struct wiphy *wiphy,
 	/*This check is to handle the situation when user*/
 	/*requests "create group" during a running scan*/
 
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 6, 0))
 	if (wdev->iftype == NL80211_IFTYPE_AP) {
 		PRINT_D(GENERIC_DBG, "Required remain-on-channel while in AP mode");
 		return s32Error;
 	}
-#else
-	if (dev->ieee80211_ptr->iftype == NL80211_IFTYPE_AP) {
-		PRINT_D(GENERIC_DBG, "Required remain-on-channel while in AP mode");
-		return s32Error;
-	}
-#endif
 
 	u8CurrChannel = chan->hw_value;
 
 	/*Setting params needed by WILC_WFI_RemainOnChannelExpired()*/
 	priv->strRemainOnChanParams.pstrListenChan = chan;
 	priv->strRemainOnChanParams.u64ListenCookie = *cookie;
-	#if (LINUX_VERSION_CODE < KERNEL_VERSION(3, 8, 0))
-	priv->strRemainOnChanParams.tenuChannelType = channel_type;
-	#endif
 	priv->strRemainOnChanParams.u32ListenDuration = duration;
 	priv->strRemainOnChanParams.u32ListenSessionID++;
 
@@ -2693,11 +2505,7 @@ static int  WILC_WFI_remain_on_channel(struct wiphy *wiphy,
  *  @version	1.0
  */
 static int   WILC_WFI_cancel_remain_on_channel(struct wiphy *wiphy,
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 6, 0))
 					       struct wireless_dev *wdev,
-#else
-					       struct net_device *dev,
-#endif
 					       u64 cookie)
 {
 	WILC_Sint32 s32Error = WILC_SUCCESS;
@@ -2736,57 +2544,14 @@ void WILC_WFI_add_wilcvendorspec(WILC_Uint8 *buff)
 extern linux_wlan_t *g_linux_wlan;
 extern WILC_Bool bEnablePS;
 int WILC_WFI_mgmt_tx(struct wiphy *wiphy,
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 14, 0)
 			struct wireless_dev *wdev,
 			struct cfg80211_mgmt_tx_params *params,
 			u64 *cookie)
-#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 8, 0))
-			struct wireless_dev *wdev,
-			struct ieee80211_channel *chan,
-			bool offchan,
-			unsigned int wait,
-			const u8 *buf,
-			size_t len,
-			bool no_cck,
-			bool dont_wait_for_ack, u64 *cookie)
-#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 6, 0))
-			struct wireless_dev *wdev,
-			struct ieee80211_channel *chan, bool offchan,
-			enum nl80211_channel_type channel_type,
-			bool channel_type valid,
-			unsigned int wait, const u8 *buf,
-			size_t len, bool no_cck,
-			bool dont_wait_for_ack, u64 *cookie)
-#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 3, 0))
-			struct net_device *dev,
-			struct ieee80211_channel *chan, bool offchan,
-			enum nl80211_channel_type channel_type,
-			bool channel_type_valid,
-			unsigned int wait, const u8 *buf,
-			size_t len, bool no_cck,
-			bool dont_wait_for_ack, u64 *cookie)
-#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 2, 0))
-			struct net_device *dev,
-			struct ieee80211_channel *chan, bool offchan,
-			enum nl80211_channel_type channel_type,
-			bool channel_type_valid,
-			unsigned int wait, const u8 *buf,
-			size_t len, bool no_cck, u64 *cookie)
-#else
-			struct net_device *dev,
-			struct ieee80211_channel *chan, bool offchan,
-			enum nl80211_channel_type channel_type,
-			bool channel_type_valid,
-			unsigned int wait, const u8 *buf,
-			size_t len, u64 *cookie)
-#endif
 {
-	#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 14, 0)
 	struct ieee80211_channel *chan = params->chan;
 	unsigned int wait = params->wait;
 	const u8 *buf = params->buf;
 	size_t len = params->len;
-	#endif
 	const struct ieee80211_mgmt *mgmt;
 	struct p2p_mgmt_data *mgmt_tx;
 	struct WILC_WFI_priv *priv;
@@ -2796,11 +2561,7 @@ int WILC_WFI_mgmt_tx(struct wiphy *wiphy,
 	perInterface_wlan_t *nic;
 	WILC_Uint32 buf_len = len + sizeof(u8P2P_vendorspec) + sizeof(u8P2Plocalrandom);
 
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 6, 0))
 	nic = netdev_priv(wdev->netdev);
-#else
-	nic = netdev_priv(dev);
-#endif
 	priv = wiphy_priv(wiphy);
 	pstrWFIDrv = (tstrWILC_WFIDrv *)priv->hWILCWFIDrv;
 
@@ -2938,11 +2699,7 @@ int WILC_WFI_mgmt_tx(struct wiphy *wiphy,
 }
 
 int   WILC_WFI_mgmt_tx_cancel_wait(struct wiphy *wiphy,
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 6, 0)
 				   struct wireless_dev *wdev,
-#else
-				   struct net_device *dev,
-#endif
 				   u64 cookie)
 {
 	struct WILC_WFI_priv *priv;
@@ -2957,46 +2714,16 @@ int   WILC_WFI_mgmt_tx_cancel_wait(struct wiphy *wiphy,
 	if (priv->bInP2PlistenState == WILC_FALSE) {
 		/* Bug 5504: This is just to avoid connection failure when getting stuck when the supplicant
 		 *                      considers the driver falsely that it is in Listen state */
-		#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 8, 0)
 		cfg80211_remain_on_channel_expired(priv->wdev,
 						   priv->strRemainOnChanParams.u64ListenCookie,
 						   priv->strRemainOnChanParams.pstrListenChan,
 						   GFP_KERNEL);
-		#else
-		cfg80211_remain_on_channel_expired(priv->dev,
-						   priv->strRemainOnChanParams.u64ListenCookie,
-						   priv->strRemainOnChanParams.pstrListenChan,
-						   priv->strRemainOnChanParams.tenuChannelType,
-						   GFP_KERNEL);
-		#endif
-
 	}
 
 	return 0;
 }
 
 /**
- *  @brief      WILC_WFI_action
- *  @details Transmit an action frame
- *  @param[in]
- *  @return     int : Return 0 on Success.
- *  @author	mdaftedar
- *  @date	01 JUL 2012
- *  @version	1.0
- * */
-#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 37)
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 34)
-int  WILC_WFI_action(struct wiphy *wiphy, struct net_device *dev,
-		     struct ieee80211_channel *chan, enum nl80211_channel_type channel_type,
-		     const u8 *buf, size_t len, u64 *cookie)
-{
-	PRINT_D(HOSTAPD_DBG, "In action function\n");
-	return WILC_SUCCESS;
-}
-#endif
-#else
-
-/**
  *  @brief      WILC_WFI_frame_register
  *  @details Notify driver that a management frame type was
  *              registered. Note that this callback may not sleep, and cannot run
@@ -3008,11 +2735,7 @@ int  WILC_WFI_action(struct wiphy *wiphy, struct net_device *dev,
  *  @version
  */
 void    WILC_WFI_frame_register(struct wiphy *wiphy,
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 6, 0))
 				struct wireless_dev *wdev,
-#else
-				struct net_device *dev,
-#endif
 				u16 frame_type, bool reg)
 {
 
@@ -3060,7 +2783,6 @@ void    WILC_WFI_frame_register(struct wiphy *wiphy,
 
 
 }
-#endif
 #endif /*WILC_P2P*/
 
 /**
@@ -3107,11 +2829,7 @@ static int WILC_WFI_dump_station(struct wiphy *wiphy, struct net_device *dev,
 	priv = wiphy_priv(wiphy);
 	/* priv = netdev_priv(priv->wdev->netdev); */
 
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 19, 0))	//0421
 	sinfo->filled |= BIT(NL80211_STA_INFO_SIGNAL);
-#else
-	sinfo->filled |= STATION_INFO_SIGNAL;
-#endif
 
 	host_int_get_rssi(priv->hWILCWFIDrv, &(sinfo->signal));
 
@@ -3279,18 +2997,14 @@ static int WILC_WFI_change_virt_intf(struct wiphy *wiphy, struct net_device *dev
 				WILC_WFI_add_key(g_linux_wlan->strInterfaceInfo[0].wilc_netdev->ieee80211_ptr->wiphy,
 						 g_linux_wlan->strInterfaceInfo[0].wilc_netdev,
 						 g_add_ptk_key_params.key_idx,
-									#if LINUX_VERSION_CODE > KERNEL_VERSION(2, 6, 36)
 						 g_add_ptk_key_params.pairwise,
-									#endif
 						 g_add_ptk_key_params.mac_addr,
 						 (struct key_params *)(&g_key_ptk_params));
 
 				WILC_WFI_add_key(g_linux_wlan->strInterfaceInfo[0].wilc_netdev->ieee80211_ptr->wiphy,
 						 g_linux_wlan->strInterfaceInfo[0].wilc_netdev,
 						 g_add_gtk_key_params.key_idx,
-									#if LINUX_VERSION_CODE > KERNEL_VERSION(2, 6, 36)
 						 g_add_gtk_key_params.pairwise,
-									#endif
 						 g_add_gtk_key_params.mac_addr,
 						 (struct key_params *)(&g_key_gtk_params));
 			}
@@ -3372,18 +3086,14 @@ static int WILC_WFI_change_virt_intf(struct wiphy *wiphy, struct net_device *dev
 				WILC_WFI_add_key(g_linux_wlan->strInterfaceInfo[0].wilc_netdev->ieee80211_ptr->wiphy,
 						 g_linux_wlan->strInterfaceInfo[0].wilc_netdev,
 						 g_add_ptk_key_params.key_idx,
-									#if LINUX_VERSION_CODE > KERNEL_VERSION(2, 6, 36)
 						 g_add_ptk_key_params.pairwise,
-									#endif
 						 g_add_ptk_key_params.mac_addr,
 						 (struct key_params *)(&g_key_ptk_params));
 
 				WILC_WFI_add_key(g_linux_wlan->strInterfaceInfo[0].wilc_netdev->ieee80211_ptr->wiphy,
 						 g_linux_wlan->strInterfaceInfo[0].wilc_netdev,
 						 g_add_gtk_key_params.key_idx,
-									#if LINUX_VERSION_CODE > KERNEL_VERSION(2, 6, 36)
 						 g_add_gtk_key_params.pairwise,
-									#endif
 						 g_add_gtk_key_params.mac_addr,
 						 (struct key_params *)(&g_key_gtk_params));
 			}
@@ -3531,18 +3241,14 @@ static int WILC_WFI_change_virt_intf(struct wiphy *wiphy, struct net_device *dev
 			WILC_WFI_add_key(g_linux_wlan->strInterfaceInfo[0].wilc_netdev->ieee80211_ptr->wiphy,
 					 g_linux_wlan->strInterfaceInfo[0].wilc_netdev,
 					 g_add_ptk_key_params.key_idx,
-								#if LINUX_VERSION_CODE > KERNEL_VERSION(2, 6, 36)
 					 g_add_ptk_key_params.pairwise,
-								#endif
 					 g_add_ptk_key_params.mac_addr,
 					 (struct key_params *)(&g_key_ptk_params));
 
 			WILC_WFI_add_key(g_linux_wlan->strInterfaceInfo[0].wilc_netdev->ieee80211_ptr->wiphy,
 					 g_linux_wlan->strInterfaceInfo[0].wilc_netdev,
 					 g_add_gtk_key_params.key_idx,
-								#if LINUX_VERSION_CODE > KERNEL_VERSION(2, 6, 36)
 					 g_add_gtk_key_params.pairwise,
-								#endif
 					 g_add_gtk_key_params.mac_addr,
 					 (struct key_params *)(&g_key_gtk_params));
 			#endif
@@ -3574,7 +3280,6 @@ static int WILC_WFI_change_virt_intf(struct wiphy *wiphy, struct net_device *dev
 	return s32Error;
 }
 
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 4, 0)
 /* (austin.2013-07-23)
  *
  *      To support revised cfg80211_ops
@@ -3614,12 +3319,10 @@ static int WILC_WFI_start_ap(struct wiphy *wiphy, struct net_device *dev,
 	PRINT_D(HOSTAPD_DBG, "Interval = %d \n DTIM period = %d\n Head length = %d Tail length = %d\n",
 		settings->beacon_interval, settings->dtim_period, beacon->head_len, beacon->tail_len);
 
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 8, 0)
 	s32Error = WILC_WFI_CfgSetChannel(wiphy, &settings->chandef);
 
 	if (s32Error != WILC_SUCCESS)
 		PRINT_ER("Error in setting channel\n");
-#endif
 
 	linux_wlan_set_bssid(dev, g_linux_wlan->strInterfaceInfo[0].aSrcAddress);
 
@@ -3718,116 +3421,6 @@ static int  WILC_WFI_stop_ap(struct wiphy *wiphy, struct net_device *dev)
 	return s32Error;
 }
 
-#else /* here belows are original for < kernel 3.3 (austin.2013-07-23) */
-
-/**
- *  @brief      WILC_WFI_add_beacon
- *  @details    Add a beacon with given parameters, @head, @interval
- *                      and @dtim_period will be valid, @tail is optional.
- *  @param[in]   wiphy
- *  @param[in]   dev	The net device structure
- *  @param[in]   info	Parameters for the beacon to be added
- *  @return     int : Return 0 on Success.
- *  @author	mdaftedar
- *  @date	01 MAR 2012
- *  @version	1.0
- */
-static int WILC_WFI_add_beacon(struct wiphy *wiphy, struct net_device *dev,
-			       struct beacon_parameters *info)
-{
-	WILC_Sint32 s32Error = WILC_SUCCESS;
-	struct WILC_WFI_priv *priv;
-
-
-
-	priv = wiphy_priv(wiphy);
-	PRINT_D(HOSTAPD_DBG, "Adding Beacon\n");
-
-	PRINT_D(HOSTAPD_DBG, "Interval = %d \n DTIM period = %d\n Head length = %d Tail length = %d\n", info->interval, info->dtim_period, info->head_len, info->tail_len);
-
-	linux_wlan_set_bssid(dev, g_linux_wlan->strInterfaceInfo[0].aSrcAddress);
-
-	#ifndef WILC_FULLY_HOSTING_AP
-	s32Error = host_int_add_beacon(priv->hWILCWFIDrv, info->interval,
-				       info->dtim_period,
-				       info->head_len, info->head,
-				       info->tail_len, info->tail);
-
-	#else
-	s32Error = host_add_beacon(priv->hWILCWFIDrv, info->interval,
-				   info->dtim_period,
-				   info->head_len, info->head,
-				   info->tail_len, info->tail);
-	#endif
-
-	return s32Error;
-}
-
-/**
- *  @brief      WILC_WFI_set_beacon
- *  @details    Change the beacon parameters for an access point mode
- *                      interface. This should reject the call when no beacon has been
- *                      configured.
- *  @param[in]
- *  @return     int : Return 0 on Success.
- *  @author	mdaftedar
- *  @date	01 MAR 2012
- *  @version	1.0
- */
-static int  WILC_WFI_set_beacon(struct wiphy *wiphy, struct net_device *dev,
-				struct beacon_parameters *info)
-{
-	WILC_Sint32 s32Error = WILC_SUCCESS;
-
-
-	PRINT_D(HOSTAPD_DBG, "Setting beacon\n");
-
-	s32Error = WILC_WFI_add_beacon(wiphy, dev, info);
-
-	return s32Error;
-}
-
-/**
- *  @brief      WILC_WFI_del_beacon
- *  @details    Remove beacon configuration and stop sending the beacon.
- *  @param[in]
- *  @return     int : Return 0 on Success.
- *  @author	mdaftedar
- *  @date	01 MAR 2012
- *  @version	1.0
- */
-static int  WILC_WFI_del_beacon(struct wiphy *wiphy, struct net_device *dev)
-{
-	WILC_Sint32 s32Error = WILC_SUCCESS;
-	struct WILC_WFI_priv *priv;
-	WILC_Uint8 NullBssid[ETH_ALEN] = {0};
-
-
-	WILC_NULLCHECK(s32Error, wiphy);
-
-	priv = wiphy_priv(wiphy);
-
-	PRINT_D(HOSTAPD_DBG, "Deleting beacon\n");
-
-	/*BugID_5188*/
-	linux_wlan_set_bssid(dev, NullBssid);
-
-	#ifndef WILC_FULLY_HOSTING_AP
-	s32Error = host_int_del_beacon(priv->hWILCWFIDrv);
-	#else
-	s32Error = host_del_beacon(priv->hWILCWFIDrv);
-	#endif
-
-	WILC_ERRORCHECK(s32Error);
-
-	WILC_CATCH(s32Error)
-	{
-	}
-	return s32Error;
-}
-
-#endif  /* linux kernel 3.4+ (austin.2013-07-23) */
-
 /**
  *  @brief      WILC_WFI_add_station
  *  @details    Add a new station.
@@ -3923,15 +3516,9 @@ static int  WILC_WFI_add_station(struct wiphy *wiphy, struct net_device *dev,
  *  @version	1.0
  */
 static int WILC_WFI_del_station(struct wiphy *wiphy, struct net_device *dev,
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 19, 0)
 				struct station_del_parameters *params)
-#else
-				u8 *mac)
-#endif
 {
-	#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 19, 0)
 	u8 *mac = params->mac;
-	#endif
 	WILC_Sint32 s32Error = WILC_SUCCESS;
 	struct WILC_WFI_priv *priv;
 	perInterface_wlan_t *nic;
@@ -4055,35 +3642,14 @@ static int WILC_WFI_change_station(struct wiphy *wiphy, struct net_device *dev,
  *  @date	01 JUL 2012
  *  @version	1.0
  */
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 0, 0)
 struct wireless_dev *WILC_WFI_add_virt_intf(struct wiphy *wiphy, const char *name,
 						unsigned char name_assign_type,
 						enum nl80211_iftype type, u32 *flags,
 						struct vif_params *params)
-#elif LINUX_VERSION_CODE >= KERNEL_VERSION(3, 7, 0)         /* tony for v3.8 support */
-struct wireless_dev *WILC_WFI_add_virt_intf(struct wiphy *wiphy, const char *name,
-					    enum nl80211_iftype type, u32 *flags,
-					    struct vif_params *params)
-#elif LINUX_VERSION_CODE >= KERNEL_VERSION(3, 6, 0)       /* tony for v3.6 support */
-struct wireless_dev *WILC_WFI_add_virt_intf(struct wiphy *wiphy, char *name,
-					    enum nl80211_iftype type, u32 *flags,
-					    struct vif_params *params)
-#elif LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 37)
-int WILC_WFI_add_virt_intf(struct wiphy *wiphy, char *name,
-			   enum nl80211_iftype type, u32 *flags,
-			   struct vif_params *params)
-#else
-struct net_device *WILC_WFI_add_virt_intf(struct wiphy *wiphy, char *name,
-					  enum nl80211_iftype type, u32 *flags,
-					  struct vif_params *params)
-#endif
 {
 	perInterface_wlan_t *nic;
 	struct WILC_WFI_priv *priv;
 	/* struct WILC_WFI_mon_priv* mon_priv; */
-	#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 37)
-	WILC_Sint32 s32Error = WILC_SUCCESS;
-	#endif
 	struct net_device *new_ifc = NULL;
 	priv = wiphy_priv(wiphy);
 
@@ -4110,16 +3676,7 @@ struct net_device *WILC_WFI_add_virt_intf(struct wiphy *wiphy, char *name,
 		} else
 			PRINT_ER("Error in initializing monitor interface\n ");
 	}
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 6, 0) /* tony for v3.8 support */
 	return priv->wdev;
-#elif LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 37)
-	return s32Error;
-#else
-	/* return priv->wdev->netdev; */
-	PRINT_D(HOSTAPD_DBG, "IFC[%p] created\n", new_ifc);
-	return new_ifc;
-#endif
-
 }
 
 /**
@@ -4131,11 +3688,7 @@ struct net_device *WILC_WFI_add_virt_intf(struct wiphy *wiphy, char *name,
  *  @date	01 JUL 2012
  *  @version	1.0
  */
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 6, 0)
 int WILC_WFI_del_virt_intf(struct wiphy *wiphy, struct wireless_dev *wdev)      /* tony for v3.8 support */
-#else
-int WILC_WFI_del_virt_intf(struct wiphy *wiphy, struct net_device *dev)
-#endif
 {
 	PRINT_D(HOSTAPD_DBG, "Deleting virtual interface\n");
 	return WILC_SUCCESS;
@@ -4146,16 +3699,7 @@ int WILC_WFI_del_virt_intf(struct wiphy *wiphy, struct net_device *dev)
 #endif /*WILC_AP_EXTERNAL_MLME*/
 static struct cfg80211_ops WILC_WFI_cfg80211_ops = {
 
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 6, 0)
-	/*
-	 *	replaced set_channel by set_monitor_channel
-	 *	from v3.6
-	 *	tony, 2013-10-29
-	 */
 	.set_monitor_channel = WILC_WFI_CfgSetChannel,
-#else
-	.set_channel = WILC_WFI_CfgSetChannel,
-#endif
 	.scan = WILC_WFI_CfgScan,
 	.connect = WILC_WFI_CfgConnect,
 	.disconnect = WILC_WFI_disconnect,
@@ -4163,24 +3707,15 @@ static struct cfg80211_ops WILC_WFI_cfg80211_ops = {
 	.del_key = WILC_WFI_del_key,
 	.get_key = WILC_WFI_get_key,
 	.set_default_key = WILC_WFI_set_default_key,
-#if LINUX_VERSION_CODE > KERNEL_VERSION(2, 6, 32)
 	/* .dump_survey = WILC_WFI_dump_survey, */
-#endif
 	#ifdef WILC_AP_EXTERNAL_MLME
 	.add_virtual_intf = WILC_WFI_add_virt_intf,
 	.del_virtual_intf = WILC_WFI_del_virt_intf,
 	.change_virtual_intf = WILC_WFI_change_virt_intf,
 
-#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 4, 0)
-	.add_beacon = WILC_WFI_add_beacon,
-	.set_beacon = WILC_WFI_set_beacon,
-	.del_beacon = WILC_WFI_del_beacon,
-#else
-	/* supports kernel 3.4+ change. austin.2013-07-23 */
 	.start_ap = WILC_WFI_start_ap,
 	.change_beacon = WILC_WFI_change_beacon,
 	.stop_ap = WILC_WFI_stop_ap,
-#endif
 	.add_station = WILC_WFI_add_station,
 	.del_station = WILC_WFI_del_station,
 	.change_station = WILC_WFI_change_station,
@@ -4196,7 +3731,6 @@ static struct cfg80211_ops WILC_WFI_cfg80211_ops = {
 	/* .disassoc = WILC_WFI_disassoc, */
 	.set_wiphy_params = WILC_WFI_set_wiphy_params,
 
-#if LINUX_VERSION_CODE > KERNEL_VERSION(2, 6, 32)
 	/* .set_bitrate_mask = WILC_WFI_set_bitrate_mask, */
 	.set_pmksa = WILC_WFI_set_pmksa,
 	.del_pmksa = WILC_WFI_del_pmksa,
@@ -4205,15 +3739,8 @@ static struct cfg80211_ops WILC_WFI_cfg80211_ops = {
 	.remain_on_channel = WILC_WFI_remain_on_channel,
 	.cancel_remain_on_channel = WILC_WFI_cancel_remain_on_channel,
 	.mgmt_tx_cancel_wait = WILC_WFI_mgmt_tx_cancel_wait,
-	#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 37)
-	#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 34)
-	.action = WILC_WFI_action,
-	#endif
-	#else
 	.mgmt_tx = WILC_WFI_mgmt_tx,
 	.mgmt_frame_register = WILC_WFI_frame_register,
-	#endif
-#endif
 	/* .mgmt_tx_cancel_wait = WILC_WFI_mgmt_tx_cancel_wait, */
 	.set_power_mgmt = WILC_WFI_set_power_mgmt,
 	.set_cqm_rssi_config = WILC_WFI_set_cqm_rssi_config,
@@ -4378,11 +3905,9 @@ struct wireless_dev *WILC_WFI_WiphyRegister(struct net_device *net)
 
 	/*Maximum number of probed ssid to be added by user for the scan request*/
 	wdev->wiphy->max_scan_ssids = MAX_NUM_PROBED_SSID;
-	#if LINUX_VERSION_CODE > KERNEL_VERSION(2, 6, 32)
 	/*Maximum number of pmkids to be cashed*/
 	wdev->wiphy->max_num_pmkids = WILC_MAX_NUM_PMKIDS;
 	PRINT_INFO(CFG80211_DBG, "Max number of PMKIDs = %d\n", wdev->wiphy->max_num_pmkids);
-	#endif
 
 	wdev->wiphy->max_scan_ie_len = 1000;
 
@@ -4392,20 +3917,15 @@ struct wireless_dev *WILC_WFI_WiphyRegister(struct net_device *net)
 	/*Set the availaible cipher suites*/
 	wdev->wiphy->cipher_suites = cipher_suites;
 	wdev->wiphy->n_cipher_suites = ARRAY_SIZE(cipher_suites);
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 37)
 	/*Setting default managment types: for register action frame:  */
 	wdev->wiphy->mgmt_stypes = wilc_wfi_cfg80211_mgmt_types;
-#endif
 
 #ifdef WILC_P2P
 	wdev->wiphy->max_remain_on_channel_duration = 500;
 	/*Setting the wiphy interfcae mode and type before registering the wiphy*/
 	wdev->wiphy->interface_modes = BIT(NL80211_IFTYPE_STATION) | BIT(NL80211_IFTYPE_AP) | BIT(NL80211_IFTYPE_MONITOR) | BIT(NL80211_IFTYPE_P2P_GO) |
 		BIT(NL80211_IFTYPE_P2P_CLIENT);
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 3, 0)
-
 	wdev->wiphy->flags |= WIPHY_FLAG_HAS_REMAIN_ON_CHANNEL;
-#endif
 #else
 	wdev->wiphy->interface_modes = BIT(NL80211_IFTYPE_STATION) | BIT(NL80211_IFTYPE_AP) | BIT(NL80211_IFTYPE_MONITOR);
 #endif
diff --git a/drivers/staging/wilc1000/wilc_wfi_cfgoperations.h b/drivers/staging/wilc1000/wilc_wfi_cfgoperations.h
index 9eb8f37542d0..508db6a3f6dd 100644
--- a/drivers/staging/wilc1000/wilc_wfi_cfgoperations.h
+++ b/drivers/staging/wilc1000/wilc_wfi_cfgoperations.h
@@ -68,7 +68,6 @@
 #define nl80211_SCAN_RESULT_EXPIRE	(3 * HZ)
 #define SCAN_RESULT_EXPIRE				(40 * HZ)
 
-#if LINUX_VERSION_CODE > KERNEL_VERSION(2, 6, 30)
 static const u32 cipher_suites[] = {
 	WLAN_CIPHER_SUITE_WEP40,
 	WLAN_CIPHER_SUITE_WEP104,
@@ -76,11 +75,7 @@ static const u32 cipher_suites[] = {
 	WLAN_CIPHER_SUITE_CCMP,
 	WLAN_CIPHER_SUITE_AES_CMAC,
 };
-#endif
-
-
 
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 37)
 static const struct ieee80211_txrx_stypes
 	wilc_wfi_cfg80211_mgmt_types[NL80211_IFTYPE_MAX] = {
 	[NL80211_IFTYPE_STATION] = {
@@ -110,7 +105,7 @@ static const struct ieee80211_txrx_stypes
 			BIT(IEEE80211_STYPE_DEAUTH >> 4)
 	}
 };
-#endif
+
 /* Time to stay on the channel */
 #define WILC_WFI_DWELL_PASSIVE 100
 #define WILC_WFI_DWELL_ACTIVE  40
diff --git a/drivers/staging/wilc1000/wilc_wfi_netdevice.h b/drivers/staging/wilc1000/wilc_wfi_netdevice.h
index aa30de932ca4..0abe653acc66 100644
--- a/drivers/staging/wilc1000/wilc_wfi_netdevice.h
+++ b/drivers/staging/wilc1000/wilc_wfi_netdevice.h
@@ -49,12 +49,7 @@
 #include <asm/checksum.h>
 #include "host_interface.h"
 #include "wilc_wlan.h"
-#if LINUX_VERSION_CODE <= KERNEL_VERSION(2, 6, 30)
-#include <net/wireless.h>
-#else
 #include <linux/wireless.h>     /* tony, 2013-06-12 */
-#endif
-
 
 #define FLOW_CONTROL_LOWER_THRESHOLD	128
 #define FLOW_CONTROL_UPPER_THRESHOLD	256
@@ -163,9 +158,6 @@ struct WILC_WFI_priv {
 	tstrHostIFpmkidAttr pmkid_list;
 	struct WILC_WFI_stats netstats;
 	WILC_Uint8 WILC_WFI_wep_default;
-#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 31)
-#define WLAN_KEY_LEN_WEP104 13
-#endif
 	WILC_Uint8 WILC_WFI_wep_key[4][WLAN_KEY_LEN_WEP104];
 	WILC_Uint8 WILC_WFI_wep_key_len[4];
 	struct net_device *real_ndev;   /* The real interface that the monitor is on */

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ