staging: r8188eu: introduce new supporting files for RTL8188eu driver
authorPhillip Potter <phil@philpotter.co.uk>
Tue, 27 Jul 2021 23:22:18 +0000 (00:22 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 28 Jul 2021 18:16:09 +0000 (20:16 +0200)
This patchset is split in order to keep the file sizes down. These
supporting files are part of the newer/better driver from GitHub modified by
Larry Finger. Import this as the basis for all future work going
forward. Also, modify Makefile so that driver has same module filename
as original rtl8188eu driver from staging, and rename config params to
fit the Kconfig file taken from the old driver. Finally, reword Kconfig
description to make it clear this is a newer driver.

Suggested-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: Phillip Potter <phil@philpotter.co.uk>
Link: https://lore.kernel.org/r/20210727232219.2948-6-phil@philpotter.co.uk
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/r8188eu/Kconfig [new file with mode: 0644]
drivers/staging/r8188eu/Makefile [new file with mode: 0644]

diff --git a/drivers/staging/r8188eu/Kconfig b/drivers/staging/r8188eu/Kconfig
new file mode 100644 (file)
index 0000000..6323d63
--- /dev/null
@@ -0,0 +1,25 @@
+# SPDX-License-Identifier: GPL-2.0
+config R8188EU
+       tristate "Realtek RTL8188EU Wireless LAN NIC driver"
+       depends on WLAN && USB && CFG80211
+       select WIRELESS_EXT
+       select WEXT_PRIV
+       select LIB80211
+       select LIB80211_CRYPT_WEP
+       select LIB80211_CRYPT_CCMP
+       help
+       This option adds support for the Realtek RTL8188EU chipset, used in USB
+       devices such as the ASUS USB-N10 Nano. This newer driver is based on GitHub
+       sources for version v4.1.4_6773.20130222, and contains modifications for
+       newer kernel features. If built as a module, it will be called r8188eu.
+
+if R8188EU
+
+config 88EU_AP_MODE
+       bool "Realtek RTL8188EU AP mode"
+       help
+       This option enables Access Point mode. Unless you know that your system
+       will never be used as an AP, or the target system has limited memory,
+       "Y" should be selected.
+
+endif
diff --git a/drivers/staging/r8188eu/Makefile b/drivers/staging/r8188eu/Makefile
new file mode 100644 (file)
index 0000000..6db1376
--- /dev/null
@@ -0,0 +1,129 @@
+SHELL := /bin/bash
+EXTRA_CFLAGS += $(USER_EXTRA_CFLAGS)
+EXTRA_CFLAGS += -O1
+
+EXTRA_CFLAGS += -Wno-unused-variable
+EXTRA_CFLAGS += -Wno-unused-value
+EXTRA_CFLAGS += -Wno-unused-label
+EXTRA_CFLAGS += -Wno-unused-parameter
+EXTRA_CFLAGS += -Wno-unused-function
+EXTRA_CFLAGS += -Wno-unused
+
+EXTRA_CFLAGS += -Wno-uninitialized
+
+EXTRA_CFLAGS += -I$(src)/include
+
+ccflags-y += -D__CHECK_ENDIAN__
+
+CONFIG_AUTOCFG_CP = n
+
+CONFIG_R8188EU = m
+
+CONFIG_USB_HCI = y
+
+CONFIG_BT_COEXIST = n
+CONFIG_WOWLAN = n
+
+OUTSRC_FILES :=                                \
+               hal/HalHWImg8188E_MAC.o \
+               hal/HalHWImg8188E_BB.o  \
+               hal/HalHWImg8188E_RF.o  \
+               hal/HalPhyRf.o          \
+               hal/HalPhyRf_8188e.o    \
+               hal/HalPwrSeqCmd.o      \
+               hal/Hal8188EPwrSeq.o    \
+               hal/Hal8188ERateAdaptive.o\
+               hal/hal_intf.o          \
+               hal/hal_com.o           \
+               hal/odm.o               \
+               hal/odm_debug.o         \
+               hal/odm_interface.o     \
+               hal/odm_HWConfig.o      \
+               hal/odm_RegConfig8188E.o\
+               hal/odm_RTL8188E.o      \
+               hal/rtl8188e_cmd.o      \
+               hal/rtl8188e_dm.o       \
+               hal/rtl8188e_hal_init.o \
+               hal/rtl8188e_mp.o       \
+               hal/rtl8188e_phycfg.o   \
+               hal/rtl8188e_rf6052.o   \
+               hal/rtl8188e_rxdesc.o   \
+               hal/rtl8188e_sreset.o   \
+               hal/rtl8188e_xmit.o     \
+               hal/rtl8188eu_led.o     \
+               hal/rtl8188eu_recv.o    \
+               hal/rtl8188eu_xmit.o    \
+               hal/usb_halinit.o       \
+               hal/usb_ops_linux.o
+
+RTL871X = rtl8188e
+
+HCI_NAME = usb
+
+_OS_INTFS_FILES :=                             \
+                       os_dep/ioctl_linux.o    \
+                       os_dep/mlme_linux.o     \
+                       os_dep/os_intfs.o       \
+                       os_dep/osdep_service.o  \
+                       os_dep/recv_linux.o     \
+                       os_dep/rtw_android.o    \
+                       os_dep/usb_intf.o       \
+                       os_dep/usb_ops_linux.o  \
+                       os_dep/xmit_linux.o
+
+_HAL_INTFS_FILES += $(OUTSRC_FILES)
+
+ifeq ($(CONFIG_AUTOCFG_CP), y)
+
+$(shell cp $(TopDIR)/autoconf_rtl8188e_usb_linux.h $(TopDIR)/include/autoconf.h)
+endif
+
+ifeq ($(CONFIG_BT_COEXIST), y)
+EXTRA_CFLAGS += -DCONFIG_BT_COEXIST
+endif
+
+ifeq ($(CONFIG_WOWLAN), y)
+EXTRA_CFLAGS += -DCONFIG_WOWLAN
+endif
+
+SUBARCH := $(shell uname -m | sed -e "s/i.86/i386/; s/ppc.*/powerpc/; s/armv.l/arm/; s/aarch64/arm64/;")
+
+ARCH ?= $(SUBARCH)
+CROSS_COMPILE ?=
+KVER  ?= $(if $(KERNELRELEASE),$(KERNELRELEASE),$(shell uname -r))
+KSRC ?= $(if $(KERNEL_SRC),$(KERNEL_SRC),/lib/modules/$(KVER)/build)
+MODDESTDIR := /lib/modules/$(KVER)/kernel/drivers/net/wireless
+INSTALL_PREFIX :=
+
+rtk_core :=                            \
+               core/rtw_ap.o           \
+               core/rtw_br_ext.o       \
+               core/rtw_cmd.o          \
+               core/rtw_debug.o        \
+               core/rtw_efuse.o        \
+               core/rtw_ieee80211.o    \
+               core/rtw_io.o           \
+               core/rtw_ioctl_set.o    \
+               core/rtw_iol.o          \
+               core/rtw_led.o          \
+               core/rtw_mlme.o         \
+               core/rtw_mlme_ext.o     \
+               core/rtw_mp.o           \
+               core/rtw_mp_ioctl.o     \
+               core/rtw_pwrctrl.o      \
+               core/rtw_p2p.o          \
+               core/rtw_recv.o         \
+               core/rtw_rf.o           \
+               core/rtw_security.o     \
+               core/rtw_sreset.o       \
+               core/rtw_sta_mgt.o      \
+               core/rtw_wlan_util.o    \
+               core/rtw_xmit.o
+
+r8188eu-y += $(rtk_core)
+
+r8188eu-y += $(_HAL_INTFS_FILES)
+
+r8188eu-y += $(_OS_INTFS_FILES)
+
+obj-$(CONFIG_R8188EU) := r8188eu.o