From: hschang Date: Wed, 17 Dec 2014 10:18:02 +0000 (+0900) Subject: [realtek] remove old r8712u/r8192cu drivers. X-Git-Url: http://code.vuplus.com/gitweb/?p=vuplus_openvuplus_3.0;a=commitdiff_plain;h=0b39f2c6af8685e2cc8d02fd1ca62f1d5e30ef62 [realtek] remove old r8712u/r8192cu drivers. --- diff --git a/meta-openvuplus/recipes-connectivity/realtek/r8192cu-3.1.2590.20110922/linux_3.1.patch b/meta-openvuplus/recipes-connectivity/realtek/r8192cu-3.1.2590.20110922/linux_3.1.patch deleted file mode 100644 index 3d6e3d2..0000000 --- a/meta-openvuplus/recipes-connectivity/realtek/r8192cu-3.1.2590.20110922/linux_3.1.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff --git a/include/osdep_service.h b/include/osdep_service.h -index 4aa6478..c15539b 100755 ---- a/include/osdep_service.h -+++ b/include/osdep_service.h -@@ -46,7 +46,6 @@ - #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,5)) - #include - #endif -- #include - #include - #include - #include -diff --git a/include/rtw_io.h b/include/rtw_io.h -index 15065c6..dab90b7 100755 ---- a/include/rtw_io.h -+++ b/include/rtw_io.h -@@ -33,7 +33,6 @@ - #include - #endif - #include --#include - #include - #include - diff --git a/meta-openvuplus/recipes-connectivity/realtek/r8192cu-3.1.2590.20110922/makefile.patch b/meta-openvuplus/recipes-connectivity/realtek/r8192cu-3.1.2590.20110922/makefile.patch deleted file mode 100755 index a8539ca..0000000 --- a/meta-openvuplus/recipes-connectivity/realtek/r8192cu-3.1.2590.20110922/makefile.patch +++ /dev/null @@ -1,26 +0,0 @@ -diff --git a/Makefile b/Makefile -index b3ccaf2..9e44425 100755 ---- a/Makefile -+++ b/Makefile -@@ -39,7 +39,7 @@ CONFIG_PLATFORM_ANDROID_X86 = n - CONFIG_PLATFORM_ARM_S3C2K4 = n - CONFIG_PLATFORM_ARM_PXA2XX = n - CONFIG_PLATFORM_ARM_S3C6K4 = n --CONFIG_PLATFORM_MIPS_RMI = n -+CONFIG_PLATFORM_MIPS_RMI = y - CONFIG_PLATFORM_RTD2880B = n - CONFIG_PLATFORM_MIPS_AR9132 = n - CONFIG_PLATFORM_RTK_DMP = n -@@ -288,9 +288,9 @@ endif - ifeq ($(CONFIG_PLATFORM_MIPS_RMI), y) - EXTRA_CFLAGS += -DCONFIG_LITTLE_ENDIAN - ARCH:=mips --CROSS_COMPILE:=mipsisa32r2-uclibc- --KVER:= --KSRC:= /root/work/kernel_realtek -+#CROSS_COMPILE:=mipsisa32r2-uclibc- -+#KVER:= -+#KSRC:= /root/work/kernel_realtek - endif - - ifeq ($(CONFIG_PLATFORM_MIPS_PLM), y) diff --git a/meta-openvuplus/recipes-connectivity/realtek/r8192cu-3.1.2590.20110922/rtl8192_8188CU_linux_v3.1.2590.20110922.tar.gz b/meta-openvuplus/recipes-connectivity/realtek/r8192cu-3.1.2590.20110922/rtl8192_8188CU_linux_v3.1.2590.20110922.tar.gz deleted file mode 100644 index 5b3a020..0000000 Binary files a/meta-openvuplus/recipes-connectivity/realtek/r8192cu-3.1.2590.20110922/rtl8192_8188CU_linux_v3.1.2590.20110922.tar.gz and /dev/null differ diff --git a/meta-openvuplus/recipes-connectivity/realtek/r8192cu-3.4.4.4749.20121105/r8192cu_build_fix.patch b/meta-openvuplus/recipes-connectivity/realtek/r8192cu-3.4.4.4749.20121105/r8192cu_build_fix.patch deleted file mode 100644 index 9979e51..0000000 --- a/meta-openvuplus/recipes-connectivity/realtek/r8192cu-3.4.4.4749.20121105/r8192cu_build_fix.patch +++ /dev/null @@ -1,1614 +0,0 @@ -################################################################################ -# This file is part of OpenELEC - http://www.openelec.tv -# Copyright (C) 2009-2014 Stephan Raue (stephan@openelec.tv) -# -# OpenELEC is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 2 of the License, or -# (at your option) any later version. -# -# OpenELEC is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with OpenELEC. If not, see . -################################################################################ -commit 710c9ba0aab6c2d50b046b22f1405b12b7ebbff3 -Author: hschang -Date: Tue Feb 25 16:49:51 2014 +0900 - - patch for lastest kernel(>= 3.10.0) - -diff --git a/core/rtw_debug.c b/core/rtw_debug.c -index 04e472d..d4f6e7d 100644 ---- a/core/rtw_debug.c -+++ b/core/rtw_debug.c -@@ -62,6 +62,7 @@ - #ifdef CONFIG_PROC_DEBUG - #include - -+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0) - int proc_get_drv_version(char *page, char **start, - off_t offset, int count, - int *eof, void *data) -@@ -75,7 +76,15 @@ int proc_get_drv_version(char *page, char **start, - *eof = 1; - return len; - } -+#else -+int proc_get_drv_version(struct seq_file *m, void* data) -+{ -+ seq_printf(m, "%s\n", DRIVERVERSION); -+ return 0; -+} -+#endif - -+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0) - int proc_get_write_reg(char *page, char **start, - off_t offset, int count, - int *eof, void *data) -@@ -83,7 +92,14 @@ int proc_get_write_reg(char *page, char **start, - *eof = 1; - return 0; - } -+#else -+int proc_get_write_reg(struct seq_file *m, void* data) -+{ -+ return 0; -+} -+#endif - -+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0) - int proc_set_write_reg(struct file *file, const char *buffer, - unsigned long count, void *data) - { -@@ -128,10 +144,59 @@ int proc_set_write_reg(struct file *file, const char *buffer, - return count; - - } -+#else -+int proc_set_write_reg_open(struct seq_file *m, void* data) -+{ -+ return 0; -+} -+ -+ssize_t proc_set_write_reg(struct file *file, const char *buffer, size_t count, loff_t *pos) -+{ -+ struct net_device *dev = (struct net_device *)pos; -+ _adapter *padapter = (_adapter *)rtw_netdev_priv(dev); -+ char tmp[32]; -+ u32 addr, val, len; -+ -+ if (count < 3) -+ { -+ DBG_8192C("argument size is less than 3\n"); -+ return -EFAULT; -+ } -+ len = min(count, sizeof(tmp)-1); -+ if (buffer && !copy_from_user(tmp, buffer, len)) { -+ tmp[len] = '\0'; -+ -+ if(sscanf(tmp, "%x %x %x", &addr, &val, &len)!=3) { -+ DBG_8192C("invalid write_reg parameter!\n"); -+ return -EFAULT; -+ } -+ -+ switch(len) -+ { -+ case 1: -+ rtw_write8(padapter, addr, (u8)val); -+ break; -+ case 2: -+ rtw_write16(padapter, addr, (u16)val); -+ break; -+ case 4: -+ rtw_write32(padapter, addr, val); -+ break; -+ default: -+ DBG_8192C("error write length=%d", len); -+ break; -+ } -+ -+ } -+ -+ return count; -+} -+#endif - - static u32 proc_get_read_addr=0xeeeeeeee; - static u32 proc_get_read_len=0x4; - -+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0) - int proc_get_read_reg(char *page, char **start, - off_t offset, int count, - int *eof, void *data) -@@ -199,7 +264,77 @@ int proc_set_read_reg(struct file *file, const char *buffer, - return count; - - } -+#else -+int proc_get_read_reg(struct seq_file *m, void* data) -+{ -+ struct net_device *dev = m->private; -+ _adapter *padapter = (_adapter *)rtw_netdev_priv(dev); - -+ if(proc_get_read_addr==0xeeeeeeee) -+ { -+ return 0; -+ } -+ -+ switch(proc_get_read_len) -+ { -+ case 1: -+ seq_printf(m, "rtw_read8(0x%x)=0x%x\n", proc_get_read_addr, rtw_read8(padapter, proc_get_read_addr)); -+ break; -+ case 2: -+ seq_printf(m, "rtw_read16(0x%x)=0x%x\n", proc_get_read_addr, rtw_read16(padapter, proc_get_read_addr)); -+ break; -+ case 4: -+ seq_printf(m, "rtw_read32(0x%x)=0x%x\n", proc_get_read_addr, rtw_read32(padapter, proc_get_read_addr)); -+ break; -+ default: -+ seq_printf(m, "error read length=%d\n", proc_get_read_len); -+ break; -+ } -+ return 0; -+} -+ -+ssize_t proc_set_read_reg(struct file *file, const char *buf, -+ size_t count, loff_t *pos) -+{ -+ struct net_device *dev = (struct net_device *)pos; -+ _adapter *padapter = (_adapter *)rtw_netdev_priv(dev); -+ -+ char *cmd, *buffer; -+ -+ u32 addr, len, num; -+ -+ if (count < 2) -+ { -+ DBG_8192C("argument size is less than 2\n"); -+ return -EFAULT; -+ } -+ cmd = kmalloc(count+1, GFP_KERNEL); -+ if(!cmd) -+ return -ENOMEM; -+ if(!copy_from_user(cmd, buf, count)) { -+ -+ cmd[count]='\0'; -+ buffer = cmd; -+ -+ num = sscanf(buffer, "%x %x", &addr, &len); -+ -+ if (num != 2) { -+ DBG_8192C("invalid read_reg parameter!\n"); -+ return count; -+ } -+ -+ proc_get_read_addr = addr; -+ proc_get_read_len = len; -+ }else{ -+ kfree(cmd); -+ return -EFAULT; -+ } -+ kfree(cmd); -+ return count; -+} -+#endif -+ -+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0) - int proc_get_fwstate(char *page, char **start, - off_t offset, int count, - int *eof, void *data) -@@ -215,7 +350,18 @@ int proc_get_fwstate(char *page, char **start, - *eof = 1; - return len; - } -+#else -+int proc_get_fwstate(struct seq_file *m, void* data) -+{ -+ struct net_device *dev = m->private; -+ _adapter *padapter = (_adapter *)rtw_netdev_priv(dev); -+ struct mlme_priv *pmlmepriv = &(padapter->mlmepriv); -+ seq_printf(m, "fwstate=0x%x\n",get_fwstate(pmlmepriv)); -+ return 0; -+} -+#endif - -+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0) - int proc_get_sec_info(char *page, char **start, - off_t offset, int count, - int *eof, void *data) -@@ -233,7 +379,20 @@ int proc_get_sec_info(char *page, char **start, - *eof = 1; - return len; - } -+#else -+int proc_get_sec_info(struct seq_file *m, void* data) -+{ -+ struct net_device *dev = m->private; -+ _adapter *padapter = (_adapter *)rtw_netdev_priv(dev); -+ struct security_priv *psecuritypriv = &padapter->securitypriv; -+ seq_printf(m, "auth_alg=0x%x, enc_alg=0x%x, auth_type=0x%x, enc_type=0x%x\n", -+ psecuritypriv->dot11AuthAlgrthm, psecuritypriv->dot11PrivacyAlgrthm, -+ psecuritypriv->ndisauthtype, psecuritypriv->ndisencryptstatus); -+ return 0; -+} -+#endif - -+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0) - int proc_get_mlmext_state(char *page, char **start, - off_t offset, int count, - int *eof, void *data) -@@ -250,7 +409,19 @@ int proc_get_mlmext_state(char *page, char **start, - *eof = 1; - return len; - } -+#else -+int proc_get_mlmext_state(struct seq_file *m, void *data) -+{ -+ struct net_device *dev = m->private; -+ _adapter *padapter = (_adapter *)rtw_netdev_priv(dev); -+ struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv; -+ struct mlme_ext_info *pmlmeinfo = &(pmlmeext->mlmext_info); -+ seq_printf(m, "pmlmeinfo->state=0x%x\n", pmlmeinfo->state); -+ return 0; -+} -+#endif - -+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0) - int proc_get_qos_option(char *page, char **start, - off_t offset, int count, - int *eof, void *data) -@@ -267,7 +438,18 @@ int proc_get_qos_option(char *page, char **start, - return len; - - } -+#else -+int proc_get_qos_option(struct seq_file *m, void *data) -+{ -+ struct net_device *dev = m->private; -+ _adapter *padapter = (_adapter *)rtw_netdev_priv(dev); -+ struct mlme_priv *pmlmepriv = &(padapter->mlmepriv); -+ seq_printf(m, "qos_option=%d\n", pmlmepriv->qospriv.qos_option); -+ return 0; -+} -+#endif - -+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0) - int proc_get_ht_option(char *page, char **start, - off_t offset, int count, - int *eof, void *data) -@@ -283,7 +465,18 @@ int proc_get_ht_option(char *page, char **start, - *eof = 1; - return len; - } -+#else -+int proc_get_ht_option(struct seq_file *m, void *data) -+{ -+ struct net_device *dev = m->private; -+ _adapter *padapter = (_adapter *)rtw_netdev_priv(dev); -+ struct mlme_priv *pmlmepriv = &(padapter->mlmepriv); -+ seq_printf(m, "ht_option=%d\n", pmlmepriv->htpriv.ht_option); -+ return 0; -+} -+#endif - -+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0) - int proc_get_rf_info(char *page, char **start, - off_t offset, int count, - int *eof, void *data) -@@ -301,7 +494,19 @@ int proc_get_rf_info(char *page, char **start, - return len; - - } -+#else -+int proc_get_rf_info(struct seq_file *m, void *data) -+{ -+ struct net_device *dev = m->private; -+ _adapter *padapter = (_adapter *)rtw_netdev_priv(dev); -+ struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv; -+ seq_printf(m, "cur_ch=%d, cur_bw=%d, cur_ch_offet=%d\n", -+ pmlmeext->cur_channel, pmlmeext->cur_bwmode, pmlmeext->cur_ch_offset); -+ return 0; -+} -+#endif - -+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0) - int proc_get_ap_info(char *page, char **start, - off_t offset, int count, - int *eof, void *data) -@@ -350,7 +555,53 @@ int proc_get_ap_info(char *page, char **start, - return len; - - } -+#else -+int proc_get_ap_info(struct seq_file *m, void *data) -+{ -+ struct sta_info *psta; -+ struct net_device *dev = m->private; -+ _adapter *padapter = (_adapter *)rtw_netdev_priv(dev); -+ struct mlme_priv *pmlmepriv = &(padapter->mlmepriv); -+ struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv; -+ struct wlan_network *cur_network = &(pmlmepriv->cur_network); -+ struct sta_priv *pstapriv = &padapter->stapriv; -+ int len = 0; -+ -+ psta = rtw_get_stainfo(pstapriv, cur_network->network.MacAddress); -+ if(psta) -+ { -+ int i; -+ struct recv_reorder_ctrl *preorder_ctrl; -+ -+ seq_printf(m, "SSID=%s\n", cur_network->network.Ssid.Ssid); -+ seq_printf(m, "sta's macaddr:" MAC_FMT "\n", MAC_ARG(psta->hwaddr)); -+ seq_printf(m, "cur_channel=%d, cur_bwmode=%d, cur_ch_offset=%d\n", pmlmeext->cur_channel, pmlmeext->cur_bwmode, pmlmeext->cur_ch_offset); -+ seq_printf(m, "rtsen=%d, cts2slef=%d\n", psta->rtsen, psta->cts2self); -+ seq_printf(m, "qos_en=%d, ht_en=%d, init_rate=%d\n", psta->qos_option, psta->htpriv.ht_option, psta->init_rate); -+ seq_printf(m, "state=0x%x, aid=%d, macid=%d, raid=%d\n", psta->state, psta->aid, psta->mac_id, psta->raid); -+ seq_printf(m, "bwmode=%d, ch_offset=%d, sgi=%d\n", psta->htpriv.bwmode, psta->htpriv.ch_offset, psta->htpriv.sgi); -+ seq_printf(m, "ampdu_enable = %d\n", psta->htpriv.ampdu_enable); -+ seq_printf(m, "agg_enable_bitmap=%x, candidate_tid_bitmap=%x\n", psta->htpriv.agg_enable_bitmap, psta->htpriv.candidate_tid_bitmap); -+ -+ for(i=0;i<16;i++) -+ { -+ preorder_ctrl = &psta->recvreorder_ctrl[i]; -+ if(preorder_ctrl->enable) -+ { -+ seq_printf(m, "tid=%d, indicate_seq=%d\n", i, preorder_ctrl->indicate_seq); -+ } -+ } -+ -+ } -+ else -+ { -+ seq_printf(m, "can't get sta's macaddr, cur_network's macaddr:" MAC_FMT "\n", MAC_ARG(cur_network->network.MacAddress)); -+ } -+ return 0; -+} -+#endif - -+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0) - int proc_get_adapter_state(char *page, char **start, - off_t offset, int count, - int *eof, void *data) -@@ -366,7 +617,18 @@ int proc_get_adapter_state(char *page, char **start, - return len; - - } -- -+#else -+int proc_get_adapter_state(struct seq_file *m, void *data) -+{ -+ struct net_device *dev = m->private; -+ _adapter *padapter = (_adapter *)rtw_netdev_priv(dev); -+ seq_printf(m, "bSurpriseRemoved=%d, bDriverStopped=%d\n", -+ padapter->bSurpriseRemoved, padapter->bDriverStopped); -+ return 0; -+} -+#endif -+ -+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0) - int proc_get_trx_info(char *page, char **start, - off_t offset, int count, - int *eof, void *data) -@@ -387,8 +649,23 @@ int proc_get_trx_info(char *page, char **start, - return len; - - } -- -- -+#else -+int proc_get_trx_info(struct seq_file *m, void *data) -+{ -+ struct net_device *dev = m->private; -+ _adapter *padapter = (_adapter *)rtw_netdev_priv(dev); -+ struct xmit_priv *pxmitpriv = &padapter->xmitpriv; -+ struct recv_priv *precvpriv = &padapter->recvpriv; -+ seq_printf(m, "free_xmitbuf_cnt=%d, free_xmitframe_cnt=%d, free_ext_xmitbuf_cnt=%d, free_recvframe_cnt=%d\n", -+ pxmitpriv->free_xmitbuf_cnt, pxmitpriv->free_xmitframe_cnt,pxmitpriv->free_xmit_extbuf_cnt, precvpriv->free_recvframe_cnt); -+#ifdef CONFIG_USB_HCI -+ seq_printf(m, "rx_urb_pending_cn=%d\n", precvpriv->rx_pending_cnt); -+#endif -+ return 0; -+} -+#endif -+ -+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0) - int proc_get_rx_signal(char *page, char **start, - off_t offset, int count, - int *eof, void *data) -@@ -452,7 +729,62 @@ int proc_set_rx_signal(struct file *file, const char *buffer, - return count; - - } -+#else -+int proc_get_rx_signal(struct seq_file *m, void *data) -+{ -+ struct net_device *dev = m->private; -+ _adapter *padapter = (_adapter *)rtw_netdev_priv(dev); -+ struct mlme_priv *pmlmepriv = &(padapter->mlmepriv); -+ seq_printf(m, -+ "rssi:%d\n" -+ "rxpwdb:%d\n" -+ "signal_strength:%u\n" -+ "signal_qual:%u\n" -+ "noise:%u\n", -+ padapter->recvpriv.rssi, -+ padapter->recvpriv.rxpwdb, -+ padapter->recvpriv.signal_strength, -+ padapter->recvpriv.signal_qual, -+ padapter->recvpriv.noise -+ ); -+ return 0; -+} - -+ssize_t proc_set_rx_signal(struct file *file, const char *buffer, size_t count, loff_t *pos) -+{ -+ struct net_device *dev = (struct net_device *)pos; -+ _adapter *padapter = (_adapter *)rtw_netdev_priv(dev); -+ char tmp[32]; -+ u32 is_signal_dbg, signal_strength; -+ -+ if (count < 1) -+ return -EFAULT; -+ -+ if (buffer && !copy_from_user(tmp, buffer, sizeof(tmp))) { -+ -+ int num = sscanf(tmp, "%u %u", &is_signal_dbg, &signal_strength); -+ -+ is_signal_dbg = is_signal_dbg==0?0:1; -+ -+ if(is_signal_dbg && num!=2) -+ return count; -+ -+ signal_strength = signal_strength>100?100:signal_strength; -+ signal_strength = signal_strength<0?0:signal_strength; -+ -+ padapter->recvpriv.is_signal_dbg = is_signal_dbg; -+ padapter->recvpriv.signal_strength_dbg=signal_strength; -+ -+ if(is_signal_dbg) -+ DBG_871X("set %s %u\n", "DBG_SIGNAL_STRENGTH", signal_strength); -+ else -+ DBG_871X("set %s\n", "HW_SIGNAL_STRENGTH"); -+ } -+ return count; -+} -+#endif -+ -+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0) - int proc_get_ampdu_enable(char *page, char **start, - off_t offset, int count, - int *eof, void *data) -@@ -499,7 +831,46 @@ int proc_set_ampdu_enable(struct file *file, const char *buffer, - return count; - - } -+#else -+int proc_get_ampdu_enable(struct seq_file *m, void *data) -+{ -+ struct net_device *dev = m->private; -+ _adapter *padapter = (_adapter *)rtw_netdev_priv(dev); -+ struct registry_priv *pregpriv = &padapter->registrypriv; -+ if(pregpriv) -+ seq_printf(m, -+ "%d\n", -+ pregpriv->ampdu_enable -+ ); -+ return 0; -+} -+ -+ssize_t proc_set_ampdu_enable(struct file *file, const char *buffer, size_t count, loff_t *pos) -+{ -+ struct net_device *dev = (struct net_device *)pos; -+ _adapter *padapter = (_adapter *)rtw_netdev_priv(dev); -+ struct registry_priv *pregpriv = &padapter->registrypriv; -+ char tmp[32]; -+ u32 mode; -+ -+ if (count < 1) -+ return -EFAULT; -+ -+ if (buffer && !copy_from_user(tmp, buffer, sizeof(tmp))) { -+ -+ int num = sscanf(tmp, "%d ", &mode); -+ -+ if( pregpriv && mode >= 0 && mode < 3 ) -+ { -+ pregpriv->ampdu_enable= mode; -+ printk("ampdu_enable=%d\n", mode); -+ } -+ } -+ return count; -+} -+#endif - -+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0) - int proc_get_rssi_disp(char *page, char **start, - off_t offset, int count, - int *eof, void *data) -@@ -547,10 +918,52 @@ int proc_set_rssi_disp(struct file *file, const char *buffer, - return count; - - } -+#else -+int proc_get_rssi_disp(struct seq_file *m, void *data) -+{ -+ return 0; -+} -+ -+ssize_t proc_set_rssi_disp(struct file *file, const char *buffer, size_t count, loff_t *pos) -+{ -+ struct net_device *dev = (struct net_device *)pos; -+ _adapter *padapter = (_adapter *)rtw_netdev_priv(dev); -+ char tmp[32]; -+ u32 enable=0; - -+ if (count < 1) -+ { -+ DBG_8192C("argument size is less than 1\n"); -+ return -EFAULT; -+ } -+ -+ if (buffer && !copy_from_user(tmp, buffer, sizeof(tmp))) { -+ -+ int num = sscanf(tmp, "%x", &enable); -+ -+ if (num != 1) { -+ DBG_8192C("invalid set_rssi_disp parameter!\n"); -+ return count; -+ } - -+ if(enable) -+ { -+ DBG_8192C("Turn On Rx RSSI Display Function\n"); -+ padapter->bRxRSSIDisplay = enable ; -+ } -+ else -+ { -+ DBG_8192C("Turn Off Rx RSSI Display Function\n"); -+ padapter->bRxRSSIDisplay = 0 ; -+ } -+ } -+ return count; -+} -+#endif -+ - #ifdef CONFIG_AP_MODE - -+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0) - int proc_get_all_sta_info(char *page, char **start, - off_t offset, int count, - int *eof, void *data) -@@ -620,14 +1033,74 @@ int proc_get_all_sta_info(char *page, char **start, - return len; - - } -- --#endif -+#else -+int proc_get_all_sta_info(struct seq_file *m, void *data) -+{ -+ _irqL irqL; -+ struct sta_info *psta; -+ struct net_device *dev = m->private; -+ _adapter *padapter = (_adapter *)rtw_netdev_priv(dev); -+ struct sta_priv *pstapriv = &padapter->stapriv; -+ int i, j; -+ _list *plist, *phead; -+ struct recv_reorder_ctrl *preorder_ctrl; -+ seq_printf(m, "sta_dz_bitmap=0x%x, tim_bitmap=0x%x\n", pstapriv->sta_dz_bitmap, pstapriv->tim_bitmap); -+ -+ _enter_critical_bh(&pstapriv->sta_hash_lock, &irqL); -+ -+ for(i=0; i< NUM_STA; i++) -+ { -+ phead = &(pstapriv->sta_hash[i]); -+ plist = get_next(phead); -+ -+ while ((rtw_end_of_queue_search(phead, plist)) == _FALSE) -+ { -+ psta = LIST_CONTAINOR(plist, struct sta_info, hash_list); -+ -+ plist = get_next(plist); -+ -+ //if(extra_arg == psta->aid) -+ { -+ seq_printf(m, "sta's macaddr:" MAC_FMT "\n", MAC_ARG(psta->hwaddr)); -+ seq_printf(m, "rtsen=%d, cts2slef=%d\n", psta->rtsen, psta->cts2self); -+ seq_printf(m, "qos_en=%d, ht_en=%d, init_rate=%d\n", psta->qos_option, psta->htpriv.ht_option, psta->init_rate); -+ seq_printf(m, "state=0x%x, aid=%d, macid=%d, raid=%d\n", psta->state, psta->aid, psta->mac_id, psta->raid); -+ seq_printf(m, "bwmode=%d, ch_offset=%d, sgi=%d\n", psta->htpriv.bwmode, psta->htpriv.ch_offset, psta->htpriv.sgi); -+ seq_printf(m, "ampdu_enable = %d\n", psta->htpriv.ampdu_enable); -+ seq_printf(m, "agg_enable_bitmap=%x, candidate_tid_bitmap=%x\n", psta->htpriv.agg_enable_bitmap, psta->htpriv.candidate_tid_bitmap); -+ seq_printf(m, "sleepq_len=%d\n", psta->sleepq_len); -+ seq_printf(m, "capability=0x%x\n", psta->capability); -+ seq_printf(m, "flags=0x%x\n", psta->flags); -+ seq_printf(m, "wpa_psk=0x%x\n", psta->wpa_psk); -+ seq_printf(m, "wpa2_group_cipher=0x%x\n", psta->wpa2_group_cipher); -+ seq_printf(m, "wpa2_pairwise_cipher=0x%x\n", psta->wpa2_pairwise_cipher); -+ seq_printf(m, "qos_info=0x%x\n", psta->qos_info); -+ seq_printf(m, "dot118021XPrivacy=0x%x\n", psta->dot118021XPrivacy); -+ -+ for(j=0;j<16;j++) -+ { -+ preorder_ctrl = &psta->recvreorder_ctrl[j]; -+ if(preorder_ctrl->enable) -+ { -+ seq_printf(m, "tid=%d, indicate_seq=%d\n", j, preorder_ctrl->indicate_seq); -+ } -+ } -+ } -+ } -+ } -+ _exit_critical_bh(&pstapriv->sta_hash_lock, &irqL); -+ return 0; -+} -+#endif -+ -+#endif - - #ifdef DBG_MEMORY_LEAK - #include - extern atomic_t _malloc_cnt;; - extern atomic_t _malloc_size;; - -+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0) - int proc_get_malloc_cnt(char *page, char **start, - off_t offset, int count, - int *eof, void *data) -@@ -641,9 +1114,20 @@ int proc_get_malloc_cnt(char *page, char **start, - *eof = 1; - return len; - } -+#else -+int proc_get_malloc_cnt(struct seq_file *m, void *data) -+{ -+ seq_printf(m, "_malloc_cnt=%d\n", atomic_read(&_malloc_cnt)); -+ seq_printf(m, "_malloc_size=%d\n", atomic_read(&_malloc_size)); -+ return 0; -+} -+#endif -+ - #endif /* DBG_MEMORY_LEAK */ - - #ifdef CONFIG_FIND_BEST_CHANNEL -+ -+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0) - int proc_get_best_channel(char *page, char **start, - off_t offset, int count, - int *eof, void *data) -@@ -703,6 +1187,61 @@ int proc_get_best_channel(char *page, char **start, - return len; - - } -+#else -+int proc_get_best_channel(struct seq_file *m, void *data) -+{ -+ struct net_device *dev = m->private; -+ _adapter *padapter = (_adapter *)rtw_netdev_priv(dev); -+ struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv; -+ u32 i, best_channel_24G = 1, best_channel_5G = 36, index_24G = 0, index_5G = 0; -+ -+ for (i=0; pmlmeext->channel_set[i].ChannelNum !=0; i++) { -+ if ( pmlmeext->channel_set[i].ChannelNum == 1) -+ index_24G = i; -+ if ( pmlmeext->channel_set[i].ChannelNum == 36) -+ index_5G = i; -+ } -+ -+ for (i=0; pmlmeext->channel_set[i].ChannelNum !=0; i++) { -+ // 2.4G -+ if ( pmlmeext->channel_set[i].ChannelNum == 6 ) { -+ if ( pmlmeext->channel_set[i].rx_count < pmlmeext->channel_set[index_24G].rx_count ) { -+ index_24G = i; -+ best_channel_24G = pmlmeext->channel_set[i].ChannelNum; -+ } -+ } -+ -+ // 5G -+ if ( pmlmeext->channel_set[i].ChannelNum >= 36 -+ && pmlmeext->channel_set[i].ChannelNum < 140 ) { -+ // Find primary channel -+ if ( (( pmlmeext->channel_set[i].ChannelNum - 36) % 8 == 0) -+ && (pmlmeext->channel_set[i].rx_count < pmlmeext->channel_set[index_5G].rx_count) ) { -+ index_5G = i; -+ best_channel_5G = pmlmeext->channel_set[i].ChannelNum; -+ } -+ } -+ -+ if ( pmlmeext->channel_set[i].ChannelNum >= 149 -+ && pmlmeext->channel_set[i].ChannelNum < 165) { -+ // find primary channel -+ if ( (( pmlmeext->channel_set[i].ChannelNum - 149) % 8 == 0) -+ && (pmlmeext->channel_set[i].rx_count < pmlmeext->channel_set[index_5G].rx_count) ) { -+ index_5G = i; -+ best_channel_5G = pmlmeext->channel_set[i].ChannelNum; -+ } -+ } -+#if 1 // debug -+ seq_printf(m, "The rx cnt of channel %3d = %d\n", -+ pmlmeext->channel_set[i].ChannelNum, pmlmeext->channel_set[i].rx_count); -+#endif -+ } -+ seq_printf(m, "best_channel_5G = %d\n", best_channel_5G); -+ seq_printf(m, "best_channel_24G = %d\n", best_channel_24G); -+ return 0; -+} -+#endif -+ - #endif /* CONFIG_FIND_BEST_CHANNEL */ - - #endif -diff --git a/core/rtw_mp.c b/core/rtw_mp.c -index 0cdc094..bb76dae 100644 ---- a/core/rtw_mp.c -+++ b/core/rtw_mp.c -@@ -1140,8 +1140,7 @@ void SetPacketTx(PADAPTER padapter) - _rtw_memset(ptr, payload, pkt_end - ptr); - - //3 6. start thread -- pmp_priv->tx.PktTxThread = kernel_thread(mp_xmit_packet_thread, pmp_priv, CLONE_FS|CLONE_FILES); -- if(pmp_priv->tx.PktTxThread < 0) -+ if(!start_kthread(&pmp_priv->tx.PktTxThread, mp_xmit_packet_thread, pmp_priv, "8192cu-mp-xmit")) - DBG_871X("Create PktTx Thread Fail !!!!!\n"); - - } -diff --git a/hal/rtl8192c/usb/usb_halinit.c b/hal/rtl8192c/usb/usb_halinit.c -index eb5ea29..6cac2d5 100644 ---- a/hal/rtl8192c/usb/usb_halinit.c -+++ b/hal/rtl8192c/usb/usb_halinit.c -@@ -3786,6 +3786,8 @@ _ReadIDs( - pHalData->CustomerID = RT_CID_DLINK; - else if((pHalData->EEPROMVID == 0x2001) && (pHalData->EEPROMPID == 0x330a)) - pHalData->CustomerID = RT_CID_DLINK; -+ else if((pHalData->EEPROMVID == 0x2001) && (pHalData->EEPROMPID == 0x330d)) -+ pHalData->CustomerID = RT_CID_DLINK; - break; - case EEPROM_CID_WHQL: - /* -diff --git a/include/osdep_service.h b/include/osdep_service.h -index 2802187..6fedff4 100644 ---- a/include/osdep_service.h -+++ b/include/osdep_service.h -@@ -100,6 +100,9 @@ - #include - #endif - -+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,7,0)) -+ #include -+#endif - - #ifdef CONFIG_USB_HCI - typedef struct urb * PURB; -@@ -133,8 +136,12 @@ - //typedef u32 _irqL; - typedef unsigned long _irqL; - typedef struct net_device * _nic_hdl; -- -+ -+#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0)) - typedef pid_t _thread_hdl_; -+#else -+ typedef struct task_struct * _thread_hdl_; -+#endif - typedef int thread_return; - typedef void* thread_context; - -@@ -572,7 +579,7 @@ __inline static void thread_enter(void *context) - #ifdef PLATFORM_LINUX - //struct net_device *pnetdev = (struct net_device *)context; - //daemonize("%s", pnetdev->name); -- daemonize("%s", "RTKTHREAD"); -+ //daemonize("%s", "RTKTHREAD"); - allow_signal(SIGTERM); - #endif - } -@@ -827,4 +834,8 @@ extern u64 rtw_division64(u64 x, u64 y); - - #endif - -+#ifdef PLATFORM_LINUX -+extern int start_kthread(_thread_hdl_ *t_hdl, int (*threadfn)(void *data), -+ void *data, const char *name); -+#endif - -diff --git a/include/rtw_debug.h b/include/rtw_debug.h -index eca6692..624add6 100644 ---- a/include/rtw_debug.h -+++ b/include/rtw_debug.h -@@ -24,7 +24,6 @@ - #include - #include - -- - #define _drv_emerg_ 1 - #define _drv_alert_ 2 - #define _drv_crit_ 3 -@@ -35,7 +34,6 @@ - #define _drv_dump_ 8 - #define _drv_debug_ 9 - -- - #define _module_rtl871x_xmit_c_ BIT(0) - #define _module_xmit_osdep_c_ BIT(1) - #define _module_rtl871x_recv_c_ BIT(2) -@@ -179,7 +177,6 @@ extern void rtl871x_cedbg(const char *fmt, ...); - - #endif /* CONFIG_DEBUG_RTL871X */ - -- - #if defined (_dbgdump) && defined (_MODULE_DEFINE_) - - #undef RT_TRACE -@@ -193,7 +190,6 @@ extern void rtl871x_cedbg(const char *fmt, ...); - - #endif - -- - #if defined (_dbgdump) - - #undef _func_enter_ -@@ -231,7 +227,6 @@ extern void rtl871x_cedbg(const char *fmt, ...); - } - #endif - -- - #ifdef CONFIG_DEBUG_RTL819X - #ifdef PLATFORM_WINDOWS - -@@ -281,10 +276,9 @@ extern void rtl871x_cedbg(const char *fmt, ...); - #define ERR_8192C _dbgdump - #endif - -- -- - #ifdef CONFIG_PROC_DEBUG - -+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0) - int proc_get_drv_version(char *page, char **start, - off_t offset, int count, - int *eof, void *data); -@@ -293,8 +287,8 @@ extern void rtl871x_cedbg(const char *fmt, ...); - off_t offset, int count, - int *eof, void *data); - -- int proc_set_write_reg(struct file *file, const char *buffer, -- unsigned long count, void *data); -+ int proc_set_write_reg(struct file *file, const char *buffer, -+ unsigned long count, void *data); - - int proc_get_read_reg(char *page, char **start, - off_t offset, int count, -@@ -303,7 +297,6 @@ extern void rtl871x_cedbg(const char *fmt, ...); - int proc_set_read_reg(struct file *file, const char *buffer, - unsigned long count, void *data); - -- - int proc_get_fwstate(char *page, char **start, - off_t offset, int count, - int *eof, void *data); -@@ -339,28 +332,75 @@ extern void rtl871x_cedbg(const char *fmt, ...); - int proc_get_trx_info(char *page, char **start, - off_t offset, int count, - int *eof, void *data); -+#else -+ int proc_get_drv_version(struct seq_file *m, void *data); -+ -+ int proc_get_write_reg(struct seq_file *m, void *data); -+ -+ ssize_t proc_set_write_reg(struct file *file, const char *buffer, -+ size_t count, loff_t *pos); -+ -+ int proc_get_read_reg(struct seq_file *m, void *data); -+ -+ ssize_t proc_set_read_reg(struct file *file, const char *buffer, -+ size_t count, loff_t *pos); -+ -+ int proc_get_fwstate(struct seq_file *m, void *data); -+ -+ int proc_get_sec_info(struct seq_file *m, void *data); -+ -+ int proc_get_mlmext_state(struct seq_file *m, void *data); - -+ int proc_get_qos_option(struct seq_file *m, void *data); -+ -+ int proc_get_ht_option(struct seq_file *m, void *data); -+ -+ int proc_get_rf_info(struct seq_file *m, void *data); -+ -+ int proc_get_ap_info(struct seq_file *m, void *data); -+ -+ int proc_get_adapter_state(struct seq_file *m, void *data); -+ -+ int proc_get_trx_info(struct seq_file *m, void *data); -+#endif - - #ifdef CONFIG_AP_MODE - -+# if LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0) - int proc_get_all_sta_info(char *page, char **start, - off_t offset, int count, - int *eof, void *data); -+# else -+ int proc_get_all_sta_info(struct seq_file *m, void *data); -+# endif - - #endif - - #ifdef DBG_MEMORY_LEAK -+ -+# if LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0) - int proc_get_malloc_cnt(char *page, char **start, - off_t offset, int count, - int *eof, void *data); -+# else -+ int proc_get_malloc_cnt(struct seq_file *m, void *data); -+# endif -+ - #endif - - #ifdef CONFIG_FIND_BEST_CHANNEL -+ -+# if LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0) - int proc_get_best_channel(char *page, char **start, - off_t offset, int count, - int *eof, void *data); -+# else -+ int proc_get_best_channel(struct seq_file *m, void *data); -+# endif -+ - #endif - -+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0) - int proc_get_rx_signal(char *page, char **start, - off_t offset, int count, - int *eof, void *data); -@@ -381,7 +421,22 @@ extern void rtl871x_cedbg(const char *fmt, ...); - - int proc_set_rssi_disp(struct file *file, const char *buffer, - unsigned long count, void *data); -- -+#else -+ int proc_get_rx_signal(struct seq_file *m, void *data); -+ -+ ssize_t proc_set_rx_signal(struct file *file, const char *buffer, -+ size_t count, loff_t *pos); -+ -+ int proc_get_ampdu_enable(struct seq_file *m, void *data); -+ -+ ssize_t proc_set_ampdu_enable(struct file *file, const char *buffer, -+ size_t count, loff_t *pos); -+ -+ int proc_get_rssi_disp(struct seq_file *m, void *data); -+ -+ ssize_t proc_set_rssi_disp(struct file *file, const char *buffer, -+ size_t count, loff_t *pos); -+#endif - - #endif //CONFIG_PROC_DEBUG - -diff --git a/include/rtw_recv.h b/include/rtw_recv.h -index a88f505..e204ef3 100644 ---- a/include/rtw_recv.h -+++ b/include/rtw_recv.h -@@ -623,8 +623,9 @@ __inline static union recv_frame *rxmem_to_recvframe(u8 *rxmem) - //from any given member of recv_frame. - // rxmem indicates the any member/address in recv_frame - -- return (union recv_frame*)(((uint)rxmem>>RXFRAME_ALIGN) <>RXFRAME_ALIGN) <> RXFRAME_ALIGN) << RXFRAME_ALIGN); -+ return (union recv_frame*)(((ulong)rxmem>>RXFRAME_ALIGN) <= 3.10 -+ */ -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,10,0) -+ -+static int proc_get_drv_version_open(struct inode *inode, struct file *file){ -+ return single_open(file, proc_get_drv_version, PDE_DATA(inode)); -+} -+ -+static const struct file_operations proc_get_drv_version_fops = { -+ .owner = THIS_MODULE, -+ .open = proc_get_drv_version_open, -+ .read = seq_read, -+ .llseek = seq_lseek, -+ .release = single_release, -+}; -+ -+static int proc_get_write_reg_open(struct inode *inode, struct file *file){ -+ return single_open(file, proc_get_write_reg, PDE_DATA(inode)); -+} -+ -+static const struct file_operations proc_get_write_reg_fops = { -+ .owner = THIS_MODULE, -+ .open = proc_get_write_reg_open, -+ .read = seq_read, -+ .llseek = seq_lseek, -+ .write = proc_set_write_reg, -+ .release = seq_release, -+}; -+ -+static int proc_get_read_reg_open(struct inode *inode, struct file *file){ -+ return single_open(file, proc_get_read_reg, PDE_DATA(inode)); -+} -+ -+static const struct file_operations proc_get_read_reg_fops = { -+ .owner = THIS_MODULE, -+ .open = proc_get_read_reg_open, -+ .read = seq_read, -+ .llseek = seq_lseek, -+ .write = proc_set_read_reg, -+ .release = seq_release, -+}; -+ -+static int proc_get_rssi_disp_open(struct inode *inode, struct file *file){ -+ return single_open(file, proc_get_rssi_disp, PDE_DATA(inode)); -+} -+ -+static const struct file_operations proc_get_rssi_disp_fops = { -+ .owner = THIS_MODULE, -+ .open = proc_get_rssi_disp_open, -+ .read = seq_read, -+ .llseek = seq_lseek, -+ .write = proc_set_rssi_disp, -+ .release = seq_release, -+}; -+ -+static int proc_get_ampdu_enable_open(struct inode *inode, struct file *file){ -+ return single_open(file, proc_get_ampdu_enable, PDE_DATA(inode)); -+} -+ -+static const struct file_operations proc_get_ampdu_enable_fops = { -+ .owner = THIS_MODULE, -+ .open = proc_get_ampdu_enable_open, -+ .read = seq_read, -+ .llseek = seq_lseek, -+ .write = proc_set_ampdu_enable, -+ .release = seq_release, -+}; -+ -+static int proc_get_rx_signal_open(struct inode *inode, struct file *file){ -+ return single_open(file, proc_get_rx_signal, PDE_DATA(inode)); -+} -+ -+static const struct file_operations proc_get_rx_signal_fops = { -+ .owner = THIS_MODULE, -+ .open = proc_get_rx_signal_open, -+ .read = seq_read, -+ .llseek = seq_lseek, -+ .write = proc_set_rx_signal, -+ .release = seq_release, -+}; -+ -+static int proc_get_fwstate_open(struct inode *inode, struct file *file){ -+ return single_open(file, proc_get_fwstate, PDE_DATA(inode)); -+} -+ -+static const struct file_operations proc_get_fwstate_fops = { -+ .owner = THIS_MODULE, -+ .open = proc_get_fwstate_open, -+ .read = seq_read, -+ .llseek = seq_lseek, -+ .release = single_release, -+}; -+ -+static int proc_get_mlmext_state_open(struct inode *inode, struct file *file){ -+ return single_open(file, proc_get_mlmext_state, PDE_DATA(inode)); -+} -+ -+static const struct file_operations proc_get_mlmext_state_fops = { -+ .owner = THIS_MODULE, -+ .open = proc_get_mlmext_state_open, -+ .read = seq_read, -+ .llseek = seq_lseek, -+ .release = single_release, -+}; -+ -+static int proc_get_qos_option_open(struct inode *inode, struct file *file){ -+ return single_open(file, proc_get_qos_option, PDE_DATA(inode)); -+} -+ -+static const struct file_operations proc_get_qos_option_fops = { -+ .owner = THIS_MODULE, -+ .open = proc_get_qos_option_open, -+ .read = seq_read, -+ .llseek = seq_lseek, -+ .release = single_release, -+}; -+ -+static int proc_get_ht_option_open(struct inode *inode, struct file *file){ -+ return single_open(file, proc_get_ht_option, PDE_DATA(inode)); -+} -+ -+static const struct file_operations proc_get_ht_option_fops = { -+ .owner = THIS_MODULE, -+ .open = proc_get_ht_option_open, -+ .read = seq_read, -+ .llseek = seq_lseek, -+ .release = single_release, -+}; -+ -+static int proc_get_rf_info_open(struct inode *inode, struct file *file){ -+ return single_open(file, proc_get_rf_info, PDE_DATA(inode)); -+} -+ -+static const struct file_operations proc_get_rf_info_fops = { -+ .owner = THIS_MODULE, -+ .open = proc_get_rf_info_open, -+ .read = seq_read, -+ .llseek = seq_lseek, -+ .release = single_release, -+}; -+ -+static int proc_get_ap_info_open(struct inode *inode, struct file *file){ -+ return single_open(file, proc_get_ap_info, PDE_DATA(inode)); -+} -+ -+static const struct file_operations proc_get_ap_info_fops = { -+ .owner = THIS_MODULE, -+ .open = proc_get_ap_info_open, -+ .read = seq_read, -+ .llseek = seq_lseek, -+ .release = single_release, -+}; -+ -+static int proc_get_adapter_state_open(struct inode *inode, struct file *file){ -+ return single_open(file, proc_get_adapter_state, PDE_DATA(inode)); -+} -+ -+static const struct file_operations proc_get_adapter_state_fops = { -+ .owner = THIS_MODULE, -+ .open = proc_get_adapter_state_open, -+ .read = seq_read, -+ .llseek = seq_lseek, -+ .release = single_release, -+}; -+ -+static int proc_get_trx_info_open(struct inode *inode, struct file *file){ -+ return single_open(file, proc_get_trx_info, PDE_DATA(inode)); -+} -+ -+static const struct file_operations proc_get_trx_info_fops = { -+ .owner = THIS_MODULE, -+ .open = proc_get_trx_info_open, -+ .read = seq_read, -+ .llseek = seq_lseek, -+ .release = single_release, -+}; -+ -+static int proc_get_sec_info_open(struct inode *inode, struct file *file){ -+ return single_open(file, proc_get_sec_info, PDE_DATA(inode)); -+} -+ -+static const struct file_operations proc_get_sec_info_fops = { -+ .owner = THIS_MODULE, -+ .open = proc_get_sec_info_open, -+ .read = seq_read, -+ .llseek = seq_lseek, -+ .release = single_release, -+}; -+ -+# ifdef CONFIG_AP_MODE -+ -+static int proc_get_all_sta_info_open(struct inode *inode, struct file *file){ -+ return single_open(file, proc_get_all_sta_info, PDE_DATA(inode)); -+} -+ -+static const struct file_operations proc_get_all_sta_info_fops = { -+ .owner = THIS_MODULE, -+ .open = proc_get_all_sta_info_open, -+ .read = seq_read, -+ .llseek = seq_lseek, -+ .release = single_release, -+}; -+ -+# endif -+ -+# ifdef DBG_MEMORY_LEAK -+ -+static int proc_get_malloc_cnt_open(struct inode *inode, struct file *file){ -+ return single_open(file, proc_get_malloc_cnt, PDE_DATA(inode)); -+} -+ -+static const struct file_operations proc_get_malloc_cnt_fops = { -+ .owner = THIS_MODULE, -+ .open = proc_get_malloc_cnt_open, -+ .read = seq_read, -+ .llseek = seq_lseek, -+ .release = single_release, -+}; -+ -+# endif -+ -+# ifdef CONFIG_FIND_BEST_CHANNEL -+ -+static int proc_get_best_channel_open(struct inode *inode, struct file *file){ -+ return single_open(file, proc_get_best_channel, PDE_DATA(inode)); -+} -+ -+static const struct file_operations proc_get_best_channel_fops = { -+ .owner = THIS_MODULE, -+ .open = proc_get_best_channel_open, -+ .read = seq_read, -+ .llseek = seq_lseek, -+ .release = single_release, -+}; -+ -+# endif -+ -+#endif -+ - void rtw_proc_init_one(struct net_device *dev) - { - struct proc_dir_entry *dir_dev = NULL; -@@ -275,28 +515,37 @@ void rtw_proc_init_one(struct net_device *dev) - #if(LINUX_VERSION_CODE < KERNEL_VERSION(2,6,24)) - rtw_proc=create_proc_entry(rtw_proc_name, S_IFDIR, proc_net); - #else -+# if LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0) - rtw_proc=create_proc_entry(rtw_proc_name, S_IFDIR, init_net.proc_net); -+# else -+ rtw_proc=proc_mkdir(rtw_proc_name, init_net.proc_net); -+# endif - #endif - if (rtw_proc == NULL) { - DBG_8192C(KERN_ERR "Unable to create rtw_proc directory\n"); - return; - } - -+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0) - entry = create_proc_read_entry("ver_info", S_IFREG | S_IRUGO, rtw_proc, proc_get_drv_version, dev); -+#else -+ entry = proc_create_data("ver_info", S_IFREG | S_IRUGO, rtw_proc, &proc_get_drv_version_fops, dev); -+#endif - if (!entry) { - DBG_871X("Unable to create_proc_read_entry!\n"); - return; - } - } - -- -- - if(padapter->dir_dev == NULL) - { -+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0) - padapter->dir_dev = create_proc_entry(dev->name, - S_IFDIR | S_IRUGO | S_IXUGO, - rtw_proc); -- -+#else -+ padapter->dir_dev = proc_mkdir(dev->name,rtw_proc); -+#endif - dir_dev = padapter->dir_dev; - - if(dir_dev==NULL) -@@ -324,84 +573,127 @@ void rtw_proc_init_one(struct net_device *dev) - - rtw_proc_cnt++; - -+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0) - entry = create_proc_read_entry("write_reg", S_IFREG | S_IRUGO, - dir_dev, proc_get_write_reg, dev); -+#else -+ entry = proc_create_data("write_reg", S_IFREG | S_IRUGO, -+ dir_dev, &proc_get_write_reg_fops, dev); -+#endif - if (!entry) { - DBG_871X("Unable to create_proc_read_entry!\n"); - return; - } -+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0) - entry->write_proc = proc_set_write_reg; - - entry = create_proc_read_entry("read_reg", S_IFREG | S_IRUGO, - dir_dev, proc_get_read_reg, dev); -+#else -+ entry = proc_create_data("read_reg", S_IFREG | S_IRUGO, -+ dir_dev, &proc_get_read_reg_fops, dev); -+#endif - if (!entry) { - DBG_871X("Unable to create_proc_read_entry!\n"); - return; - } -+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0) - entry->write_proc = proc_set_read_reg; - -- - entry = create_proc_read_entry("fwstate", S_IFREG | S_IRUGO, - dir_dev, proc_get_fwstate, dev); -+#else -+ entry = proc_create_data("fwstate", S_IFREG | S_IRUGO, -+ dir_dev, &proc_get_fwstate_fops, dev); -+#endif - if (!entry) { - DBG_871X("Unable to create_proc_read_entry!\n"); - return; - } -- -- -+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0) - entry = create_proc_read_entry("sec_info", S_IFREG | S_IRUGO, - dir_dev, proc_get_sec_info, dev); -+#else -+ entry = proc_create_data("sec_info", S_IFREG | S_IRUGO, -+ dir_dev, &proc_get_sec_info_fops, dev); -+#endif - if (!entry) { - DBG_871X("Unable to create_proc_read_entry!\n"); - return; - } -- -- -+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0) - entry = create_proc_read_entry("mlmext_state", S_IFREG | S_IRUGO, - dir_dev, proc_get_mlmext_state, dev); -+#else -+ entry = proc_create_data("mlmext_state", S_IFREG | S_IRUGO, -+ dir_dev, &proc_get_mlmext_state_fops, dev); -+#endif - if (!entry) { - DBG_871X("Unable to create_proc_read_entry!\n"); - return; - } -- -- -+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0) - entry = create_proc_read_entry("qos_option", S_IFREG | S_IRUGO, - dir_dev, proc_get_qos_option, dev); -+#else -+ entry = proc_create_data("qos_option", S_IFREG | S_IRUGO, -+ dir_dev, &proc_get_qos_option_fops, dev); -+#endif - if (!entry) { - DBG_871X("Unable to create_proc_read_entry!\n"); - return; - } -- -+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0) - entry = create_proc_read_entry("ht_option", S_IFREG | S_IRUGO, - dir_dev, proc_get_ht_option, dev); -+#else -+ entry = proc_create_data("ht_option", S_IFREG | S_IRUGO, -+ dir_dev, &proc_get_ht_option_fops, dev); -+#endif - if (!entry) { - DBG_871X("Unable to create_proc_read_entry!\n"); - return; - } -- -+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0) - entry = create_proc_read_entry("rf_info", S_IFREG | S_IRUGO, - dir_dev, proc_get_rf_info, dev); -+#else -+ entry = proc_create_data("rf_info", S_IFREG | S_IRUGO, -+ dir_dev, &proc_get_rf_info_fops, dev); -+#endif - if (!entry) { - DBG_871X("Unable to create_proc_read_entry!\n"); - return; - } -- -+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0) - entry = create_proc_read_entry("ap_info", S_IFREG | S_IRUGO, - dir_dev, proc_get_ap_info, dev); -+#else -+ entry = proc_create_data("ap_info", S_IFREG | S_IRUGO, -+ dir_dev, &proc_get_ap_info_fops, dev); -+#endif - if (!entry) { - DBG_871X("Unable to create_proc_read_entry!\n"); - return; - } -- -+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0) - entry = create_proc_read_entry("adapter_state", S_IFREG | S_IRUGO, - dir_dev, proc_get_adapter_state, dev); -+#else -+ entry = proc_create_data("adapter_state", S_IFREG | S_IRUGO, -+ dir_dev, &proc_get_adapter_state_fops, dev); -+#endif - if (!entry) { - DBG_871X("Unable to create_proc_read_entry!\n"); - return; - } -- -+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0) - entry = create_proc_read_entry("trx_info", S_IFREG | S_IRUGO, - dir_dev, proc_get_trx_info, dev); -+#else -+ entry = proc_create_data("trx_info", S_IFREG | S_IRUGO, -+ dir_dev, &proc_get_trx_info_fops, dev); -+#endif - if (!entry) { - DBG_871X("Unable to create_proc_read_entry!\n"); - return; -@@ -409,56 +701,93 @@ void rtw_proc_init_one(struct net_device *dev) - - #ifdef CONFIG_AP_MODE - -+# if LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0) - entry = create_proc_read_entry("all_sta_info", S_IFREG | S_IRUGO, - dir_dev, proc_get_all_sta_info, dev); -+# else -+ entry = proc_create_data("all_sta_info", S_IFREG | S_IRUGO, -+ dir_dev, &proc_get_all_sta_info_fops, dev); -+# endif - if (!entry) { - DBG_871X("Unable to create_proc_read_entry!\n"); - return; - } -+ - #endif - - #ifdef DBG_MEMORY_LEAK -+ -+# if LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0) - entry = create_proc_read_entry("_malloc_cnt", S_IFREG | S_IRUGO, - dir_dev, proc_get_malloc_cnt, dev); -+# else -+ entry = proc_create_data("_malloc_cnt", S_IFREG | S_IRUGO, -+ dir_dev, &proc_get_malloc_cnt_fops, dev); -+# endif - if (!entry) { - DBG_871X("Unable to create_proc_read_entry!\n"); - return; - } -+ - #endif - - #ifdef CONFIG_FIND_BEST_CHANNEL -+ -+# if LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0) - entry = create_proc_read_entry("best_channel", S_IFREG | S_IRUGO, - dir_dev, proc_get_best_channel, dev); -+# else -+ entry = proc_create_data("best_channel", S_IFREG | S_IRUGO, -+ dir_dev, &proc_get_best_channel_fops, dev); -+# endif - if (!entry) { - DBG_871X("Unable to create_proc_read_entry!\n"); - return; - } -+ - #endif - -+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0) - entry = create_proc_read_entry("rx_signal", S_IFREG | S_IRUGO, - dir_dev, proc_get_rx_signal, dev); -+#else -+ entry = proc_create_data("rx_signal", S_IFREG | S_IRUGO, -+ dir_dev, &proc_get_rx_signal_fops, dev); -+#endif - if (!entry) { - DBG_871X("Unable to create_proc_read_entry!\n"); - return; - } -+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0) - entry->write_proc = proc_set_rx_signal; - - entry = create_proc_read_entry("ampdu_enable", S_IFREG | S_IRUGO, - dir_dev, proc_get_ampdu_enable, dev); -+#else -+ entry = proc_create_data("ampdu_enable", S_IFREG | S_IRUGO, -+ dir_dev, &proc_get_ampdu_enable_fops, dev); -+#endif - if (!entry) { - DBG_871X("Unable to create_proc_read_entry!\n"); - return; - } -+ -+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0) - entry->write_proc = proc_set_ampdu_enable; - - entry = create_proc_read_entry("rssi_disp", S_IFREG | S_IRUGO, - dir_dev, proc_get_rssi_disp, dev); -+#else -+ entry = proc_create_data("rssi_disp", S_IFREG | S_IRUGO, -+ dir_dev, &proc_get_rssi_disp_fops, dev); -+#endif - if (!entry) { - DBG_871X("Unable to create_proc_read_entry!\n"); - return; - } -+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0) - entry->write_proc = proc_set_rssi_disp; -- -+#endif - } - - void rtw_proc_remove_one(struct net_device *dev) -@@ -797,27 +1126,22 @@ u32 rtw_start_drv_threads(_adapter *padapter) - RT_TRACE(_module_os_intfs_c_,_drv_info_,("+rtw_start_drv_threads\n")); - - #ifdef CONFIG_SDIO_HCI -- padapter->xmitThread = kernel_thread(rtw_xmit_thread, padapter, CLONE_FS|CLONE_FILES); -- if(padapter->xmitThread < 0) -+ if(!start_kthread(&padapter->xmitThread, rtw_xmit_thread, padapter, "8192cu-xmit")) - _status = _FAIL; - #endif - - #ifdef CONFIG_RECV_THREAD_MODE -- padapter->recvThread = kernel_thread(recv_thread, padapter, CLONE_FS|CLONE_FILES); -- if(padapter->recvThread < 0) -+ if(!start_kthread(&padapter->recvThread, recv_thread, padapter, "8192cu-recv")) - _status = _FAIL; - #endif - -- padapter->cmdThread = kernel_thread(rtw_cmd_thread, padapter, CLONE_FS|CLONE_FILES); -- if(padapter->cmdThread < 0) -+ if(!start_kthread(&padapter->cmdThread, rtw_cmd_thread, padapter, "8192cu-cmd")) - _status = _FAIL; - else - _rtw_down_sema(&padapter->cmdpriv.terminate_cmdthread_sema); //wait for cmd_thread to run -- - - #ifdef CONFIG_EVENT_THREAD_MODE -- padapter->evtThread = kernel_thread(event_thread, padapter, CLONE_FS|CLONE_FILES); -- if(padapter->evtThread < 0) -+ if(!start_kthread(&padapter->evtThread, event_thread, padapter, "8192cu-evt")) - _status = _FAIL; - #endif - -diff --git a/os_dep/linux/usb_intf.c b/os_dep/linux/usb_intf.c -index 134acdc..f9a01e9 100644 ---- a/os_dep/linux/usb_intf.c -+++ b/os_dep/linux/usb_intf.c -@@ -99,7 +99,9 @@ static struct usb_device_id rtw_usb_id_tbl[] ={ - {USB_DEVICE(0x2019, 0xED17)},//PCI - Edimax - {USB_DEVICE(0x0DF6, 0x0052)},//Sitecom - Edimax - {USB_DEVICE(0x7392, 0x7811)},//Edimax - Edimax -+ {USB_DEVICE(0x07B8, 0x8188)},//Abocom - Abocom - {USB_DEVICE(0x07B8, 0x8189)},//Abocom - Abocom -+ {USB_DEVICE(0x0846, 0x9041)},//NetGear WNA1000M - {USB_DEVICE(0x0EB0, 0x9071)},//NO Brand - Etop - {USB_DEVICE(0x06F8, 0xE033)},//Hercules - Edimax - {USB_DEVICE(0x103C, 0x1629)},//HP - Lite-On ,8188CUS Slim Combo -@@ -137,6 +139,7 @@ static struct usb_device_id rtw_usb_id_tbl[] ={ - {USB_DEVICE(0x2001, 0x3307)},//D-Link - Cameo - {USB_DEVICE(0x2001, 0x330A)},//D-Link - Alpha - {USB_DEVICE(0x2001, 0x3309)},//D-Link - Alpha -+ {USB_DEVICE(0x2001, 0x330D)},//D-Link - Alpha(?) - {USB_DEVICE(0x0586, 0x341F)},//Zyxel - Abocom - {USB_DEVICE(0x7392, 0x7822)},//Edimax - Edimax - {USB_DEVICE(0x2019, 0xAB2B)},//Planex - Abocom -diff --git a/os_dep/osdep_service.c b/os_dep/osdep_service.c -index 04cb35f..343cd82 100644 ---- a/os_dep/osdep_service.c -+++ b/os_dep/osdep_service.c -@@ -1553,3 +1553,19 @@ u64 rtw_division64(u64 x, u64 y) - #endif - } - -+#ifdef PLATFORM_LINUX -+int start_kthread(_thread_hdl_ *t_hdl, int (*threadfn)(void *data), -+ void *data, const char *name) -+{ -+#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0)) -+ *t_hdl = kernel_thread(threadfn, data, CLONE_FS|CLONE_FILES); -+ if(*t_hdl < 0) -+#else -+ *t_hdl = kthread_run(threadfn, data, name); -+ if(IS_ERR(*t_hdl)) -+#endif -+ return 0; -+ return -1; -+} -+#endif -+ diff --git a/meta-openvuplus/recipes-connectivity/realtek/r8192cu-3.4.4.4749.20121105/rtl8188C_8192C_usb_linux_v3.4.4_4749.20121105.tar.gz b/meta-openvuplus/recipes-connectivity/realtek/r8192cu-3.4.4.4749.20121105/rtl8188C_8192C_usb_linux_v3.4.4_4749.20121105.tar.gz deleted file mode 100755 index 3abb3bd..0000000 Binary files a/meta-openvuplus/recipes-connectivity/realtek/r8192cu-3.4.4.4749.20121105/rtl8188C_8192C_usb_linux_v3.4.4_4749.20121105.tar.gz and /dev/null differ diff --git a/meta-openvuplus/recipes-connectivity/realtek/r8192cu_3.1.2590.20110922.bb b/meta-openvuplus/recipes-connectivity/realtek/r8192cu_3.1.2590.20110922.bb deleted file mode 100644 index efcd711..0000000 --- a/meta-openvuplus/recipes-connectivity/realtek/r8192cu_3.1.2590.20110922.bb +++ /dev/null @@ -1,34 +0,0 @@ -DESCRIPTION = "driver for Realtek USB wireless devices" -SECTION = "kernel/modules" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://os_dep/linux/os_intfs.c;md5=9335a12a66bce6b5e29421aac1aa5383" - -inherit module - -SRC_URI = " \ - file://rtl8192_8188CU_linux_v3.1.2590.20110922.tar.gz \ - file://makefile.patch \ - file://linux_3.1.patch \ -" - -S = "${WORKDIR}/rtl8192_8188CU_linux_v${PV}" - -PR = "r0" - -do_compile () { - unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS CC LD CPP - oe_runmake ${MODULE_MAKE_FLAGS} -} - -do_install() { - install -d ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/net/wireless - install -m 0644 ${S}/8192cu.ko ${D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/net/wireless -} - -MODULE_MAKE_FLAGS += " \ - CROSS_COMPILE=${TARGET_PREFIX} \ - KVER=${KERNEL_VERSION} \ - KSRC=${STAGING_KERNEL_DIR} \ - KDIR=${STAGING_KERNEL_DIR} \ -" - diff --git a/meta-openvuplus/recipes-connectivity/realtek/r8192cu_3.4.4.4749.20121105.bb b/meta-openvuplus/recipes-connectivity/realtek/r8192cu_3.4.4.4749.20121105.bb deleted file mode 100644 index fd59f98..0000000 --- a/meta-openvuplus/recipes-connectivity/realtek/r8192cu_3.4.4.4749.20121105.bb +++ /dev/null @@ -1,29 +0,0 @@ -SUMMARY = "Driver for Realtek USB wireless devices" -HOMEPAGE = "http://www.realtek.com/" -LICENSE = "GPLv2" -PR = "r3" -LIC_FILES_CHKSUM = "file://os_dep/linux/os_intfs.c;endline=19;md5=f8d10a6bd2fdfa240c0634a7c660c57f" - -SRC_URI = "file://rtl8188C_8192C_usb_linux_v3.4.4_4749.20121105.tar.gz" - -SRC_URI += "${@base_version_less_or_equal('VUPLUS_KERNEL_VERSION', '3.4.0', ' ', 'file://r8192cu_build_fix.patch', d)}" - -S = "${WORKDIR}/rtl8188C_8192C_usb_linux_v3.4.4_4749.20121105" - -inherit module siteinfo - -EXTRA_OEMAKE = "CONFIG_RTL8192CU=m" - -do_configure() { - sed -e "s/^CONFIG_PLATFORM_I386_PC.*=.*y/EXTRA_CFLAGS += -DCONFIG_${@base_conditional('SITEINFO_ENDIANNESS', 'le', 'LITTLE', 'BIG', d)}_ENDIAN/" -i Makefile -} -do_compile() { - unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS - oe_runmake -C "${STAGING_KERNEL_DIR}" M="${S}" modules -} - -do_install() { - install -d ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/net/wireless - install -m 0644 ${S}/8192cu.ko ${D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/net/wireless -} - diff --git a/meta-openvuplus/recipes-connectivity/realtek/r8712u/config b/meta-openvuplus/recipes-connectivity/realtek/r8712u/config deleted file mode 100644 index 6decb18..0000000 --- a/meta-openvuplus/recipes-connectivity/realtek/r8712u/config +++ /dev/null @@ -1,27 +0,0 @@ - -# -# Automatically generated make config: don't edit -# - -CONFIG_RTL8711 = n -CONFIG_RTL8712 = y - - -CONFIG_USB_HCI = y -CONFIG_SDIO_HCI = n - - -CONFIG_MP_INCLUDED = y - -CONFIG_PLATFORM_I386_PC = n -CONFIG_PLATFORM_ANDROID_X86 = n -CONFIG_PLATFORM_ARM_S3C = n -CONFIG_PLATFORM_ARM_PXA = n -CONFIG_PLATFORM_MIPS_RMI = n -CONFIG_PLATFORM_RTK_DMP = n -CONFIG_PLATFORM_MIPS_PLM = n -CONFIG_PLATFORM_RTD2880B = n -CONFIG_PLATFORM_MSTAR389 = n - -CONFIG_MLME_EXT = n -CONFIG_DRVEXT_MODULE = n diff --git a/meta-openvuplus/recipes-connectivity/realtek/r8712u/strcasecmp.patch b/meta-openvuplus/recipes-connectivity/realtek/r8712u/strcasecmp.patch deleted file mode 100644 index 0aea6d9..0000000 --- a/meta-openvuplus/recipes-connectivity/realtek/r8712u/strcasecmp.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/ioctl/rtl871x_ioctl_linux.c b/ioctl/rtl871x_ioctl_linux.c -index 6f707de..561c50f 100755 ---- a/ioctl/rtl871x_ioctl_linux.c -+++ b/ioctl/rtl871x_ioctl_linux.c -@@ -52,6 +52,9 @@ - #define iwe_stream_add_point(a, b, c, d, e) iwe_stream_add_point(b, c, d, e) - #endif - -+#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,22)) -+#define strcasecmp(s1, s2) strcmp(s1, s2) -+#endif - - #define RTL_IOCTL_WPA_SUPPLICANT SIOCIWFIRSTPRIV+0x1E - diff --git a/meta-openvuplus/recipes-connectivity/realtek/r8712u_2.6.6.0.20101111.bb b/meta-openvuplus/recipes-connectivity/realtek/r8712u_2.6.6.0.20101111.bb deleted file mode 100644 index bd4d843..0000000 --- a/meta-openvuplus/recipes-connectivity/realtek/r8712u_2.6.6.0.20101111.bb +++ /dev/null @@ -1,30 +0,0 @@ -SUMMARY = "driver for Realtek USB wireless devices" -HOMEPAGE = "http://www.realtek.com/" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://os_intf/linux/os_intfs.c;endline=19;md5=d1bbd9348c57df9fd08439bddfa32ec5" -PR = "r1" - -SRC_URI = " \ - http://dreamboxupdate.com/download/sources/rtl8712_8188_8191_8192SU_usb_linux_v${PV}.tar.gz \ - file://strcasecmp.patch \ - file://config \ -" -SRC_URI[md5sum] = "137423701c43ac5f09007a393406e678" -SRC_URI[sha256sum] = "34ef8534361b0ce9ec756de8babe68f40ba9ce7a2be23d84cf9c185cc4a7c9bb" - -S = "${WORKDIR}/rtl8712_8188_8191_8192SU_usb_linux_v${PV}" - -inherit module siteinfo - -do_configure() { - install -m 644 ${WORKDIR}/config ${S} - echo "EXTRA_CFLAGS += -DCONFIG_${@base_conditional('SITEINFO_ENDIANNESS', 'le', 'LITTLE', 'BIG', d)}_ENDIAN" >> ${S}/config -} -do_compile() { - unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS - oe_runmake -C "${STAGING_KERNEL_DIR}" SUBDIRS="${S}" modules -} -do_install() { - unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS - oe_runmake -C "${STAGING_KERNEL_DIR}" SUBDIRS="${S}" DEPMOD="echo" INSTALL_MOD_PATH="${D}" modules_install -}