aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--arch/arm64/configs/m2note_defconfig1
-rw-r--r--drivers/misc/mediatek/connectivity/Kconfig4
-rw-r--r--drivers/misc/mediatek/connectivity/common/conn_soc/linux/pub/wmt_chrdev_wifi.c10
-rw-r--r--drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_init.c5
-rw-r--r--drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_p2p_init.c2
5 files changed, 14 insertions, 8 deletions
diff --git a/arch/arm64/configs/m2note_defconfig b/arch/arm64/configs/m2note_defconfig
index 594c4a22f..e1b5f9b14 100644
--- a/arch/arm64/configs/m2note_defconfig
+++ b/arch/arm64/configs/m2note_defconfig
@@ -1543,6 +1543,7 @@ CONFIG_GPS=y
CONFIG_MTK_GPS=y
CONFIG_MTK_GPS_SUPPORT=y
# CONFIG_MTK_GPS_REGISTER_SETTING is not set
+CONFIG_MTK_COMBO_AOSP_TETHERING_SUPPORT=y
CONFIG_MTK_COMBO_DISABLE_5G_FOR_P2P=y
#
diff --git a/drivers/misc/mediatek/connectivity/Kconfig b/drivers/misc/mediatek/connectivity/Kconfig
index ea1c3954f..16588dd44 100644
--- a/drivers/misc/mediatek/connectivity/Kconfig
+++ b/drivers/misc/mediatek/connectivity/Kconfig
@@ -279,6 +279,10 @@ config MTK_GPS_REGISTER_SETTING
help
GPS register settings.
+config MTK_COMBO_AOSP_TETHERING_SUPPORT
+ bool "Multiplex wlan0 for both AP and STA"
+ default n
+
config MTK_COMBO_DISABLE_5G_FOR_P2P
bool "Disable 5Ghz bands from P2P negotiations"
default n
diff --git a/drivers/misc/mediatek/connectivity/common/conn_soc/linux/pub/wmt_chrdev_wifi.c b/drivers/misc/mediatek/connectivity/common/conn_soc/linux/pub/wmt_chrdev_wifi.c
index 7ccb60ed8..a075f46b5 100644
--- a/drivers/misc/mediatek/connectivity/common/conn_soc/linux/pub/wmt_chrdev_wifi.c
+++ b/drivers/misc/mediatek/connectivity/common/conn_soc/linux/pub/wmt_chrdev_wifi.c
@@ -60,7 +60,7 @@ UINT32 gDbgLevel = WIFI_LOG_DBG;
#define VERSION "1.0"
#define WLAN_IFACE_NAME "wlan0"
-#if CFG_TC1_FEATURE
+#if CFG_TC1_FEATURE || defined(CONFIG_MTK_COMBO_AOSP_TETHERING_SUPPORT)
#define LEGACY_IFACE_NAME "legacy0"
#endif
@@ -73,7 +73,7 @@ enum {
static INT32 wlan_mode = WLAN_MODE_HALT;
static INT32 powered;
static INT8 *ifname = WLAN_IFACE_NAME;
-#if CFG_TC1_FEATURE
+#if CFG_TC1_FEATURE || defined(CONFIG_MTK_COMBO_AOSP_TETHERING_SUPPORT)
volatile INT32 wlan_if_changed = 0;
EXPORT_SYMBOL(wlan_if_changed);
#endif
@@ -368,7 +368,7 @@ ssize_t WIFI_write(struct file *filp, const char __user *buf, size_t count, loff
powered = 0;
retval = count;
wlan_mode = WLAN_MODE_HALT;
-#if CFG_TC1_FEATURE
+#if CFG_TC1_FEATURE || defined(CONFIG_MTK_COMBO_AOSP_TETHERING_SUPPORT)
ifname = WLAN_IFACE_NAME;
wlan_if_changed = 0;
#endif
@@ -491,7 +491,7 @@ ssize_t WIFI_write(struct file *filp, const char __user *buf, size_t count, loff
}
if (local[0] == 'S' || local[0] == 'P') {
-#if CFG_TC1_FEATURE
+#if CFG_TC1_FEATURE || defined(CONFIG_MTK_COMBO_AOSP_TETHERING_SUPPORT)
/* Restore NIC name to wlan0 */
rtnl_lock();
if (strcmp(ifname, WLAN_IFACE_NAME) != 0) {
@@ -518,7 +518,7 @@ ssize_t WIFI_write(struct file *filp, const char __user *buf, size_t count, loff
retval = count;
}
} else if (local[0] == 'A') {
-#if CFG_TC1_FEATURE
+#if CFG_TC1_FEATURE || defined(CONFIG_MTK_COMBO_AOSP_TETHERING_SUPPORT)
/* Change NIC name to legacy0, since wlan0 is used for AP */
rtnl_lock();
if (strcmp(ifname, LEGACY_IFACE_NAME) != 0) {
diff --git a/drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_init.c b/drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_init.c
index bbe91d87a..6a8b2a588 100644
--- a/drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_init.c
+++ b/drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_init.c
@@ -721,8 +721,9 @@ MODULE_SUPPORTED_DEVICE(NIC_NAME);
MODULE_LICENSE("GPL");
#define NIC_INF_NAME "wlan%d" /* interface name */
-#if CFG_TC1_FEATURE
+#if CFG_TC1_FEATURE || defined(CONFIG_MTK_COMBO_AOSP_TETHERING_SUPPORT)
#define NIC_INF_NAME_IN_AP_MODE "legacy%d"
+extern volatile int wlan_if_changed;
#endif
/* support to change debug module info dynamically */
@@ -2314,7 +2315,7 @@ static struct wireless_dev *wlanNetCreate(PVOID pvData)
prGlueInfo = (P_GLUE_INFO_T) wiphy_priv(prWdev->wiphy);
kalMemZero(prGlueInfo, sizeof(GLUE_INFO_T));
/* 4 <3.1> Create net device */
-#if CFG_TC1_FEATURE
+#if CFG_TC1_FEATURE || defined(CONFIG_MTK_COMBO_AOSP_TETHERING_SUPPORT)
if (wlan_if_changed) {
prGlueInfo->prDevHandler = alloc_netdev_mq(sizeof(P_GLUE_INFO_T), NIC_INF_NAME_IN_AP_MODE,
ether_setup, CFG_MAX_TXQ_NUM);
diff --git a/drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_p2p_init.c b/drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_p2p_init.c
index 89f54c5ca..080bfc205 100644
--- a/drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_p2p_init.c
+++ b/drivers/misc/mediatek/connectivity/wlan/gen2/os/linux/gl_p2p_init.c
@@ -41,7 +41,7 @@
*/
#define P2P_MODE_INF_NAME "p2p%d"
-#if CFG_TC1_FEATURE
+#if CFG_TC1_FEATURE || defined(CONFIG_MTK_COMBO_AOSP_TETHERING_SUPPORT)
#define AP_MODE_INF_NAME "wlan%d"
#else
#define AP_MODE_INF_NAME "ap%d"