mirror of
				git://git.openwrt.org/openwrt/openwrt.git
				synced 2025-10-30 21:44:27 -04:00 
			
		
		
		
	This updates mac80211 to backprots-4.14-rc2. This was compile and runtime tested with ath9k, ath10k and b43 with multiple stations and ieee80211w and in different scenarios by many other people. To create the backports-4.14-rc2-1.tar.xz use this repository: https://git.kernel.org/pub/scm/linux/kernel/git/backports/backports.git from tag v4.14-rc2-1 Then run this: ./gentree.py --git-revision v4.14-rc2 --clean <path to linux repo> ../backports-4.14-rc2-1 This also adapts the ath10k-ct and mt76 driver to the changed cfg80211 APIs and syncs the nl80211.h file in iw with the new version from backports-4.14-rc2. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
		
			
				
	
	
		
			122 lines
		
	
	
		
			4.4 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			122 lines
		
	
	
		
			4.4 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| From 6f971392cd52524058f179d7c78464d692fbb018 Mon Sep 17 00:00:00 2001
 | |
| From: Jes Sorensen <Jes.Sorensen@redhat.com>
 | |
| Date: Mon, 27 Jun 2016 14:23:44 -0400
 | |
| Subject: [PATCH] rtl8xxxu: Add initial code to detect 8188eu devices
 | |
| 
 | |
| So far this just detects the device and tries to load firmware.
 | |
| 
 | |
| Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
 | |
| ---
 | |
|  drivers/net/wireless/realtek/rtl8xxxu/Makefile     |  2 +-
 | |
|  drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.h   |  1 +
 | |
|  .../net/wireless/realtek/rtl8xxxu/rtl8xxxu_8188e.c | 65 ++++++++++++++++++++++
 | |
|  .../net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c  |  3 +
 | |
|  4 files changed, 70 insertions(+), 1 deletion(-)
 | |
|  create mode 100644 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8188e.c
 | |
| 
 | |
| --- a/drivers/net/wireless/realtek/rtl8xxxu/Makefile
 | |
| +++ b/drivers/net/wireless/realtek/rtl8xxxu/Makefile
 | |
| @@ -1,4 +1,4 @@
 | |
|  obj-$(CPTCFG_RTL8XXXU)	+= rtl8xxxu.o
 | |
|  
 | |
|  rtl8xxxu-y	:= rtl8xxxu_core.o rtl8xxxu_8192e.o rtl8xxxu_8723b.o \
 | |
| -		   rtl8xxxu_8723a.o rtl8xxxu_8192c.o
 | |
| +		   rtl8xxxu_8723a.o rtl8xxxu_8192c.o rtl8xxxu_8188e.o
 | |
| --- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.h
 | |
| +++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.h
 | |
| @@ -1446,6 +1446,7 @@ void rtl8xxxu_fill_txdesc_v2(struct ieee
 | |
|  			     bool short_preamble, bool ampdu_enable,
 | |
|  			     u32 rts_rate);
 | |
|  
 | |
| +extern struct rtl8xxxu_fileops rtl8188eu_fops;
 | |
|  extern struct rtl8xxxu_fileops rtl8192cu_fops;
 | |
|  extern struct rtl8xxxu_fileops rtl8192eu_fops;
 | |
|  extern struct rtl8xxxu_fileops rtl8723au_fops;
 | |
| --- /dev/null
 | |
| +++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8188e.c
 | |
| @@ -0,0 +1,65 @@
 | |
| +/*
 | |
| + * RTL8XXXU mac80211 USB driver - 8188e specific subdriver
 | |
| + *
 | |
| + * Copyright (c) 2014 - 2016 Jes Sorensen <Jes.Sorensen@redhat.com>
 | |
| + *
 | |
| + * Portions, notably calibration code:
 | |
| + * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
 | |
| + *
 | |
| + * This driver was written as a replacement for the vendor provided
 | |
| + * rtl8723au driver. As the Realtek 8xxx chips are very similar in
 | |
| + * their programming interface, I have started adding support for
 | |
| + * additional 8xxx chips like the 8192cu, 8188cus, etc.
 | |
| + *
 | |
| + * This program is free software; you can redistribute it and/or modify it
 | |
| + * under the terms of version 2 of the GNU General Public License as
 | |
| + * published by the Free Software Foundation.
 | |
| + *
 | |
| + * This program 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.
 | |
| + */
 | |
