summaryrefslogtreecommitdiffstats
path: root/drivers/staging/ks7010/ks7010_sdio.c
diff options
context:
space:
mode:
authorWolfram Sang <wsa+renesas@sang-engineering.com>2016-05-31 12:56:15 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2016-06-07 22:42:53 -0700
commitc3fe667f0a99712a2f2ba2f936b35598cf806286 (patch)
treeb0886c7bf762bb40b0604db4416269ca984400a3 /drivers/staging/ks7010/ks7010_sdio.c
parent021873f650658fb1d8da5f3ee7d31eba40b21a93 (diff)
downloadop-kernel-dev-c3fe667f0a99712a2f2ba2f936b35598cf806286.zip
op-kernel-dev-c3fe667f0a99712a2f2ba2f936b35598cf806286.tar.gz
staging: ks7010: remove custom firmware loader
FW_LOADER works fine, no need for a open coded fallback. Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/staging/ks7010/ks7010_sdio.c')
-rw-r--r--drivers/staging/ks7010/ks7010_sdio.c56
1 files changed, 0 insertions, 56 deletions
diff --git a/drivers/staging/ks7010/ks7010_sdio.c b/drivers/staging/ks7010/ks7010_sdio.c
index 7cc49a4..9300658 100644
--- a/drivers/staging/ks7010/ks7010_sdio.c
+++ b/drivers/staging/ks7010/ks7010_sdio.c
@@ -56,10 +56,6 @@ static int ks7010_sdio_read( ks_wlan_private *priv, unsigned int address,
unsigned char *buffer, int length );
static int ks7010_sdio_write( ks_wlan_private *priv, unsigned int address,
unsigned char *buffer, int length );
-#ifdef NO_FIRMWARE_CLASS
-static char *romfile = ROM_FILE;
-module_param(romfile, charp, S_IRUGO);
-#endif
/* macro */
#define inc_txqhead(priv) \
@@ -723,23 +719,15 @@ error_out:
if(read_buf) kfree(read_buf);
return rc;
}
-#ifndef NO_FIRMWARE_CLASS
#include <linux/firmware.h>
-#endif
static int ks79xx_upload_firmware(ks_wlan_private *priv, struct ks_sdio_card *card)
{
unsigned int size, offset, n = 0;
unsigned char *rom_buf;
unsigned char rw_data =0;
int retval, rc=0;
-#ifndef NO_FIRMWARE_CLASS
int length;
const struct firmware *fw_entry = NULL;
-#else
- int orgfsuid, orgfsgid;
- struct file *srcf;
- mm_segment_t orgfs;
-#endif
rom_buf = NULL;
@@ -758,38 +746,16 @@ static int ks79xx_upload_firmware(ks_wlan_private *priv, struct ks_sdio_card *ca
goto error_out0;
}
-#ifndef NO_FIRMWARE_CLASS
if(request_firmware(&fw_entry, priv->reg.rom_file, &priv->ks_wlan_hw.sdio_card->func->dev)!=0){
DPRINTK(1,"error request_firmware() file=%s\n", priv->reg.rom_file);
return 1;
}
DPRINTK(4,"success request_firmware() file=%s size=%d\n", priv->reg.rom_file, fw_entry->size);
length = fw_entry->size;
-#else
- orgfsuid=current->fsuid;
- orgfsgid=current->fsgid;
- current->fsuid=current->fsgid=0;
- orgfs=get_fs();
- set_fs(KERNEL_DS);
-
- srcf = filp_open(romfile, O_RDONLY, 0);
- if (IS_ERR(srcf)) {
- DPRINTK(1, "error %ld opening %s\n", -PTR_ERR(srcf),romfile);
- rc = 1;
- goto error_out1;
- }
-
- if (!(srcf->f_op && srcf->f_op->read)) {
- DPRINTK(1, "%s does not have a read method\n", romfile);
- rc = 2;
- goto error_out2;
- }
-#endif
/* Load Program */
n = 0;
do {
-#ifndef NO_FIRMWARE_CLASS
if(length >= ROM_BUFF_SIZE){
size = ROM_BUFF_SIZE;
length = length - ROM_BUFF_SIZE;
@@ -801,16 +767,6 @@ static int ks79xx_upload_firmware(ks_wlan_private *priv, struct ks_sdio_card *ca
DPRINTK(4, "size = %d\n",size);
if(size == 0) break;
memcpy(rom_buf,fw_entry->data+n,size);
-#else
- /* The object must have a read method */
- size = srcf->f_op->read(srcf, rom_buf, ROM_BUFF_SIZE, &srcf->f_pos);
- if (size < 0) {
- DPRINTK(1, "Read %s error %d\n", priv->reg.rom_file, -retval);
- rc = 5;
- goto error_out2;
- }
- else if (size == 0) break;
-#endif
/* Update write index */
offset = n;
retval = ks7010_sdio_update_index(priv, KS7010_IRAM_ADDRESS+offset);
@@ -852,20 +808,8 @@ static int ks79xx_upload_firmware(ks_wlan_private *priv, struct ks_sdio_card *ca
rc = 0;
-#ifdef NO_FIRMWARE_CLASS
- error_out2:
- retval=filp_close(srcf ,NULL);
- if (retval)
- DPRINTK(1, "error %d closing %s\n", -retval,priv->reg.rom_file);
-
- error_out1:
- set_fs(orgfs);
- current->fsuid=orgfsuid;
- current->fsgid=orgfsgid;
-#else
error_out1:
release_firmware(fw_entry);
-#endif
error_out0:
sdio_release_host(card->func);
if(rom_buf)
OpenPOWER on IntegriCloud