static char *smscore_get_fw_filename(struct smscore_device_t *coredev,
- int mode, int lookup);
+ int mode);
/**
* loads specified firmware into a buffer and calls device loadfirmware_handler
* @return 0 on success, <0 on error.
*/
static int smscore_load_firmware_from_file(struct smscore_device_t *coredev,
- int mode, int lookup,
+ int mode,
loadfirmware_t loadfirmware_handler)
{
int rc = -ENOENT;
u32 fw_buf_size;
const struct firmware *fw;
- char *fw_filename = smscore_get_fw_filename(coredev, mode, lookup);
+ char *fw_filename = smscore_get_fw_filename(coredev, mode);
if (!fw_filename) {
sms_info("mode %d not supported on this device", mode);
return -ENOENT;
* @return 0 on success, <0 on error.
*/
static char *smscore_get_fw_filename(struct smscore_device_t *coredev,
- int mode, int lookup)
+ int mode)
{
char **fw;
int board_id = smscore_get_board_id(coredev);
if (mode <= DEVICE_MODE_NONE || mode >= DEVICE_MODE_MAX)
return NULL;
- if ((board_id == SMS_BOARD_UNKNOWN) || (lookup == 1)) {
- sms_debug("trying to get fw name from lookup table mode %d type %d",
- mode, type);
- return smscore_fw_lkup[type][mode];
- }
-
sms_debug("trying to get fw name from sms_boards board_id %d mode %d",
board_id, mode);
fw = sms_get_board(board_id)->fw;
if (!(coredev->modes_supported & (1 << mode))) {
rc = smscore_load_firmware_from_file(coredev,
- mode, 0, NULL);
-
- /*
- * try again with the default firmware -
- * get the fw filename from look-up table
- */
- if (rc < 0) {
- sms_debug("error %d loading firmware, trying again with default firmware",
- rc);
- rc = smscore_load_firmware_from_file(coredev,
- mode, 1,
- NULL);
- if (rc < 0) {
- sms_debug("error %d loading firmware",
- rc);
- return rc;
- }
- }
+ mode, NULL);
if (rc >= 0)
sms_info("firmware download success");
} else {