| +
 | |
| +#include <linux/init.h>
 | |
| +#include <linux/kernel.h>
 | |
| +#include <linux/sched.h>
 | |
| +#include <linux/errno.h>
 | |
| +#include <linux/slab.h>
 | |
| +#include <linux/module.h>
 | |
| +#include <linux/spinlock.h>
 | |
| +#include <linux/list.h>
 | |
| +#include <linux/usb.h>
 | |
| +#include <linux/netdevice.h>
 | |
| +#include <linux/etherdevice.h>
 | |
| +#include <linux/ethtool.h>
 | |
| +#include <linux/wireless.h>
 | |
| +#include <linux/firmware.h>
 | |
| +#include <linux/moduleparam.h>
 | |
| +#include <net/mac80211.h>
 | |
| +#include "rtl8xxxu.h"
 | |
| +#include "rtl8xxxu_regs.h"
 | |
| +
 | |
| +static int rtl8188eu_parse_efuse(struct rtl8xxxu_priv *priv)
 | |
| +{
 | |
| +	return 0;
 | |
| +}
 | |
| +
 | |
| +static int rtl8188eu_load_firmware(struct rtl8xxxu_priv *priv)
 | |
| +{
 | |
| +	char *fw_name;
 | |
| +	int ret;
 | |
| +
 | |
| +	fw_name = "rtlwifi/rtl8188eufw.bin";
 | |
| +
 | |
| +	ret = rtl8xxxu_load_firmware(priv, fw_name);
 | |
| +
 | |
| +	return -EINVAL;
 | |
| +	return ret;
 | |
| +}
 | |
| +
 | |
| +struct rtl8xxxu_fileops rtl8188eu_fops = {
 | |
| +	.parse_efuse = rtl8188eu_parse_efuse,
 | |
| +	.load_firmware = rtl8188eu_load_firmware,
 | |
| +	.reset_8051 = rtl8xxxu_reset_8051,
 | |
| +};
 | |
| --- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c
 | |
| +++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c
 | |
| @@ -54,6 +54,7 @@ MODULE_LICENSE("GPL");
 | |
|  MODULE_FIRMWARE("rtlwifi/rtl8723aufw_A.bin");
 | |
|  MODULE_FIRMWARE("rtlwifi/rtl8723aufw_B.bin");
 | |
|  MODULE_FIRMWARE("rtlwifi/rtl8723aufw_B_NoBT.bin");
 | |
| +MODULE_FIRMWARE("rtlwifi/rtl8188eufw.bin");
 | |
|  MODULE_FIRMWARE("rtlwifi/rtl8192cufw_A.bin");
 | |
|  MODULE_FIRMWARE("rtlwifi/rtl8192cufw_B.bin");
 | |
|  MODULE_FIRMWARE("rtlwifi/rtl8192cufw_TMSC.bin");
 | |
| @@ -6212,6 +6213,8 @@ static const struct usb_device_id dev_ta
 | |
|  {USB_DEVICE_AND_INTERFACE_INFO(USB_VENDOR_ID_REALTEK, 0xb720, 0xff, 0xff, 0xff),
 | |
|  	.driver_info = (unsigned long)&rtl8723bu_fops},
 | |
|  #ifdef CPTCFG_RTL8XXXU_UNTESTED
 | |
| +{USB_DEVICE_AND_INTERFACE_INFO(USB_VENDOR_ID_REALTEK, 0x8179, 0xff, 0xff, 0xff),
 | |
| +	.driver_info = (unsigned long)&rtl8188eu_fops},
 | |
|  /* Still supported by rtlwifi */
 | |
|  {USB_DEVICE_AND_INTERFACE_INFO(USB_VENDOR_ID_REALTEK, 0x8176, 0xff, 0xff, 0xff),
 | |
|  	.driver_info = (unsigned long)&rtl8192cu_fops},
 |