diff options
Diffstat (limited to 'drivers/staging/vt6656/firmware.c')
-rw-r--r-- | drivers/staging/vt6656/firmware.c | 78 |
1 files changed, 39 insertions, 39 deletions
diff --git a/drivers/staging/vt6656/firmware.c b/drivers/staging/vt6656/firmware.c index 1159f0b34578..eae4f32d9b66 100644 --- a/drivers/staging/vt6656/firmware.c +++ b/drivers/staging/vt6656/firmware.c @@ -35,25 +35,22 @@ #include "firmware.h" #include "usbpipe.h" -static int msglevel = MSG_LEVEL_INFO; -/* static int msglevel = MSG_LEVEL_DEBUG; */ - #define FIRMWARE_VERSION 0x133 /* version 1.51 */ #define FIRMWARE_NAME "vntwusb.fw" #define FIRMWARE_CHUNK_SIZE 0x400 -int FIRMWAREbDownload(struct vnt_private *pDevice) +int vnt_download_firmware(struct vnt_private *priv) { - struct device *dev = &pDevice->usb->dev; + struct device *dev = &priv->usb->dev; const struct firmware *fw; - int NdisStatus; - void *pBuffer = NULL; + int status; + void *buffer = NULL; bool result = false; - u16 wLength; + u16 length; int ii, rc; - DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"---->Download firmware\n"); + dev_dbg(dev, "---->Download firmware\n"); rc = request_firmware(&fw, FIRMWARE_NAME, dev); if (rc) { @@ -62,24 +59,24 @@ int FIRMWAREbDownload(struct vnt_private *pDevice) goto out; } - pBuffer = kmalloc(FIRMWARE_CHUNK_SIZE, GFP_KERNEL); - if (!pBuffer) + buffer = kmalloc(FIRMWARE_CHUNK_SIZE, GFP_KERNEL); + if (!buffer) goto out; for (ii = 0; ii < fw->size; ii += FIRMWARE_CHUNK_SIZE) { - wLength = min_t(int, fw->size - ii, FIRMWARE_CHUNK_SIZE); - memcpy(pBuffer, fw->data + ii, wLength); + length = min_t(int, fw->size - ii, FIRMWARE_CHUNK_SIZE); + memcpy(buffer, fw->data + ii, length); - NdisStatus = vnt_control_out(pDevice, + status = vnt_control_out(priv, 0, 0x1200+ii, 0x0000, - wLength, - pBuffer); + length, + buffer); + + dev_dbg(dev, "Download firmware...%d %zu\n", ii, fw->size); - DBG_PRT(MSG_LEVEL_DEBUG, - KERN_INFO"Download firmware...%d %zu\n", ii, fw->size); - if (NdisStatus != STATUS_SUCCESS) + if (status != STATUS_SUCCESS) goto free_fw; } @@ -88,56 +85,59 @@ free_fw: release_firmware(fw); out: - kfree(pBuffer); + kfree(buffer); return result; } MODULE_FIRMWARE(FIRMWARE_NAME); -int FIRMWAREbBrach2Sram(struct vnt_private *pDevice) +int vnt_firmware_branch_to_sram(struct vnt_private *priv) { - int NdisStatus; + int status; - DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"---->Branch to Sram\n"); + dev_dbg(&priv->usb->dev, "---->Branch to Sram\n"); - NdisStatus = vnt_control_out(pDevice, + status = vnt_control_out(priv, 1, 0x1200, 0x0000, 0, NULL); - if (NdisStatus != STATUS_SUCCESS) + if (status != STATUS_SUCCESS) return false; else return true; } -int FIRMWAREbCheckVersion(struct vnt_private *pDevice) +int vnt_check_firmware_version(struct vnt_private *priv) { - int ntStatus; + int status; - ntStatus = vnt_control_in(pDevice, + status = vnt_control_in(priv, MESSAGE_TYPE_READ, 0, MESSAGE_REQUEST_VERSION, 2, - (u8 *) &(pDevice->wFirmwareVersion)); + (u8 *)&priv->firmware_version); + + dev_dbg(&priv->usb->dev, "Firmware Version [%04x]\n", + priv->firmware_version); - DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"Firmware Version [%04x]\n", - pDevice->wFirmwareVersion); - if (ntStatus != STATUS_SUCCESS) { - DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"Firmware Invalid.\n"); + if (status != STATUS_SUCCESS) { + dev_dbg(&priv->usb->dev, "Firmware Invalid.\n"); return false; } - if (pDevice->wFirmwareVersion == 0xFFFF) { - DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"In Loader.\n"); + if (priv->firmware_version == 0xFFFF) { + dev_dbg(&priv->usb->dev, "In Loader.\n"); return false; } - DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"Firmware Version [%04x]\n", - pDevice->wFirmwareVersion); - if (pDevice->wFirmwareVersion < FIRMWARE_VERSION) { + + dev_dbg(&priv->usb->dev, "Firmware Version [%04x]\n", + priv->firmware_version); + + if (priv->firmware_version < FIRMWARE_VERSION) { /* branch to loader for download new firmware */ - FIRMWAREbBrach2Sram(pDevice); + vnt_firmware_branch_to_sram(priv); return false; } return true; |