* [PATCH 1/7] staging: wilc1000: remove PANDA_BOARD
@ 2015-09-11 7:52 Tony Cho
2015-09-11 7:52 ` [PATCH 2/2] staging: wilc1000: remove RX_BH_TYPE Tony Cho
` (6 more replies)
0 siblings, 7 replies; 11+ messages in thread
From: Tony Cho @ 2015-09-11 7:52 UTC (permalink / raw)
To: gregkh
Cc: devel, linux-wireless, johnny.kim, chris.park, rachel.kim,
tony.cho, glen.lee, leo.kim, austin.shin, adel.noureldin,
adham.abozaeid, Nicolas.FERRE
This patch removes one of the platform dependencies, PANDA_BOARD from the
driver codes. The device tree will provide the platform dependencies in
the future commits.
Signed-off-by: Tony Cho <tony.cho@atmel.com>
Signed-off-by: Glen Lee <glen.lee@atmel.com>
---
drivers/staging/wilc1000/linux_wlan.c | 4 ----
drivers/staging/wilc1000/linux_wlan_common.h | 3 ---
drivers/staging/wilc1000/wilc_wfi_netdevice.h | 4 ----
3 files changed, 11 deletions(-)
diff --git a/drivers/staging/wilc1000/linux_wlan.c b/drivers/staging/wilc1000/linux_wlan.c
index 63f44f8..9be0282 100644
--- a/drivers/staging/wilc1000/linux_wlan.c
+++ b/drivers/staging/wilc1000/linux_wlan.c
@@ -438,10 +438,6 @@ static int init_irq(linux_wlan_t *p_nic)
*
* ex) nic->dev_irq_num = gpio_to_irq(GPIO_NUM);
*/
-#elif defined(PANDA_BOARD)
- gpio_export(GPIO_NUM, 1);
- nic->dev_irq_num = OMAP_GPIO_IRQ(GPIO_NUM);
- irq_set_irq_type(nic->dev_irq_num, IRQ_TYPE_LEVEL_LOW);
#else
nic->dev_irq_num = gpio_to_irq(GPIO_NUM);
#endif
diff --git a/drivers/staging/wilc1000/linux_wlan_common.h b/drivers/staging/wilc1000/linux_wlan_common.h
index ea121f9..5d13c15 100644
--- a/drivers/staging/wilc1000/linux_wlan_common.h
+++ b/drivers/staging/wilc1000/linux_wlan_common.h
@@ -145,9 +145,6 @@ extern atomic_t DEBUG_LEVEL;
#define MODALIAS "wilc_spi3"
#define GPIO_NUM 133
#endif
-#elif defined(PANDA_BOARD)
- #define MODALIAS "WILC_SPI"
- #define GPIO_NUM 139
#elif defined(PLAT_WMS8304) /* rachel */
#define MODALIAS "wilc_spi"
#define GPIO_NUM 139
diff --git a/drivers/staging/wilc1000/wilc_wfi_netdevice.h b/drivers/staging/wilc1000/wilc_wfi_netdevice.h
index e1caea9..f8064f0 100644
--- a/drivers/staging/wilc1000/wilc_wfi_netdevice.h
+++ b/drivers/staging/wilc1000/wilc_wfi_netdevice.h
@@ -80,11 +80,7 @@ struct WILC_WFI_stats {
* LPC3131 which is important to get the MAC start status when you are blocked
* inside linux_wlan_firmware_download() which blocks mac_open().
*/
-#if defined(PANDA_BOARD)
- #define RX_BH_TYPE RX_BH_THREADED_IRQ
-#else
#define RX_BH_TYPE RX_BH_KTHREAD
-#endif
struct wilc_wfi_key {
u8 *key;
--
1.9.1
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH 2/2] staging: wilc1000: remove RX_BH_TYPE
2015-09-11 7:52 [PATCH 1/7] staging: wilc1000: remove PANDA_BOARD Tony Cho
@ 2015-09-11 7:52 ` Tony Cho
2015-09-15 1:17 ` Tony Cho
2015-09-11 7:52 ` [PATCH 2/7] staging: wilc1000: remove useless define PHY_802_11n Tony Cho
` (5 subsequent siblings)
6 siblings, 1 reply; 11+ messages in thread
From: Tony Cho @ 2015-09-11 7:52 UTC (permalink / raw)
To: gregkh
Cc: devel, linux-wireless, johnny.kim, chris.park, rachel.kim,
tony.cho, glen.lee, leo.kim, austin.shin, adel.noureldin,
adham.abozaeid, Nicolas.FERRE
This patch removes the preprocessor definition, RX_BH_TYPE and uses the
request_threaded_irq instead of kernel thread to execute the interrupt
handler.
As a result, linux_wlan_enable_irq() and linux_wlan_disable_irq() are also
removed from the linux_wlan.c file.
Signed-off-by: Tony Cho <tony.cho@atmel.com>
---
drivers/staging/wilc1000/linux_wlan.c | 148 +-------------------------
drivers/staging/wilc1000/linux_wlan_common.h | 3 -
drivers/staging/wilc1000/wilc_wfi_netdevice.h | 16 ---
drivers/staging/wilc1000/wilc_wlan.c | 3 -
4 files changed, 2 insertions(+), 168 deletions(-)
diff --git a/drivers/staging/wilc1000/linux_wlan.c b/drivers/staging/wilc1000/linux_wlan.c
index 9be0282..7265f93 100644
--- a/drivers/staging/wilc1000/linux_wlan.c
+++ b/drivers/staging/wilc1000/linux_wlan.c
@@ -300,89 +300,31 @@ static int dev_state_ev_handler(struct notifier_block *this, unsigned long event
}
#endif
-/*
- * Interrupt initialization and handling functions
- */
-
-void linux_wlan_enable_irq(void)
-{
-
-#if (RX_BH_TYPE != RX_BH_THREADED_IRQ)
-#if (defined WILC_SPI) || (defined WILC_SDIO_IRQ_GPIO)
- PRINT_D(INT_DBG, "Enabling IRQ ...\n");
- enable_irq(g_linux_wlan->dev_irq_num);
-#endif
-#endif
-}
-
-void linux_wlan_disable_irq(int wait)
-{
-#if (defined WILC_SPI) || (defined WILC_SDIO_IRQ_GPIO)
- if (wait) {
- PRINT_D(INT_DBG, "Disabling IRQ ...\n");
- disable_irq(g_linux_wlan->dev_irq_num);
- } else {
- PRINT_D(INT_DBG, "Disabling IRQ ...\n");
- disable_irq_nosync(g_linux_wlan->dev_irq_num);
- }
-#endif
-}
-
#if (defined WILC_SPI) || (defined WILC_SDIO_IRQ_GPIO)
static irqreturn_t isr_uh_routine(int irq, void *user_data)
{
-#if (RX_BH_TYPE != RX_BH_THREADED_IRQ)
- linux_wlan_disable_irq(IRQ_NO_WAIT);
-#endif
PRINT_D(INT_DBG, "Interrupt received UH\n");
/*While mac is closing cacncel the handling of any interrupts received*/
if (g_linux_wlan->close) {
PRINT_ER("Driver is CLOSING: Can't handle UH interrupt\n");
- #if (RX_BH_TYPE == RX_BH_THREADED_IRQ)
return IRQ_HANDLED;
- #else
- return IRQ_NONE;
- #endif
-
}
-#if (RX_BH_TYPE == RX_BH_WORK_QUEUE)
- schedule_work(&g_linux_wlan->rx_work_queue);
- return IRQ_HANDLED;
-#elif (RX_BH_TYPE == RX_BH_KTHREAD)
- up(&g_linux_wlan->rx_sem);
- return IRQ_HANDLED;
-#elif (RX_BH_TYPE == RX_BH_THREADED_IRQ)
return IRQ_WAKE_THREAD;
-#endif
}
#endif
-#if (RX_BH_TYPE == RX_BH_WORK_QUEUE || RX_BH_TYPE == RX_BH_THREADED_IRQ)
-
-#if (RX_BH_TYPE == RX_BH_THREADED_IRQ)
irqreturn_t isr_bh_routine(int irq, void *userdata)
{
linux_wlan_t *nic;
nic = (linux_wlan_t *)userdata;
-#else
-static void isr_bh_routine(struct work_struct *work)
-{
- perInterface_wlan_t *nic;
-
- nic = (perInterface_wlan_t *)container_of(work, linux_wlan_t, rx_work_queue);
-#endif
/*While mac is closing cacncel the handling of any interrupts received*/
if (g_linux_wlan->close) {
PRINT_ER("Driver is CLOSING: Can't handle BH interrupt\n");
- #if (RX_BH_TYPE == RX_BH_THREADED_IRQ)
return IRQ_HANDLED;
- #else
- return;
- #endif
}
PRINT_D(INT_DBG, "Interrupt received BH\n");
@@ -391,36 +333,8 @@ static void isr_bh_routine(struct work_struct *work)
else
PRINT_ER("wlan_handle_rx_isr() hasn't been initialized\n");
-#if (RX_BH_TYPE == RX_BH_THREADED_IRQ)
return IRQ_HANDLED;
-#endif
-}
-#elif (RX_BH_TYPE == RX_BH_KTHREAD)
-static int isr_bh_routine(void *vp)
-{
- linux_wlan_t *nic;
-
- nic = (linux_wlan_t *)vp;
-
- while (1) {
- down(&nic->rx_sem);
- if (g_linux_wlan->close) {
-
- while (!kthread_should_stop())
- schedule();
-
- break;
- }
- PRINT_D(INT_DBG, "Interrupt received BH\n");
- if (g_linux_wlan->oup.wlan_handle_rx_isr != 0)
- g_linux_wlan->oup.wlan_handle_rx_isr();
- else
- PRINT_ER("wlan_handle_rx_isr() hasn't been initialized\n");
- }
-
- return 0;
}
-#endif
#if (defined WILC_SPI) || (defined WILC_SDIO_IRQ_GPIO)
static int init_irq(linux_wlan_t *p_nic)
@@ -446,17 +360,10 @@ static int init_irq(linux_wlan_t *p_nic)
PRINT_ER("could not obtain gpio for WILC_INTR\n");
}
-#if (RX_BH_TYPE == RX_BH_THREADED_IRQ)
if ((ret != -1) && (request_threaded_irq(nic->dev_irq_num, isr_uh_routine, isr_bh_routine,
IRQF_TRIGGER_LOW | IRQF_ONESHOT, /*Without IRQF_ONESHOT the uh will remain kicked in and dont gave a chance to bh*/
"WILC_IRQ", nic)) < 0) {
-#else
- /*Request IRQ*/
- if ((ret != -1) && (request_irq(nic->dev_irq_num, isr_uh_routine,
- IRQF_TRIGGER_LOW, "WILC_IRQ", nic) < 0)) {
-
-#endif
PRINT_ER("Failed to request IRQ for GPIO: %d\n", GPIO_NUM);
ret = -1;
} else {
@@ -1105,18 +1012,11 @@ void wilc1000_wlan_deinit(linux_wlan_t *nic)
#endif
PRINT_D(INIT_DBG, "Disabling IRQ\n");
- #if (!defined WILC_SDIO) || (defined WILC_SDIO_IRQ_GPIO)
- linux_wlan_disable_irq(IRQ_WAIT);
- #else
- #if defined(PLAT_ALLWINNER_A20) || defined(PLAT_ALLWINNER_A23) || defined(PLAT_ALLWINNER_A31)
-
- #else
+ #ifdef WILC_SDIO
mutex_lock(&g_linux_wlan->hif_cs);
disable_sdio_interrupt();
mutex_unlock(&g_linux_wlan->hif_cs);
- #endif
- #endif
-
+ #endif
/* not sure if the following unlocks are needed or not*/
if (&g_linux_wlan->rxq_event != NULL)
up(&g_linux_wlan->rxq_event);
@@ -1124,16 +1024,6 @@ void wilc1000_wlan_deinit(linux_wlan_t *nic)
if (&g_linux_wlan->txq_event != NULL)
up(&g_linux_wlan->txq_event);
- #if (RX_BH_TYPE == RX_BH_WORK_QUEUE)
- /*Removing the work struct from the linux kernel workqueue*/
- if (&g_linux_wlan->rx_work_queue != NULL)
- flush_work(&g_linux_wlan->rx_work_queue);
-
- #elif (RX_BH_TYPE == RX_BH_KTHREAD)
- /* if(&nic->rx_sem != NULL) */
- /* up(&nic->rx_sem); */
- #endif
-
PRINT_D(INIT_DBG, "Deinitializing Threads\n");
wlan_deinitialize_threads(nic);
@@ -1193,10 +1083,6 @@ int wlan_init_locks(linux_wlan_t *p_nic)
sema_init(&g_linux_wlan->rxq_thread_started, 0);
sema_init(&g_linux_wlan->txq_thread_started, 0);
- #if (RX_BH_TYPE == RX_BH_KTHREAD)
- sema_init(&g_linux_wlan->rx_sem, 0);
- #endif
-
return 0;
}
@@ -1274,19 +1160,6 @@ int wlan_initialize_threads(perInterface_wlan_t *nic)
PRINT_D(INIT_DBG, "Initializing Threads ...\n");
-#if (RX_BH_TYPE == RX_BH_WORK_QUEUE)
- /*Initialize rx work queue task*/
- INIT_WORK(&g_linux_wlan->rx_work_queue, isr_bh_routine);
-#elif (RX_BH_TYPE == RX_BH_KTHREAD)
- PRINT_D(INIT_DBG, "Creating kthread for Rxq BH\n");
- g_linux_wlan->rx_bh_thread = kthread_run(isr_bh_routine, (void *)g_linux_wlan, "K_RXQ_BH");
- if (g_linux_wlan->rx_bh_thread == 0) {
- PRINT_ER("couldn't create RX BH thread\n");
- ret = -ENOBUFS;
- goto _fail_;
- }
-#endif
-
#ifndef TCP_ENHANCEMENTS
/* create rx task */
PRINT_D(INIT_DBG, "Creating kthread for reception\n");
@@ -1333,13 +1206,6 @@ _fail_2:
#ifndef TCP_ENHANCEMENTS
_fail_1:
#endif
- #if (RX_BH_TYPE == RX_BH_KTHREAD)
- /*De-Initialize 1st thread*/
- g_linux_wlan->close = 1;
- up(&g_linux_wlan->rx_sem);
- kthread_stop(g_linux_wlan->rx_bh_thread);
-_fail_:
- #endif
g_linux_wlan->close = 0;
return ret;
}
@@ -1364,16 +1230,6 @@ static void wlan_deinitialize_threads(linux_wlan_t *nic)
kthread_stop(g_linux_wlan->txq_thread);
g_linux_wlan->txq_thread = NULL;
}
-
- #if (RX_BH_TYPE == RX_BH_KTHREAD)
- if (&g_linux_wlan->rx_sem != NULL)
- up(&g_linux_wlan->rx_sem);
-
- if (g_linux_wlan->rx_bh_thread != NULL) {
- kthread_stop(g_linux_wlan->rx_bh_thread);
- g_linux_wlan->rx_bh_thread = NULL;
- }
- #endif
}
#ifdef COMPLEMENT_BOOT
diff --git a/drivers/staging/wilc1000/linux_wlan_common.h b/drivers/staging/wilc1000/linux_wlan_common.h
index 5d13c15..28bdc40 100644
--- a/drivers/staging/wilc1000/linux_wlan_common.h
+++ b/drivers/staging/wilc1000/linux_wlan_common.h
@@ -168,7 +168,4 @@ extern atomic_t DEBUG_LEVEL;
#define MODALIAS "WILC_SPI"
#define GPIO_NUM 0x44
#endif
-
-
-void linux_wlan_enable_irq(void);
#endif
diff --git a/drivers/staging/wilc1000/wilc_wfi_netdevice.h b/drivers/staging/wilc1000/wilc_wfi_netdevice.h
index f8064f0..cd80934 100644
--- a/drivers/staging/wilc1000/wilc_wfi_netdevice.h
+++ b/drivers/staging/wilc1000/wilc_wfi_netdevice.h
@@ -70,17 +70,7 @@ struct WILC_WFI_stats {
* This structure is private to each device. It is used to pass
* packets in and out, so there is place for a packet
*/
-
-#define RX_BH_KTHREAD 0
-#define RX_BH_WORK_QUEUE 1
-#define RX_BH_THREADED_IRQ 2
#define num_reg_frame 2
-/*
- * If you use RX_BH_WORK_QUEUE on LPC3131: You may lose the first interrupt on
- * LPC3131 which is important to get the MAC start status when you are blocked
- * inside linux_wlan_firmware_download() which blocks mac_open().
- */
- #define RX_BH_TYPE RX_BH_KTHREAD
struct wilc_wfi_key {
u8 *key;
@@ -197,12 +187,6 @@ typedef struct {
struct semaphore sync_event;
struct semaphore txq_event;
-#if (RX_BH_TYPE == RX_BH_WORK_QUEUE)
- struct work_struct rx_work_queue;
-#elif (RX_BH_TYPE == RX_BH_KTHREAD)
- struct task_struct *rx_bh_thread;
- struct semaphore rx_sem;
-#endif
struct semaphore rxq_thread_started;
struct semaphore txq_thread_started;
diff --git a/drivers/staging/wilc1000/wilc_wlan.c b/drivers/staging/wilc1000/wilc_wlan.c
index 39716ba..44100a5 100644
--- a/drivers/staging/wilc1000/wilc_wlan.c
+++ b/drivers/staging/wilc1000/wilc_wlan.c
@@ -1448,9 +1448,6 @@ void wilc_handle_isr(void)
#endif
wilc_unknown_isr_ext();
}
-#if ((!defined WILC_SDIO) || (defined WILC_SDIO_IRQ_GPIO))
- linux_wlan_enable_irq();
-#endif
release_bus(RELEASE_ALLOW_SLEEP);
}
--
1.9.1
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH 2/7] staging: wilc1000: remove useless define PHY_802_11n
2015-09-11 7:52 [PATCH 1/7] staging: wilc1000: remove PANDA_BOARD Tony Cho
2015-09-11 7:52 ` [PATCH 2/2] staging: wilc1000: remove RX_BH_TYPE Tony Cho
@ 2015-09-11 7:52 ` Tony Cho
2015-09-11 7:52 ` [PATCH 3/7] staging: wilc1000: remove unnecessary define FIVE_GHZ_BAND Tony Cho
` (4 subsequent siblings)
6 siblings, 0 replies; 11+ messages in thread
From: Tony Cho @ 2015-09-11 7:52 UTC (permalink / raw)
To: gregkh
Cc: devel, linux-wireless, johnny.kim, chris.park, rachel.kim,
tony.cho, glen.lee, leo.kim, austin.shin, adel.noureldin,
adham.abozaeid, Nicolas.FERRE
From: Glen Lee <glen.lee@atmel.com>
The define PHY_802_11n is useless because wilc1000 support 802.11n as always.
Remove PHY_802_11n and it related code.
Signed-off-by: Glen Lee <glen.lee@atmel.com>
Signed-off-by: Tony Cho <tony.cho@atmel.com>
---
drivers/staging/wilc1000/coreconfigurator.c | 5 -----
1 file changed, 5 deletions(-)
diff --git a/drivers/staging/wilc1000/coreconfigurator.c b/drivers/staging/wilc1000/coreconfigurator.c
index f393424..342df2a 100644
--- a/drivers/staging/wilc1000/coreconfigurator.c
+++ b/drivers/staging/wilc1000/coreconfigurator.c
@@ -18,7 +18,6 @@
/* Constants */
/*****************************************************************************/
#define INLINE static __inline
-#define PHY_802_11n
#define MAX_CFG_PKTLEN 1450
#define MSG_HEADER_LEN 4
#define QUERY_MSG_TYPE 'Q'
@@ -552,7 +551,6 @@ u8 get_current_channel_802_11n(u8 *pu8msa, u16 u16RxLen)
u8 get_current_channel(u8 *pu8msa, u16 u16RxLen)
{
-#ifdef PHY_802_11n
#ifdef FIVE_GHZ_BAND
/* Get the current channel as its not set in */
/* 802.11a beacons/probe response */
@@ -562,9 +560,6 @@ u8 get_current_channel(u8 *pu8msa, u16 u16RxLen)
/* the beacon/probe response frame */
return get_current_channel_802_11n(pu8msa, u16RxLen);
#endif /* FIVE_GHZ_BAND */
-#else
- return 0;
-#endif /* PHY_802_11n */
}
/**
--
1.9.1
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH 3/7] staging: wilc1000: remove unnecessary define FIVE_GHZ_BAND
2015-09-11 7:52 [PATCH 1/7] staging: wilc1000: remove PANDA_BOARD Tony Cho
2015-09-11 7:52 ` [PATCH 2/2] staging: wilc1000: remove RX_BH_TYPE Tony Cho
2015-09-11 7:52 ` [PATCH 2/7] staging: wilc1000: remove useless define PHY_802_11n Tony Cho
@ 2015-09-11 7:52 ` Tony Cho
2015-09-11 7:53 ` [PATCH 4/7] staging: wilc1000: remove unused defines Tony Cho
` (3 subsequent siblings)
6 siblings, 0 replies; 11+ messages in thread
From: Tony Cho @ 2015-09-11 7:52 UTC (permalink / raw)
To: gregkh
Cc: devel, linux-wireless, johnny.kim, chris.park, rachel.kim,
tony.cho, glen.lee, leo.kim, austin.shin, adel.noureldin,
adham.abozaeid, Nicolas.FERRE
From: Glen Lee <glen.lee@atmel.com>
wilc1000 driver does not support five Ghz band. Remove FIVE_GHZ_BAND and
it's related code.
Signed-off-by: Glen Lee <glen.lee@atmel.com>
Signed-off-by: Tony Cho <tony.cho@atmel.com>
---
drivers/staging/wilc1000/coreconfigurator.c | 6 ------
1 file changed, 6 deletions(-)
diff --git a/drivers/staging/wilc1000/coreconfigurator.c b/drivers/staging/wilc1000/coreconfigurator.c
index 342df2a..4726fac 100644
--- a/drivers/staging/wilc1000/coreconfigurator.c
+++ b/drivers/staging/wilc1000/coreconfigurator.c
@@ -551,15 +551,9 @@ u8 get_current_channel_802_11n(u8 *pu8msa, u16 u16RxLen)
u8 get_current_channel(u8 *pu8msa, u16 u16RxLen)
{
-#ifdef FIVE_GHZ_BAND
- /* Get the current channel as its not set in */
- /* 802.11a beacons/probe response */
- return (get_rf_channel() + 1);
-#else /* FIVE_GHZ_BAND */
/* Extract current channel information from */
/* the beacon/probe response frame */
return get_current_channel_802_11n(pu8msa, u16RxLen);
-#endif /* FIVE_GHZ_BAND */
}
/**
--
1.9.1
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH 4/7] staging: wilc1000: remove unused defines
2015-09-11 7:52 [PATCH 1/7] staging: wilc1000: remove PANDA_BOARD Tony Cho
` (2 preceding siblings ...)
2015-09-11 7:52 ` [PATCH 3/7] staging: wilc1000: remove unnecessary define FIVE_GHZ_BAND Tony Cho
@ 2015-09-11 7:53 ` Tony Cho
2015-09-11 7:53 ` [PATCH 5/7] staging: wilc1000: remove unnecessary extern function declaration Tony Cho
` (2 subsequent siblings)
6 siblings, 0 replies; 11+ messages in thread
From: Tony Cho @ 2015-09-11 7:53 UTC (permalink / raw)
To: gregkh
Cc: devel, linux-wireless, johnny.kim, chris.park, rachel.kim,
tony.cho, glen.lee, leo.kim, austin.shin, adel.noureldin,
adham.abozaeid, Nicolas.FERRE
From: Glen Lee <glen.lee@atmel.com>
This patch removes follwing unused defines.
MAX_CFG_PKTLEN
MSG_HEADER_LEN
QUERY_MSG_TYPE
WRITE_MSG_TYPE
RESP_MSG_TYPE
WRITE_RESP_SUCCESS
INVALID
MAC_ADDR_LEN
Signed-off-by: Glen Lee <glen.lee@atmel.com>
Signed-off-by: Tony Cho <tony.cho@atmel.com>
---
drivers/staging/wilc1000/coreconfigurator.c | 8 --------
1 file changed, 8 deletions(-)
diff --git a/drivers/staging/wilc1000/coreconfigurator.c b/drivers/staging/wilc1000/coreconfigurator.c
index 4726fac..cada26d 100644
--- a/drivers/staging/wilc1000/coreconfigurator.c
+++ b/drivers/staging/wilc1000/coreconfigurator.c
@@ -18,14 +18,6 @@
/* Constants */
/*****************************************************************************/
#define INLINE static __inline
-#define MAX_CFG_PKTLEN 1450
-#define MSG_HEADER_LEN 4
-#define QUERY_MSG_TYPE 'Q'
-#define WRITE_MSG_TYPE 'W'
-#define RESP_MSG_TYPE 'R'
-#define WRITE_RESP_SUCCESS 1
-#define INVALID 255
-#define MAC_ADDR_LEN 6
#define TAG_PARAM_OFFSET (MAC_HDR_LEN + TIME_STAMP_LEN + \
BEACON_INTERVAL_LEN + CAP_INFO_LEN)
--
1.9.1
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH 5/7] staging: wilc1000: remove unnecessary extern function declaration
2015-09-11 7:52 [PATCH 1/7] staging: wilc1000: remove PANDA_BOARD Tony Cho
` (3 preceding siblings ...)
2015-09-11 7:53 ` [PATCH 4/7] staging: wilc1000: remove unused defines Tony Cho
@ 2015-09-11 7:53 ` Tony Cho
2015-09-11 7:53 ` [PATCH 6/7] staging: wilc1000: delete unused global variables Tony Cho
2015-09-11 7:53 ` [PATCH 7/7] staging: wilc1000: remove unused variables Tony Cho
6 siblings, 0 replies; 11+ messages in thread
From: Tony Cho @ 2015-09-11 7:53 UTC (permalink / raw)
To: gregkh
Cc: devel, linux-wireless, johnny.kim, chris.park, rachel.kim,
tony.cho, glen.lee, leo.kim, austin.shin, adel.noureldin,
adham.abozaeid, Nicolas.FERRE
From: Glen Lee <glen.lee@atmel.com>
Function NetworkInfoReceived, GnrlAsyncInfoReceived and
host_int_ScanCompleteReceived are declared in the header file already.
Just removes the declaration and comments.
Signed-off-by: Glen Lee <glen.lee@atmel.com>
Signed-off-by: Tony Cho <tony.cho@atmel.com>
---
drivers/staging/wilc1000/coreconfigurator.c | 8 --------
1 file changed, 8 deletions(-)
diff --git a/drivers/staging/wilc1000/coreconfigurator.c b/drivers/staging/wilc1000/coreconfigurator.c
index cada26d..60b8961 100644
--- a/drivers/staging/wilc1000/coreconfigurator.c
+++ b/drivers/staging/wilc1000/coreconfigurator.c
@@ -137,14 +137,6 @@ typedef struct {
/* Extern Variable Declarations */
/*****************************************************************************/
-
-/*****************************************************************************/
-/* Extern Function Declarations */
-/*****************************************************************************/
-extern s32 SendRawPacket(s8 *ps8Packet, s32 s32PacketLen);
-extern void NetworkInfoReceived(u8 *pu8Buffer, u32 u32Length);
-extern void GnrlAsyncInfoReceived(u8 *pu8Buffer, u32 u32Length);
-extern void host_int_ScanCompleteReceived(u8 *pu8Buffer, u32 u32Length);
/*****************************************************************************/
/* Global Variables */
/*****************************************************************************/
--
1.9.1
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH 6/7] staging: wilc1000: delete unused global variables.
2015-09-11 7:52 [PATCH 1/7] staging: wilc1000: remove PANDA_BOARD Tony Cho
` (4 preceding siblings ...)
2015-09-11 7:53 ` [PATCH 5/7] staging: wilc1000: remove unnecessary extern function declaration Tony Cho
@ 2015-09-11 7:53 ` Tony Cho
2015-09-11 7:53 ` [PATCH 7/7] staging: wilc1000: remove unused variables Tony Cho
6 siblings, 0 replies; 11+ messages in thread
From: Tony Cho @ 2015-09-11 7:53 UTC (permalink / raw)
To: gregkh
Cc: devel, linux-wireless, johnny.kim, chris.park, rachel.kim,
tony.cho, glen.lee, leo.kim, austin.shin, adel.noureldin,
adham.abozaeid, Nicolas.FERRE
From: Glen Lee <glen.lee@atmel.com>
gstrConfigPktInfo, SemHandleSendPkt and SemHandlePktResp are never used in
the drivers. So just delete the variables and it's related code.
Signed-off-by: Glen Lee <glen.lee@atmel.com>
Signed-off-by: Tony Cho <tony.cho@atmel.com>
---
drivers/staging/wilc1000/coreconfigurator.c | 11 -----------
1 file changed, 11 deletions(-)
diff --git a/drivers/staging/wilc1000/coreconfigurator.c b/drivers/staging/wilc1000/coreconfigurator.c
index 60b8961..ac97830 100644
--- a/drivers/staging/wilc1000/coreconfigurator.c
+++ b/drivers/staging/wilc1000/coreconfigurator.c
@@ -140,12 +140,6 @@ typedef struct {
/*****************************************************************************/
/* Global Variables */
/*****************************************************************************/
-static struct semaphore SemHandleSendPkt;
-static struct semaphore SemHandlePktResp;
-
-
-static tstrConfigPktInfo gstrConfigPktInfo;
-
/* WID Switches */
static tstrWID gastrWIDs[] = {
{WID_FIRMWARE_VERSION, WID_STR},
@@ -477,11 +471,6 @@ s32 CoreConfiguratorInit(void)
PRINT_D(CORECONFIG_DBG, "CoreConfiguratorInit()\n");
- sema_init(&SemHandleSendPkt, 1);
- sema_init(&SemHandlePktResp, 0);
-
-
- memset((void *)(&gstrConfigPktInfo), 0, sizeof(tstrConfigPktInfo));
return s32Error;
}
--
1.9.1
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH 7/7] staging: wilc1000: remove unused variables
2015-09-11 7:52 [PATCH 1/7] staging: wilc1000: remove PANDA_BOARD Tony Cho
` (5 preceding siblings ...)
2015-09-11 7:53 ` [PATCH 6/7] staging: wilc1000: delete unused global variables Tony Cho
@ 2015-09-11 7:53 ` Tony Cho
6 siblings, 0 replies; 11+ messages in thread
From: Tony Cho @ 2015-09-11 7:53 UTC (permalink / raw)
To: gregkh
Cc: devel, linux-wireless, johnny.kim, chris.park, rachel.kim,
tony.cho, glen.lee, leo.kim, austin.shin, adel.noureldin,
adham.abozaeid, Nicolas.FERRE
From: Glen Lee <glen.lee@atmel.com>
Variable g_num_total_switches is never used so just remove it.
gastrWIDs is also not used because g_num_total_switches is deleted.
Remove gastrWIDs also.
Signed-off-by: Glen Lee <glen.lee@atmel.com>
Signed-off-by: Tony Cho <tony.cho@atmel.com>
---
drivers/staging/wilc1000/coreconfigurator.c | 127 ----------------------------
1 file changed, 127 deletions(-)
diff --git a/drivers/staging/wilc1000/coreconfigurator.c b/drivers/staging/wilc1000/coreconfigurator.c
index ac97830..e0dd4820 100644
--- a/drivers/staging/wilc1000/coreconfigurator.c
+++ b/drivers/staging/wilc1000/coreconfigurator.c
@@ -140,133 +140,6 @@ typedef struct {
/*****************************************************************************/
/* Global Variables */
/*****************************************************************************/
-/* WID Switches */
-static tstrWID gastrWIDs[] = {
- {WID_FIRMWARE_VERSION, WID_STR},
- {WID_PHY_VERSION, WID_STR},
- {WID_HARDWARE_VERSION, WID_STR},
- {WID_BSS_TYPE, WID_CHAR},
- {WID_QOS_ENABLE, WID_CHAR},
- {WID_11I_MODE, WID_CHAR},
- {WID_CURRENT_TX_RATE, WID_CHAR},
- {WID_LINKSPEED, WID_CHAR},
- {WID_RTS_THRESHOLD, WID_SHORT},
- {WID_FRAG_THRESHOLD, WID_SHORT},
- {WID_SSID, WID_STR},
- {WID_BSSID, WID_ADR},
- {WID_BEACON_INTERVAL, WID_SHORT},
- {WID_POWER_MANAGEMENT, WID_CHAR},
- {WID_LISTEN_INTERVAL, WID_CHAR},
- {WID_DTIM_PERIOD, WID_CHAR},
- {WID_CURRENT_CHANNEL, WID_CHAR},
- {WID_TX_POWER_LEVEL_11A, WID_CHAR},
- {WID_TX_POWER_LEVEL_11B, WID_CHAR},
- {WID_PREAMBLE, WID_CHAR},
- {WID_11G_OPERATING_MODE, WID_CHAR},
- {WID_MAC_ADDR, WID_ADR},
- {WID_IP_ADDRESS, WID_ADR},
- {WID_ACK_POLICY, WID_CHAR},
- {WID_PHY_ACTIVE_REG, WID_CHAR},
- {WID_AUTH_TYPE, WID_CHAR},
- {WID_REKEY_POLICY, WID_CHAR},
- {WID_REKEY_PERIOD, WID_INT},
- {WID_REKEY_PACKET_COUNT, WID_INT},
- {WID_11I_PSK, WID_STR},
- {WID_1X_KEY, WID_STR},
- {WID_1X_SERV_ADDR, WID_IP},
- {WID_SUPP_USERNAME, WID_STR},
- {WID_SUPP_PASSWORD, WID_STR},
- {WID_USER_CONTROL_ON_TX_POWER, WID_CHAR},
- {WID_MEMORY_ADDRESS, WID_INT},
- {WID_MEMORY_ACCESS_32BIT, WID_INT},
- {WID_MEMORY_ACCESS_16BIT, WID_SHORT},
- {WID_MEMORY_ACCESS_8BIT, WID_CHAR},
- {WID_SITE_SURVEY_RESULTS, WID_STR},
- {WID_PMKID_INFO, WID_STR},
- {WID_ASSOC_RES_INFO, WID_STR},
- {WID_MANUFACTURER, WID_STR}, /* 4 Wids added for the CAPI tool*/
- {WID_MODEL_NAME, WID_STR},
- {WID_MODEL_NUM, WID_STR},
- {WID_DEVICE_NAME, WID_STR},
- {WID_SSID_PROBE_REQ, WID_STR},
-
-#ifdef MAC_802_11N
- {WID_11N_ENABLE, WID_CHAR},
- {WID_11N_CURRENT_TX_MCS, WID_CHAR},
- {WID_TX_POWER_LEVEL_11N, WID_CHAR},
- {WID_11N_OPERATING_MODE, WID_CHAR},
- {WID_11N_SMPS_MODE, WID_CHAR},
- {WID_11N_PROT_MECH, WID_CHAR},
- {WID_11N_ERP_PROT_TYPE, WID_CHAR},
- {WID_11N_HT_PROT_TYPE, WID_CHAR},
- {WID_11N_PHY_ACTIVE_REG_VAL, WID_INT},
- {WID_11N_PRINT_STATS, WID_CHAR},
- {WID_11N_AUTORATE_TABLE, WID_BIN_DATA},
- {WID_HOST_CONFIG_IF_TYPE, WID_CHAR},
- {WID_HOST_DATA_IF_TYPE, WID_CHAR},
- {WID_11N_SIG_QUAL_VAL, WID_SHORT},
- {WID_11N_IMMEDIATE_BA_ENABLED, WID_CHAR},
- {WID_11N_TXOP_PROT_DISABLE, WID_CHAR},
- {WID_11N_SHORT_GI_20MHZ_ENABLE, WID_CHAR},
- {WID_SHORT_SLOT_ALLOWED, WID_CHAR},
- {WID_11W_ENABLE, WID_CHAR},
- {WID_11W_MGMT_PROT_REQ, WID_CHAR},
- {WID_2040_ENABLE, WID_CHAR},
- {WID_2040_COEXISTENCE, WID_CHAR},
- {WID_USER_SEC_CHANNEL_OFFSET, WID_CHAR},
- {WID_2040_CURR_CHANNEL_OFFSET, WID_CHAR},
- {WID_2040_40MHZ_INTOLERANT, WID_CHAR},
- {WID_HUT_RESTART, WID_CHAR},
- {WID_HUT_NUM_TX_PKTS, WID_INT},
- {WID_HUT_FRAME_LEN, WID_SHORT},
- {WID_HUT_TX_FORMAT, WID_CHAR},
- {WID_HUT_BANDWIDTH, WID_CHAR},
- {WID_HUT_OP_BAND, WID_CHAR},
- {WID_HUT_STBC, WID_CHAR},
- {WID_HUT_ESS, WID_CHAR},
- {WID_HUT_ANTSET, WID_CHAR},
- {WID_HUT_HT_OP_MODE, WID_CHAR},
- {WID_HUT_RIFS_MODE, WID_CHAR},
- {WID_HUT_SMOOTHING_REC, WID_CHAR},
- {WID_HUT_SOUNDING_PKT, WID_CHAR},
- {WID_HUT_HT_CODING, WID_CHAR},
- {WID_HUT_TEST_DIR, WID_CHAR},
- {WID_HUT_TXOP_LIMIT, WID_SHORT},
- {WID_HUT_DEST_ADDR, WID_ADR},
- {WID_HUT_TX_PATTERN, WID_BIN_DATA},
- {WID_HUT_TX_TIME_TAKEN, WID_INT},
- {WID_HUT_PHY_TEST_MODE, WID_CHAR},
- {WID_HUT_PHY_TEST_RATE_HI, WID_CHAR},
- {WID_HUT_PHY_TEST_RATE_LO, WID_CHAR},
- {WID_HUT_TX_TEST_TIME, WID_INT},
- {WID_HUT_LOG_INTERVAL, WID_INT},
- {WID_HUT_DISABLE_RXQ_REPLENISH, WID_CHAR},
- {WID_HUT_TEST_ID, WID_STR},
- {WID_HUT_KEY_ORIGIN, WID_CHAR},
- {WID_HUT_BCST_PERCENT, WID_CHAR},
- {WID_HUT_GROUP_CIPHER_TYPE, WID_CHAR},
- {WID_HUT_STATS, WID_BIN_DATA},
- {WID_HUT_TSF_TEST_MODE, WID_CHAR},
- {WID_HUT_SIG_QUAL_AVG, WID_SHORT},
- {WID_HUT_SIG_QUAL_AVG_CNT, WID_SHORT},
- {WID_HUT_TSSI_VALUE, WID_CHAR},
- {WID_HUT_MGMT_PERCENT, WID_CHAR},
- {WID_HUT_MGMT_BCST_PERCENT, WID_CHAR},
- {WID_HUT_MGMT_ALLOW_HT, WID_CHAR},
- {WID_HUT_UC_MGMT_TYPE, WID_CHAR},
- {WID_HUT_BC_MGMT_TYPE, WID_CHAR},
- {WID_HUT_UC_MGMT_FRAME_LEN, WID_SHORT},
- {WID_HUT_BC_MGMT_FRAME_LEN, WID_SHORT},
- {WID_HUT_11W_MFP_REQUIRED_TX, WID_CHAR},
- {WID_HUT_11W_MFP_PEER_CAPABLE, WID_CHAR},
- {WID_HUT_11W_TX_IGTK_ID, WID_CHAR},
- {WID_HUT_FC_TXOP_MOD, WID_CHAR},
- {WID_HUT_FC_PROT_TYPE, WID_CHAR},
- {WID_HUT_SEC_CCA_ASSERT, WID_CHAR},
-#endif /* MAC_802_11N */
-};
-
-u16 g_num_total_switches = (sizeof(gastrWIDs) / sizeof(tstrWID));
/*****************************************************************************/
/* Static Function Declarations */
/*****************************************************************************/
--
1.9.1
^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: [PATCH 2/2] staging: wilc1000: remove RX_BH_TYPE
2015-09-11 7:52 ` [PATCH 2/2] staging: wilc1000: remove RX_BH_TYPE Tony Cho
@ 2015-09-15 1:17 ` Tony Cho
2015-09-15 13:31 ` Greg KH
0 siblings, 1 reply; 11+ messages in thread
From: Tony Cho @ 2015-09-15 1:17 UTC (permalink / raw)
To: gregkh
Cc: devel, linux-wireless, johnny.kim, chris.park, rachel.kim,
glen.lee, leo.kim, austin.shin, adel.noureldin, adham.abozaeid,
Nicolas.FERRE
Hi Greg,
I am sorry but please ignore this patch in this time.
It's my mistake to include this patch from my queue into the series of 7 patches.
Thanks,
Tony.
On 2015년 09월 11일 16:52, Tony Cho wrote:
> This patch removes the preprocessor definition, RX_BH_TYPE and uses the
> request_threaded_irq instead of kernel thread to execute the interrupt
> handler.
>
> As a result, linux_wlan_enable_irq() and linux_wlan_disable_irq() are also
> removed from the linux_wlan.c file.
>
> Signed-off-by: Tony Cho <tony.cho@atmel.com>
> ---
> drivers/staging/wilc1000/linux_wlan.c | 148 +-------------------------
> drivers/staging/wilc1000/linux_wlan_common.h | 3 -
> drivers/staging/wilc1000/wilc_wfi_netdevice.h | 16 ---
> drivers/staging/wilc1000/wilc_wlan.c | 3 -
> 4 files changed, 2 insertions(+), 168 deletions(-)
>
> diff --git a/drivers/staging/wilc1000/linux_wlan.c b/drivers/staging/wilc1000/linux_wlan.c
> index 9be0282..7265f93 100644
> --- a/drivers/staging/wilc1000/linux_wlan.c
> +++ b/drivers/staging/wilc1000/linux_wlan.c
> @@ -300,89 +300,31 @@ static int dev_state_ev_handler(struct notifier_block *this, unsigned long event
> }
> #endif
>
> -/*
> - * Interrupt initialization and handling functions
> - */
> -
> -void linux_wlan_enable_irq(void)
> -{
> -
> -#if (RX_BH_TYPE != RX_BH_THREADED_IRQ)
> -#if (defined WILC_SPI) || (defined WILC_SDIO_IRQ_GPIO)
> - PRINT_D(INT_DBG, "Enabling IRQ ...\n");
> - enable_irq(g_linux_wlan->dev_irq_num);
> -#endif
> -#endif
> -}
> -
> -void linux_wlan_disable_irq(int wait)
> -{
> -#if (defined WILC_SPI) || (defined WILC_SDIO_IRQ_GPIO)
> - if (wait) {
> - PRINT_D(INT_DBG, "Disabling IRQ ...\n");
> - disable_irq(g_linux_wlan->dev_irq_num);
> - } else {
> - PRINT_D(INT_DBG, "Disabling IRQ ...\n");
> - disable_irq_nosync(g_linux_wlan->dev_irq_num);
> - }
> -#endif
> -}
> -
> #if (defined WILC_SPI) || (defined WILC_SDIO_IRQ_GPIO)
> static irqreturn_t isr_uh_routine(int irq, void *user_data)
> {
> -#if (RX_BH_TYPE != RX_BH_THREADED_IRQ)
> - linux_wlan_disable_irq(IRQ_NO_WAIT);
> -#endif
> PRINT_D(INT_DBG, "Interrupt received UH\n");
>
> /*While mac is closing cacncel the handling of any interrupts received*/
> if (g_linux_wlan->close) {
> PRINT_ER("Driver is CLOSING: Can't handle UH interrupt\n");
> - #if (RX_BH_TYPE == RX_BH_THREADED_IRQ)
> return IRQ_HANDLED;
> - #else
> - return IRQ_NONE;
> - #endif
> -
> }
> -#if (RX_BH_TYPE == RX_BH_WORK_QUEUE)
> - schedule_work(&g_linux_wlan->rx_work_queue);
> - return IRQ_HANDLED;
> -#elif (RX_BH_TYPE == RX_BH_KTHREAD)
> - up(&g_linux_wlan->rx_sem);
> - return IRQ_HANDLED;
> -#elif (RX_BH_TYPE == RX_BH_THREADED_IRQ)
> return IRQ_WAKE_THREAD;
> -#endif
>
> }
> #endif
>
> -#if (RX_BH_TYPE == RX_BH_WORK_QUEUE || RX_BH_TYPE == RX_BH_THREADED_IRQ)
> -
> -#if (RX_BH_TYPE == RX_BH_THREADED_IRQ)
> irqreturn_t isr_bh_routine(int irq, void *userdata)
> {
> linux_wlan_t *nic;
>
> nic = (linux_wlan_t *)userdata;
> -#else
> -static void isr_bh_routine(struct work_struct *work)
> -{
> - perInterface_wlan_t *nic;
> -
> - nic = (perInterface_wlan_t *)container_of(work, linux_wlan_t, rx_work_queue);
> -#endif
>
> /*While mac is closing cacncel the handling of any interrupts received*/
> if (g_linux_wlan->close) {
> PRINT_ER("Driver is CLOSING: Can't handle BH interrupt\n");
> - #if (RX_BH_TYPE == RX_BH_THREADED_IRQ)
> return IRQ_HANDLED;
> - #else
> - return;
> - #endif
> }
>
> PRINT_D(INT_DBG, "Interrupt received BH\n");
> @@ -391,36 +333,8 @@ static void isr_bh_routine(struct work_struct *work)
> else
> PRINT_ER("wlan_handle_rx_isr() hasn't been initialized\n");
>
> -#if (RX_BH_TYPE == RX_BH_THREADED_IRQ)
> return IRQ_HANDLED;
> -#endif
> -}
> -#elif (RX_BH_TYPE == RX_BH_KTHREAD)
> -static int isr_bh_routine(void *vp)
> -{
> - linux_wlan_t *nic;
> -
> - nic = (linux_wlan_t *)vp;
> -
> - while (1) {
> - down(&nic->rx_sem);
> - if (g_linux_wlan->close) {
> -
> - while (!kthread_should_stop())
> - schedule();
> -
> - break;
> - }
> - PRINT_D(INT_DBG, "Interrupt received BH\n");
> - if (g_linux_wlan->oup.wlan_handle_rx_isr != 0)
> - g_linux_wlan->oup.wlan_handle_rx_isr();
> - else
> - PRINT_ER("wlan_handle_rx_isr() hasn't been initialized\n");
> - }
> -
> - return 0;
> }
> -#endif
>
> #if (defined WILC_SPI) || (defined WILC_SDIO_IRQ_GPIO)
> static int init_irq(linux_wlan_t *p_nic)
> @@ -446,17 +360,10 @@ static int init_irq(linux_wlan_t *p_nic)
> PRINT_ER("could not obtain gpio for WILC_INTR\n");
> }
>
> -#if (RX_BH_TYPE == RX_BH_THREADED_IRQ)
> if ((ret != -1) && (request_threaded_irq(nic->dev_irq_num, isr_uh_routine, isr_bh_routine,
> IRQF_TRIGGER_LOW | IRQF_ONESHOT, /*Without IRQF_ONESHOT the uh will remain kicked in and dont gave a chance to bh*/
> "WILC_IRQ", nic)) < 0) {
>
> -#else
> - /*Request IRQ*/
> - if ((ret != -1) && (request_irq(nic->dev_irq_num, isr_uh_routine,
> - IRQF_TRIGGER_LOW, "WILC_IRQ", nic) < 0)) {
> -
> -#endif
> PRINT_ER("Failed to request IRQ for GPIO: %d\n", GPIO_NUM);
> ret = -1;
> } else {
> @@ -1105,18 +1012,11 @@ void wilc1000_wlan_deinit(linux_wlan_t *nic)
> #endif
>
> PRINT_D(INIT_DBG, "Disabling IRQ\n");
> - #if (!defined WILC_SDIO) || (defined WILC_SDIO_IRQ_GPIO)
> - linux_wlan_disable_irq(IRQ_WAIT);
> - #else
> - #if defined(PLAT_ALLWINNER_A20) || defined(PLAT_ALLWINNER_A23) || defined(PLAT_ALLWINNER_A31)
> -
> - #else
> + #ifdef WILC_SDIO
> mutex_lock(&g_linux_wlan->hif_cs);
> disable_sdio_interrupt();
> mutex_unlock(&g_linux_wlan->hif_cs);
> - #endif
> - #endif
> -
> + #endif
> /* not sure if the following unlocks are needed or not*/
> if (&g_linux_wlan->rxq_event != NULL)
> up(&g_linux_wlan->rxq_event);
> @@ -1124,16 +1024,6 @@ void wilc1000_wlan_deinit(linux_wlan_t *nic)
> if (&g_linux_wlan->txq_event != NULL)
> up(&g_linux_wlan->txq_event);
>
> - #if (RX_BH_TYPE == RX_BH_WORK_QUEUE)
> - /*Removing the work struct from the linux kernel workqueue*/
> - if (&g_linux_wlan->rx_work_queue != NULL)
> - flush_work(&g_linux_wlan->rx_work_queue);
> -
> - #elif (RX_BH_TYPE == RX_BH_KTHREAD)
> - /* if(&nic->rx_sem != NULL) */
> - /* up(&nic->rx_sem); */
> - #endif
> -
> PRINT_D(INIT_DBG, "Deinitializing Threads\n");
> wlan_deinitialize_threads(nic);
>
> @@ -1193,10 +1083,6 @@ int wlan_init_locks(linux_wlan_t *p_nic)
> sema_init(&g_linux_wlan->rxq_thread_started, 0);
> sema_init(&g_linux_wlan->txq_thread_started, 0);
>
> - #if (RX_BH_TYPE == RX_BH_KTHREAD)
> - sema_init(&g_linux_wlan->rx_sem, 0);
> - #endif
> -
> return 0;
> }
>
> @@ -1274,19 +1160,6 @@ int wlan_initialize_threads(perInterface_wlan_t *nic)
>
> PRINT_D(INIT_DBG, "Initializing Threads ...\n");
>
> -#if (RX_BH_TYPE == RX_BH_WORK_QUEUE)
> - /*Initialize rx work queue task*/
> - INIT_WORK(&g_linux_wlan->rx_work_queue, isr_bh_routine);
> -#elif (RX_BH_TYPE == RX_BH_KTHREAD)
> - PRINT_D(INIT_DBG, "Creating kthread for Rxq BH\n");
> - g_linux_wlan->rx_bh_thread = kthread_run(isr_bh_routine, (void *)g_linux_wlan, "K_RXQ_BH");
> - if (g_linux_wlan->rx_bh_thread == 0) {
> - PRINT_ER("couldn't create RX BH thread\n");
> - ret = -ENOBUFS;
> - goto _fail_;
> - }
> -#endif
> -
> #ifndef TCP_ENHANCEMENTS
> /* create rx task */
> PRINT_D(INIT_DBG, "Creating kthread for reception\n");
> @@ -1333,13 +1206,6 @@ _fail_2:
> #ifndef TCP_ENHANCEMENTS
> _fail_1:
> #endif
> - #if (RX_BH_TYPE == RX_BH_KTHREAD)
> - /*De-Initialize 1st thread*/
> - g_linux_wlan->close = 1;
> - up(&g_linux_wlan->rx_sem);
> - kthread_stop(g_linux_wlan->rx_bh_thread);
> -_fail_:
> - #endif
> g_linux_wlan->close = 0;
> return ret;
> }
> @@ -1364,16 +1230,6 @@ static void wlan_deinitialize_threads(linux_wlan_t *nic)
> kthread_stop(g_linux_wlan->txq_thread);
> g_linux_wlan->txq_thread = NULL;
> }
> -
> - #if (RX_BH_TYPE == RX_BH_KTHREAD)
> - if (&g_linux_wlan->rx_sem != NULL)
> - up(&g_linux_wlan->rx_sem);
> -
> - if (g_linux_wlan->rx_bh_thread != NULL) {
> - kthread_stop(g_linux_wlan->rx_bh_thread);
> - g_linux_wlan->rx_bh_thread = NULL;
> - }
> - #endif
> }
>
> #ifdef COMPLEMENT_BOOT
> diff --git a/drivers/staging/wilc1000/linux_wlan_common.h b/drivers/staging/wilc1000/linux_wlan_common.h
> index 5d13c15..28bdc40 100644
> --- a/drivers/staging/wilc1000/linux_wlan_common.h
> +++ b/drivers/staging/wilc1000/linux_wlan_common.h
> @@ -168,7 +168,4 @@ extern atomic_t DEBUG_LEVEL;
> #define MODALIAS "WILC_SPI"
> #define GPIO_NUM 0x44
> #endif
> -
> -
> -void linux_wlan_enable_irq(void);
> #endif
> diff --git a/drivers/staging/wilc1000/wilc_wfi_netdevice.h b/drivers/staging/wilc1000/wilc_wfi_netdevice.h
> index f8064f0..cd80934 100644
> --- a/drivers/staging/wilc1000/wilc_wfi_netdevice.h
> +++ b/drivers/staging/wilc1000/wilc_wfi_netdevice.h
> @@ -70,17 +70,7 @@ struct WILC_WFI_stats {
> * This structure is private to each device. It is used to pass
> * packets in and out, so there is place for a packet
> */
> -
> -#define RX_BH_KTHREAD 0
> -#define RX_BH_WORK_QUEUE 1
> -#define RX_BH_THREADED_IRQ 2
> #define num_reg_frame 2
> -/*
> - * If you use RX_BH_WORK_QUEUE on LPC3131: You may lose the first interrupt on
> - * LPC3131 which is important to get the MAC start status when you are blocked
> - * inside linux_wlan_firmware_download() which blocks mac_open().
> - */
> - #define RX_BH_TYPE RX_BH_KTHREAD
>
> struct wilc_wfi_key {
> u8 *key;
> @@ -197,12 +187,6 @@ typedef struct {
> struct semaphore sync_event;
> struct semaphore txq_event;
>
> -#if (RX_BH_TYPE == RX_BH_WORK_QUEUE)
> - struct work_struct rx_work_queue;
> -#elif (RX_BH_TYPE == RX_BH_KTHREAD)
> - struct task_struct *rx_bh_thread;
> - struct semaphore rx_sem;
> -#endif
> struct semaphore rxq_thread_started;
> struct semaphore txq_thread_started;
>
> diff --git a/drivers/staging/wilc1000/wilc_wlan.c b/drivers/staging/wilc1000/wilc_wlan.c
> index 39716ba..44100a5 100644
> --- a/drivers/staging/wilc1000/wilc_wlan.c
> +++ b/drivers/staging/wilc1000/wilc_wlan.c
> @@ -1448,9 +1448,6 @@ void wilc_handle_isr(void)
> #endif
> wilc_unknown_isr_ext();
> }
> -#if ((!defined WILC_SDIO) || (defined WILC_SDIO_IRQ_GPIO))
> - linux_wlan_enable_irq();
> -#endif
> release_bus(RELEASE_ALLOW_SLEEP);
> }
>
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 2/2] staging: wilc1000: remove RX_BH_TYPE
2015-09-15 1:17 ` Tony Cho
@ 2015-09-15 13:31 ` Greg KH
2015-09-16 1:19 ` Tony Cho
0 siblings, 1 reply; 11+ messages in thread
From: Greg KH @ 2015-09-15 13:31 UTC (permalink / raw)
To: Tony Cho
Cc: devel, linux-wireless, johnny.kim, chris.park, rachel.kim,
glen.lee, leo.kim, austin.shin, adel.noureldin, adham.abozaeid,
Nicolas.FERRE
On Tue, Sep 15, 2015 at 10:17:41AM +0900, Tony Cho wrote:
> Hi Greg,
>
> I am sorry but please ignore this patch in this time.
It's already in my tree, right? I can revert it if you want me to, but
I can't ignore it anymore, sorry.
greg k-h
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 2/2] staging: wilc1000: remove RX_BH_TYPE
2015-09-15 13:31 ` Greg KH
@ 2015-09-16 1:19 ` Tony Cho
0 siblings, 0 replies; 11+ messages in thread
From: Tony Cho @ 2015-09-16 1:19 UTC (permalink / raw)
To: Greg KH
Cc: devel, linux-wireless, johnny.kim, chris.park, rachel.kim,
glen.lee, leo.kim, austin.shin, adel.noureldin, adham.abozaeid,
Nicolas.FERRE
Hi Greg,
If it's already in your tree and can be applied alone, no problem to me. I will later send remaining series of it.
Thanks,
Tony.
On 2015년 09월 15일 22:31, Greg KH wrote:
> On Tue, Sep 15, 2015 at 10:17:41AM +0900, Tony Cho wrote:
>> Hi Greg,
>>
>> I am sorry but please ignore this patch in this time.
> It's already in my tree, right? I can revert it if you want me to, but
> I can't ignore it anymore, sorry.
>
> greg k-h
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2015-09-16 1:19 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-09-11 7:52 [PATCH 1/7] staging: wilc1000: remove PANDA_BOARD Tony Cho
2015-09-11 7:52 ` [PATCH 2/2] staging: wilc1000: remove RX_BH_TYPE Tony Cho
2015-09-15 1:17 ` Tony Cho
2015-09-15 13:31 ` Greg KH
2015-09-16 1:19 ` Tony Cho
2015-09-11 7:52 ` [PATCH 2/7] staging: wilc1000: remove useless define PHY_802_11n Tony Cho
2015-09-11 7:52 ` [PATCH 3/7] staging: wilc1000: remove unnecessary define FIVE_GHZ_BAND Tony Cho
2015-09-11 7:53 ` [PATCH 4/7] staging: wilc1000: remove unused defines Tony Cho
2015-09-11 7:53 ` [PATCH 5/7] staging: wilc1000: remove unnecessary extern function declaration Tony Cho
2015-09-11 7:53 ` [PATCH 6/7] staging: wilc1000: delete unused global variables Tony Cho
2015-09-11 7:53 ` [PATCH 7/7] staging: wilc1000: remove unused variables Tony Cho
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.