Replace rtl8192e firmware removal patch with version submitted upstream
svn path=/dists/trunk/linux/; revision=21271
This commit is contained in:
parent
4530f5a9c6
commit
4edd0d432b
|
@ -1,61 +0,0 @@
|
||||||
From: Ben Hutchings <ben@decadent.org.uk>
|
|
||||||
Date: Thu, 01 Dec 2011 15:13:37 +0000
|
|
||||||
Subject: rtl8192e: Remove firmware again
|
|
||||||
Forwarded: no
|
|
||||||
|
|
||||||
Larry Finger imported a new version of this driver into staging.
|
|
||||||
Damn the regressions, let's have new crap!
|
|
||||||
|
|
||||||
diff --git a/drivers/staging/rtl8192e/rtl8192e/r8192E_firmware.c b/drivers/staging/rtl8192e/rtl8192e/r8192E_firmware.c
|
|
||||||
index 3771985..b073208 100644
|
|
||||||
--- a/drivers/staging/rtl8192e/rtl8192e/r8192E_firmware.c
|
|
||||||
+++ b/drivers/staging/rtl8192e/rtl8192e/r8192E_firmware.c
|
|
||||||
@@ -228,13 +228,6 @@ bool init_firmware(struct net_device *dev)
|
|
||||||
struct r8192_priv *priv = rtllib_priv(dev);
|
|
||||||
bool rt_status = true;
|
|
||||||
|
|
||||||
- u8 *firmware_img_buf[3] = { &Rtl8192PciEFwBootArray[0],
|
|
||||||
- &Rtl8192PciEFwMainArray[0],
|
|
||||||
- &Rtl8192PciEFwDataArray[0]};
|
|
||||||
-
|
|
||||||
- u32 firmware_img_len[3] = { sizeof(Rtl8192PciEFwBootArray),
|
|
||||||
- sizeof(Rtl8192PciEFwMainArray),
|
|
||||||
- sizeof(Rtl8192PciEFwDataArray)};
|
|
||||||
u32 file_length = 0;
|
|
||||||
u8 *mapped_file = NULL;
|
|
||||||
u8 init_step = 0;
|
|
||||||
@@ -308,14 +301,6 @@ bool init_firmware(struct net_device *dev)
|
|
||||||
file_length = pfirmware->firmware_buf_size[init_step];
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
- case FW_SOURCE_HEADER_FILE:
|
|
||||||
- mapped_file = firmware_img_buf[init_step];
|
|
||||||
- file_length = firmware_img_len[init_step];
|
|
||||||
- if (init_step == FW_INIT_STEP2_DATA) {
|
|
||||||
- memcpy(pfirmware->firmware_buf[init_step], mapped_file, file_length);
|
|
||||||
- pfirmware->firmware_buf_size[init_step] = file_length;
|
|
||||||
- }
|
|
||||||
- break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
diff --git a/drivers/staging/rtl8192e/rtl8192e/r8192E_hwimg.c b/drivers/staging/rtl8192e/rtl8192e/r8192E_hwimg.c
|
|
||||||
index 08e7dbb..e760397 100644
|
|
||||||
--- a/drivers/staging/rtl8192e/rtl8192e/r8192E_hwimg.c
|
|
||||||
+++ b/drivers/staging/rtl8192e/rtl8192e/r8192E_hwimg.c
|
|
||||||
@@ -20,6 +20,7 @@
|
|
||||||
|
|
||||||
#include "r8192E_hwimg.h"
|
|
||||||
|
|
||||||
+#ifdef REMOVE_DFSG
|
|
||||||
u8 Rtl8192PciEFwBootArray[BootArrayLengthPciE] = {
|
|
||||||
0x10,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x3c,0x08,0xbf,0xc0,0x25,0x08,0x00,0x08,
|
|
||||||
0x3c,0x09,0xb0,0x03,0xad,0x28,0x00,0x20,0x40,0x80,0x68,0x00,0x00,0x00,0x00,0x00,
|
|
||||||
@@ -2790,6 +2791,7 @@ u8 Rtl8192PciEFwDataArray[DataArrayLengthPciE] = {
|
|
||||||
0x80,0x00,0x8f,0xa8,0x80,0x00,0x8f,0xa8,0x80,0x00,0x8f,0xa8,0x80,0x00,0x8f,0xa8,
|
|
||||||
0x80,0x00,0x8f,0xd8,0x80,0x00,0x8f,0xec,0x80,0x00,0x90,0x00,0x80,0x00,0x8b,0x88,
|
|
||||||
};
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
u32 Rtl8192PciEPHY_REGArray[PHY_REGArrayLengthPciE] = {0x0,};
|
|
||||||
|
|
203
debian/patches/debian/dfsg/staging-rtl8192e-remove-built-in-firmware-images.patch
vendored
Normal file
203
debian/patches/debian/dfsg/staging-rtl8192e-remove-built-in-firmware-images.patch
vendored
Normal file
|
@ -0,0 +1,203 @@
|
||||||
|
From: Ben Hutchings <ben@decadent.org.uk>
|
||||||
|
Date: Thu, 24 Apr 2014 03:16:05 +0100
|
||||||
|
Subject: Staging: rtl8192e: Remove built-in firmware images
|
||||||
|
Origin: https://git.kernel.org/cgit/linux/kernel/git/gregkh/staging.git/commit?id=84fcb4b3a3716662ee2f7e0c8270241c71baeb97
|
||||||
|
|
||||||
|
The driver can already use request_firmware() to load firmware, and
|
||||||
|
always does so. There is code in init_firmware() to use the static
|
||||||
|
firmware images, but it's unreachable! Remove the data and simplify
|
||||||
|
init_firmware() accordingly.
|
||||||
|
|
||||||
|
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
|
||||||
|
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||||
|
[bwh: For Debian, insert markers for unifdef rather than quoting the firmware
|
||||||
|
to be removed]
|
||||||
|
---
|
||||||
|
diff --git a/drivers/staging/rtl8192e/rtl8192e/Kconfig b/drivers/staging/rtl8192e/rtl8192e/Kconfig
|
||||||
|
index ad82bc3..282e293 100644
|
||||||
|
--- a/drivers/staging/rtl8192e/rtl8192e/Kconfig
|
||||||
|
+++ b/drivers/staging/rtl8192e/rtl8192e/Kconfig
|
||||||
|
@@ -5,5 +5,6 @@ config RTL8192E
|
||||||
|
select WIRELESS_EXT
|
||||||
|
select WEXT_PRIV
|
||||||
|
select CRYPTO
|
||||||
|
+ select FW_LOADER
|
||||||
|
default N
|
||||||
|
---help---
|
||||||
|
diff --git a/drivers/staging/rtl8192e/rtl8192e/r8192E_firmware.c b/drivers/staging/rtl8192e/rtl8192e/r8192E_firmware.c
|
||||||
|
index abcd22f..1a95d1f 100644
|
||||||
|
--- a/drivers/staging/rtl8192e/rtl8192e/r8192E_firmware.c
|
||||||
|
+++ b/drivers/staging/rtl8192e/rtl8192e/r8192E_firmware.c
|
||||||
|
@@ -228,13 +228,6 @@ bool init_firmware(struct net_device *dev)
|
||||||
|
struct r8192_priv *priv = rtllib_priv(dev);
|
||||||
|
bool rt_status = true;
|
||||||
|
|
||||||
|
- u8 *firmware_img_buf[3] = { &Rtl8192PciEFwBootArray[0],
|
||||||
|
- &Rtl8192PciEFwMainArray[0],
|
||||||
|
- &Rtl8192PciEFwDataArray[0]};
|
||||||
|
-
|
||||||
|
- u32 firmware_img_len[3] = { sizeof(Rtl8192PciEFwBootArray),
|
||||||
|
- sizeof(Rtl8192PciEFwMainArray),
|
||||||
|
- sizeof(Rtl8192PciEFwDataArray)};
|
||||||
|
u32 file_length = 0;
|
||||||
|
u8 *mapped_file = NULL;
|
||||||
|
u8 init_step = 0;
|
||||||
|
@@ -257,77 +250,55 @@ bool init_firmware(struct net_device *dev)
|
||||||
|
" firmware state\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
- priv->firmware_source = FW_SOURCE_IMG_FILE;
|
||||||
|
for (init_step = starting_state; init_step <= FW_INIT_STEP2_DATA;
|
||||||
|
init_step++) {
|
||||||
|
if (rst_opt == OPT_SYSTEM_RESET) {
|
||||||
|
- switch (priv->firmware_source) {
|
||||||
|
- case FW_SOURCE_IMG_FILE:
|
||||||
|
- {
|
||||||
|
- if (pfirmware->firmware_buf_size[init_step] == 0) {
|
||||||
|
- const char *fw_name[3] = {
|
||||||
|
- RTL8192E_BOOT_IMG_FW,
|
||||||
|
- RTL8192E_MAIN_IMG_FW,
|
||||||
|
- RTL8192E_DATA_IMG_FW
|
||||||
|
- };
|
||||||
|
- const struct firmware *fw_entry;
|
||||||
|
- int rc;
|
||||||
|
- rc = request_firmware(&fw_entry,
|
||||||
|
- fw_name[init_step], &priv->pdev->dev);
|
||||||
|
- if (rc < 0) {
|
||||||
|
- RT_TRACE(COMP_FIRMWARE, "request firm"
|
||||||
|
- "ware fail!\n");
|
||||||
|
- goto download_firmware_fail;
|
||||||
|
- }
|
||||||
|
- if (fw_entry->size >
|
||||||
|
+ if (pfirmware->firmware_buf_size[init_step] == 0) {
|
||||||
|
+ const char *fw_name[3] = {
|
||||||
|
+ RTL8192E_BOOT_IMG_FW,
|
||||||
|
+ RTL8192E_MAIN_IMG_FW,
|
||||||
|
+ RTL8192E_DATA_IMG_FW
|
||||||
|
+ };
|
||||||
|
+ const struct firmware *fw_entry;
|
||||||
|
+ int rc;
|
||||||
|
+ rc = request_firmware(&fw_entry,
|
||||||
|
+ fw_name[init_step],
|
||||||
|
+ &priv->pdev->dev);
|
||||||
|
+ if (rc < 0) {
|
||||||
|
+ RT_TRACE(COMP_FIRMWARE, "request firmware fail!\n");
|
||||||
|
+ goto download_firmware_fail;
|
||||||
|
+ }
|
||||||
|
+ if (fw_entry->size >
|
||||||
|
sizeof(pfirmware->firmware_buf[init_step])) {
|
||||||
|
- RT_TRACE(COMP_FIRMWARE, "img file size "
|
||||||
|
+ RT_TRACE(COMP_FIRMWARE, "img file size "
|
||||||
|
"exceed the container struct "
|
||||||
|
"buffer fail!\n");
|
||||||
|
- goto download_firmware_fail;
|
||||||
|
- }
|
||||||
|
+ goto download_firmware_fail;
|
||||||
|
+ }
|
||||||
|
|
||||||
|
- if (init_step != FW_INIT_STEP1_MAIN) {
|
||||||
|
- memcpy(pfirmware->firmware_buf[init_step],
|
||||||
|
+ if (init_step != FW_INIT_STEP1_MAIN) {
|
||||||
|
+ memcpy(pfirmware->firmware_buf[init_step],
|
||||||
|
fw_entry->data, fw_entry->size);
|
||||||
|
- pfirmware->firmware_buf_size[init_step] =
|
||||||
|
- fw_entry->size;
|
||||||
|
+ pfirmware->firmware_buf_size[init_step] =
|
||||||
|
+ fw_entry->size;
|
||||||
|
|
||||||
|
- } else {
|
||||||
|
- memset(pfirmware->firmware_buf[init_step],
|
||||||
|
+ } else {
|
||||||
|
+ memset(pfirmware->firmware_buf[init_step],
|
||||||
|
0, 128);
|
||||||
|
- memcpy(&pfirmware->firmware_buf[init_step][128],
|
||||||
|
+ memcpy(&pfirmware->firmware_buf[init_step][128],
|
||||||
|
fw_entry->data, fw_entry->size);
|
||||||
|
- pfirmware->firmware_buf_size[init_step] =
|
||||||
|
- fw_entry->size + 128;
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
- if (rst_opt == OPT_SYSTEM_RESET)
|
||||||
|
- release_firmware(fw_entry);
|
||||||
|
+ pfirmware->firmware_buf_size[init_step] =
|
||||||
|
+ fw_entry->size + 128;
|
||||||
|
}
|
||||||
|
- mapped_file = pfirmware->firmware_buf[init_step];
|
||||||
|
- file_length = pfirmware->firmware_buf_size[init_step];
|
||||||
|
- break;
|
||||||
|
- }
|
||||||
|
- case FW_SOURCE_HEADER_FILE:
|
||||||
|
- mapped_file = firmware_img_buf[init_step];
|
||||||
|
- file_length = firmware_img_len[init_step];
|
||||||
|
- if (init_step == FW_INIT_STEP2_DATA) {
|
||||||
|
- memcpy(pfirmware->firmware_buf[init_step], mapped_file, file_length);
|
||||||
|
- pfirmware->firmware_buf_size[init_step] = file_length;
|
||||||
|
- }
|
||||||
|
- break;
|
||||||
|
|
||||||
|
- default:
|
||||||
|
- break;
|
||||||
|
+ if (rst_opt == OPT_SYSTEM_RESET)
|
||||||
|
+ release_firmware(fw_entry);
|
||||||
|
}
|
||||||
|
-
|
||||||
|
-
|
||||||
|
- } else if (rst_opt == OPT_FIRMWARE_RESET) {
|
||||||
|
- mapped_file = pfirmware->firmware_buf[init_step];
|
||||||
|
- file_length = pfirmware->firmware_buf_size[init_step];
|
||||||
|
}
|
||||||
|
|
||||||
|
+ mapped_file = pfirmware->firmware_buf[init_step];
|
||||||
|
+ file_length = pfirmware->firmware_buf_size[init_step];
|
||||||
|
+
|
||||||
|
rt_status = fw_download_code(dev, mapped_file, file_length);
|
||||||
|
if (!rt_status) {
|
||||||
|
goto download_firmware_fail;
|
||||||
|
diff --git a/drivers/staging/rtl8192e/rtl8192e/r8192E_firmware.h b/drivers/staging/rtl8192e/rtl8192e/r8192E_firmware.h
|
||||||
|
index 06d6abc..94fa16b 100644
|
||||||
|
--- a/drivers/staging/rtl8192e/rtl8192e/r8192E_firmware.h
|
||||||
|
+++ b/drivers/staging/rtl8192e/rtl8192e/r8192E_firmware.h
|
||||||
|
@@ -43,11 +43,6 @@ enum desc_packet_type {
|
||||||
|
DESC_PACKET_TYPE_NORMAL = 1,
|
||||||
|
};
|
||||||
|
|
||||||
|
-enum firmware_source {
|
||||||
|
- FW_SOURCE_IMG_FILE = 0,
|
||||||
|
- FW_SOURCE_HEADER_FILE = 1,
|
||||||
|
-};
|
||||||
|
-
|
||||||
|
enum firmware_status {
|
||||||
|
FW_STATUS_0_INIT = 0,
|
||||||
|
FW_STATUS_1_MOVE_BOOT_CODE = 1,
|
||||||
|
diff --git a/drivers/staging/rtl8192e/rtl8192e/r8192E_hwimg.c b/drivers/staging/rtl8192e/rtl8192e/r8192E_hwimg.c
|
||||||
|
index 08e7dbb..6767b59 100644
|
||||||
|
--- a/drivers/staging/rtl8192e/rtl8192e/r8192E_hwimg.c
|
||||||
|
+++ b/drivers/staging/rtl8192e/rtl8192e/r8192E_hwimg.c
|
||||||
|
@@ -20,6 +20,7 @@
|
||||||
|
|
||||||
|
#include "r8192E_hwimg.h"
|
||||||
|
|
||||||
|
+#ifdef REMOVE_DFSG
|
||||||
|
u8 Rtl8192PciEFwBootArray[BootArrayLengthPciE] = {
|
||||||
|
0x10,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x3c,0x08,0xbf,0xc0,0x25,0x08,0x00,0x08,
|
||||||
|
0x3c,0x09,0xb0,0x03,0xad,0x28,0x00,0x20,0x40,0x80,0x68,0x00,0x00,0x00,0x00,0x00,
|
||||||
|
@@ -2791,6 +2792,7 @@ u8 Rtl8192PciEFwDataArray[DataArrayLengthPciE] = {
|
||||||
|
0x80,0x00,0x8f,0xd8,0x80,0x00,0x8f,0xec,0x80,0x00,0x90,0x00,0x80,0x00,0x8b,0x88,
|
||||||
|
};
|
||||||
|
|
||||||
|
+#endif
|
||||||
|
u32 Rtl8192PciEPHY_REGArray[PHY_REGArrayLengthPciE] = {0x0,};
|
||||||
|
|
||||||
|
u32 Rtl8192PciEPHY_REG_1T2RArray[PHY_REG_1T2RArrayLengthPciE] = {
|
||||||
|
diff --git a/drivers/staging/rtl8192e/rtl8192e/rtl_core.h b/drivers/staging/rtl8192e/rtl8192e/rtl_core.h
|
||||||
|
index 35fc116..d1438c2 100644
|
||||||
|
--- a/drivers/staging/rtl8192e/rtl8192e/rtl_core.h
|
||||||
|
+++ b/drivers/staging/rtl8192e/rtl8192e/rtl_core.h
|
||||||
|
@@ -582,7 +582,6 @@ struct r8192_priv {
|
||||||
|
|
||||||
|
struct rt_firmware *pFirmware;
|
||||||
|
enum rtl819x_loopback LoopbackMode;
|
||||||
|
- enum firmware_source firmware_source;
|
||||||
|
|
||||||
|
struct timer_list watch_dog_timer;
|
||||||
|
struct timer_list fsync_timer;
|
|
@ -5,6 +5,6 @@
|
||||||
+ debian/dfsg/drivers-staging-wlags49_h2-disable.patch
|
+ debian/dfsg/drivers-staging-wlags49_h2-disable.patch
|
||||||
+ debian/dfsg/drivers-staging-wlags49_h25-disable.patch
|
+ debian/dfsg/drivers-staging-wlags49_h25-disable.patch
|
||||||
+ debian/dfsg/video-remove-nvidiafb-and-rivafb.patch
|
+ debian/dfsg/video-remove-nvidiafb-and-rivafb.patch
|
||||||
+ debian/dfsg/r8192e-remove-firmware-again.patch
|
+ debian/dfsg/staging-rtl8192e-remove-built-in-firmware-images.patch
|
||||||
+ debian/dfsg/firmware-cleanup.patch
|
+ debian/dfsg/firmware-cleanup.patch
|
||||||
X debian/dfsg/files-1
|
X debian/dfsg/files-1
|
||||||
|
|
Loading…
Reference in New Issue