backports: Add staging rtlwifi, rtl8188eu and rtl8723bs driver
authorHauke Mehrtens <hauke@hauke-m.de>
Sun, 4 Mar 2018 22:57:17 +0000 (23:57 +0100)
committerJohannes Berg <johannes.berg@intel.com>
Wed, 21 Mar 2018 08:19:32 +0000 (09:19 +0100)
This adds the staging Realtek drivers which are making use of cfg80211
and mac80211.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
backport/Kconfig.sources
backport/Makefile.kernel
copy-list
dependencies
patches/0084-disbale-some-staging-dirs.patch [new file with mode: 0644]
patches/0085-not-include-kmemleak.patch [new file with mode: 0644]
patches/0086-rtl8723bs-no-extern-inline.patch [new file with mode: 0644]

index d1d883435d549c534e51cfea9152a3333e181652..b4083a6d17e7e2d6a82cb55f00ca99f74d5bcdd4 100644 (file)
@@ -17,3 +17,5 @@ source "$BACKPORT_DIR/net/nfc/Kconfig"
 source "$BACKPORT_DIR/drivers/media/Kconfig"
 
 source "$BACKPORT_DIR/drivers/usb/class/Kconfig"
+
+source "$BACKPORT_DIR/drivers/staging/Kconfig"
index 6c84c2d7752fc4d314145ca9ba65f68eefab5804..6eb62cb920c7a7b510db87958fa24dfc81a604ee 100644 (file)
@@ -52,3 +52,5 @@ obj-$(CPTCFG_MEDIA_SUPPORT) += drivers/media/
 
 obj-$(CPTCFG_USB_WDM) += drivers/usb/class/
 obj-$(CPTCFG_USB_USBNET) += drivers/net/usb/
+
+obj-$(CPTCFG_STAGING) += drivers/staging/
index d36caea39f6dcc0bed9cb32040bee2f7366f52f2..5c64b6d4b37302de012570a10e77c98653401adb 100644 (file)
--- a/copy-list
+++ b/copy-list
@@ -114,6 +114,12 @@ drivers/net/usb/rndis_host.c
 drivers/net/usb/cdc_ether.c
 drivers/net/usb/usbnet.c
 
+drivers/staging/Makefile
+drivers/staging/Kconfig
+drivers/staging/rtlwifi/
+drivers/staging/rtl8188eu/
+drivers/staging/rtl8723bs/
+
 drivers/usb/class/Makefile
 drivers/usb/class/Kconfig
 drivers/usb/class/cdc-wdm.c
index 92d7dc2c8e03adcf97e17035a077130d0acafcc4..80e72c8a684c1a8e32fb74eb6954e29d92a479c6 100644 (file)
@@ -166,3 +166,7 @@ RSI_SDIO 3.13
 # depends on devm_led_classdev_register()
 MT76_CORE 4.1
 MT76x2E 4.1
+
+# select_queue_fallback_t is missing
+RTL8723BS 3.14
+R8188EU  3.14
diff --git a/patches/0084-disbale-some-staging-dirs.patch b/patches/0084-disbale-some-staging-dirs.patch
new file mode 100644 (file)
index 0000000..8947130
--- /dev/null
@@ -0,0 +1,13 @@
+--- a/drivers/staging/Makefile
++++ b/drivers/staging/Makefile
+@@ -1,8 +1,8 @@
+ # SPDX-License-Identifier: GPL-2.0
+ # Makefile for staging directory
+-obj-y                         += media/
+-obj-y                         += typec/
++#obj-y                                += media/
++#obj-y                                += typec/
+ obj-$(CONFIG_IPX)             += ipx/
+ obj-$(CONFIG_NCP_FS)          += ncpfs/
+ obj-$(CONFIG_IRDA)            += irda/net/
diff --git a/patches/0085-not-include-kmemleak.patch b/patches/0085-not-include-kmemleak.patch
new file mode 100644 (file)
index 0000000..def245d
--- /dev/null
@@ -0,0 +1,11 @@
+--- a/drivers/staging/rtl8188eu/hal/rtl8188eu_recv.c
++++ b/drivers/staging/rtl8188eu/hal/rtl8188eu_recv.c
+@@ -13,7 +13,7 @@
+  *
+  ******************************************************************************/
+ #define _RTL8188EU_RECV_C_
+-#include <linux/kmemleak.h>
++#include <linux/slab.h>
+ #include <osdep_service.h>
+ #include <drv_types.h>
+ #include <recv_osdep.h>
diff --git a/patches/0086-rtl8723bs-no-extern-inline.patch b/patches/0086-rtl8723bs-no-extern-inline.patch
new file mode 100644 (file)
index 0000000..cc8bba0
--- /dev/null
@@ -0,0 +1,26 @@
+diff --git a/drivers/staging/rtl8723bs/include/ieee80211.h b/drivers/staging/rtl8723bs/include/ieee80211.h
+index 73ce637..fa9c80f 100644
+--- a/drivers/staging/rtl8723bs/include/ieee80211.h
++++ b/drivers/staging/rtl8723bs/include/ieee80211.h
+@@ -1008,18 +1008,18 @@ enum ieee80211_state {
+ #define IP_FMT "%pI4"
+ #define IP_ARG(x) (x)
+-extern __inline int is_multicast_mac_addr(const u8 *addr)
++static inline int is_multicast_mac_addr(const u8 *addr)
+ {
+         return ((addr[0] != 0xff) && (0x01 & addr[0]));
+ }
+-extern __inline int is_broadcast_mac_addr(const u8 *addr)
++static inline int is_broadcast_mac_addr(const u8 *addr)
+ {
+       return ((addr[0] == 0xff) && (addr[1] == 0xff) && (addr[2] == 0xff) &&   \
+               (addr[3] == 0xff) && (addr[4] == 0xff) && (addr[5] == 0xff));
+ }
+-extern __inline int is_zero_mac_addr(const u8 *addr)
++static inline int is_zero_mac_addr(const u8 *addr)
+ {
+       return ((addr[0] == 0x00) && (addr[1] == 0x00) && (addr[2] == 0x00) &&   \
+               (addr[3] == 0x00) && (addr[4] == 0x00) && (addr[5] == 0x00));