Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 84fcb4b3 authored by Ben Hutchings's avatar Ben Hutchings Committed by Greg Kroah-Hartman
Browse files

Staging: rtl8192e: Remove built-in firmware images



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: default avatarBen Hutchings <ben@decadent.org.uk>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 430fb250
Loading
Loading
Loading
Loading
+1 −0
Original line number Original line Diff line number Diff line
@@ -5,4 +5,5 @@ config RTL8192E
	select WIRELESS_EXT
	select WIRELESS_EXT
	select WEXT_PRIV
	select WEXT_PRIV
	select CRYPTO
	select CRYPTO
	select FW_LOADER
	---help---
	---help---
+33 −62
Original line number Original line Diff line number Diff line
@@ -228,13 +228,6 @@ bool init_firmware(struct net_device *dev)
	struct r8192_priv *priv = rtllib_priv(dev);
	struct r8192_priv *priv = rtllib_priv(dev);
	bool			rt_status = true;
	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;
	u32	file_length = 0;
	u8	*mapped_file = NULL;
	u8	*mapped_file = NULL;
	u8	init_step = 0;
	u8	init_step = 0;
@@ -257,13 +250,9 @@ bool init_firmware(struct net_device *dev)
			 " firmware state\n");
			 " firmware state\n");
	}
	}


	priv->firmware_source = FW_SOURCE_IMG_FILE;
	for (init_step = starting_state; init_step <= FW_INIT_STEP2_DATA;
	for (init_step = starting_state; init_step <= FW_INIT_STEP2_DATA;
	     init_step++) {
	     init_step++) {
		if (rst_opt == OPT_SYSTEM_RESET) {
		if (rst_opt == OPT_SYSTEM_RESET) {
			switch (priv->firmware_source) {
			case FW_SOURCE_IMG_FILE:
			{
			if (pfirmware->firmware_buf_size[init_step] == 0) {
			if (pfirmware->firmware_buf_size[init_step] == 0) {
				const char *fw_name[3] = {
				const char *fw_name[3] = {
					RTL8192E_BOOT_IMG_FW,
					RTL8192E_BOOT_IMG_FW,
@@ -273,10 +262,10 @@ bool init_firmware(struct net_device *dev)
				const struct firmware *fw_entry;
				const struct firmware *fw_entry;
				int rc;
				int rc;
				rc = request_firmware(&fw_entry,
				rc = request_firmware(&fw_entry,
					 fw_name[init_step], &priv->pdev->dev);
						      fw_name[init_step],
						      &priv->pdev->dev);
				if (rc < 0) {
				if (rc < 0) {
						RT_TRACE(COMP_FIRMWARE, "request firm"
					RT_TRACE(COMP_FIRMWARE, "request firmware fail!\n");
						 "ware fail!\n");
					goto download_firmware_fail;
					goto download_firmware_fail;
				}
				}
				if (fw_entry->size >
				if (fw_entry->size >
@@ -305,28 +294,10 @@ bool init_firmware(struct net_device *dev)
				if (rst_opt == OPT_SYSTEM_RESET)
				if (rst_opt == OPT_SYSTEM_RESET)
					release_firmware(fw_entry);
					release_firmware(fw_entry);
			}
			}
				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;
			}


		} else if (rst_opt == OPT_FIRMWARE_RESET) {
		mapped_file = pfirmware->firmware_buf[init_step];
		mapped_file = pfirmware->firmware_buf[init_step];
		file_length = pfirmware->firmware_buf_size[init_step];
		file_length = pfirmware->firmware_buf_size[init_step];
		}


		rt_status = fw_download_code(dev, mapped_file, file_length);
		rt_status = fw_download_code(dev, mapped_file, file_length);
		if (!rt_status) {
		if (!rt_status) {
+0 −5
Original line number Original line Diff line number Diff line
@@ -43,11 +43,6 @@ enum desc_packet_type {
	DESC_PACKET_TYPE_NORMAL = 1,
	DESC_PACKET_TYPE_NORMAL = 1,
};
};


enum firmware_source {
	FW_SOURCE_IMG_FILE = 0,
	FW_SOURCE_HEADER_FILE = 1,
};

enum firmware_status {
enum firmware_status {
	FW_STATUS_0_INIT = 0,
	FW_STATUS_0_INIT = 0,
	FW_STATUS_1_MOVE_BOOT_CODE = 1,
	FW_STATUS_1_MOVE_BOOT_CODE = 1,
+0 −2771

File changed.

Preview size limit exceeded, changes collapsed.

+0 −1
Original line number Original line Diff line number Diff line
@@ -582,7 +582,6 @@ struct r8192_priv {


	struct rt_firmware			*pFirmware;
	struct rt_firmware			*pFirmware;
	enum rtl819x_loopback LoopbackMode;
	enum rtl819x_loopback LoopbackMode;
	enum firmware_source firmware_source;


	struct timer_list			watch_dog_timer;
	struct timer_list			watch_dog_timer;
	struct timer_list			fsync_timer;
	struct timer_list			fsync_timer;