iwlwifi: move get pnvm file name to a separate function
Move code that generates the pnvm file name to a separate function, so that it can be reused. Signed-off-by: Dror Moshe <drorx.moshe@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com> Link: https://lore.kernel.org/r/iwlwifi.20210826224715.7d2dd18c75a2.I3652584755b9ab44909ddcd09ff4d80c6690a1ad@changeid Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
This commit is contained in:
parent
bd34ff380e
commit
b05c1d14a1
@ -230,19 +230,10 @@ static int iwl_pnvm_parse(struct iwl_trans *trans, const u8 *data,
|
|||||||
static int iwl_pnvm_get_from_fs(struct iwl_trans *trans, u8 **data, size_t *len)
|
static int iwl_pnvm_get_from_fs(struct iwl_trans *trans, u8 **data, size_t *len)
|
||||||
{
|
{
|
||||||
const struct firmware *pnvm;
|
const struct firmware *pnvm;
|
||||||
char pnvm_name[64];
|
char pnvm_name[MAX_PNVM_NAME];
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
/*
|
iwl_pnvm_get_fs_name(trans, pnvm_name, sizeof(pnvm_name));
|
||||||
* The prefix unfortunately includes a hyphen at the end, so
|
|
||||||
* don't add the dot here...
|
|
||||||
*/
|
|
||||||
snprintf(pnvm_name, sizeof(pnvm_name), "%spnvm",
|
|
||||||
trans->cfg->fw_name_pre);
|
|
||||||
|
|
||||||
/* ...but replace the hyphen with the dot here. */
|
|
||||||
if (strlen(trans->cfg->fw_name_pre) < sizeof(pnvm_name))
|
|
||||||
pnvm_name[strlen(trans->cfg->fw_name_pre) - 1] = '.';
|
|
||||||
|
|
||||||
ret = firmware_request_nowarn(&pnvm, pnvm_name, trans->dev);
|
ret = firmware_request_nowarn(&pnvm, pnvm_name, trans->dev);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
|
@ -12,7 +12,27 @@
|
|||||||
|
|
||||||
#define MVM_UCODE_PNVM_TIMEOUT (HZ / 4)
|
#define MVM_UCODE_PNVM_TIMEOUT (HZ / 4)
|
||||||
|
|
||||||
|
#define MAX_PNVM_NAME 64
|
||||||
|
|
||||||
int iwl_pnvm_load(struct iwl_trans *trans,
|
int iwl_pnvm_load(struct iwl_trans *trans,
|
||||||
struct iwl_notif_wait_data *notif_wait);
|
struct iwl_notif_wait_data *notif_wait);
|
||||||
|
|
||||||
|
static inline
|
||||||
|
void iwl_pnvm_get_fs_name(struct iwl_trans *trans,
|
||||||
|
u8 *pnvm_name, size_t max_len)
|
||||||
|
{
|
||||||
|
int pre_len;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* The prefix unfortunately includes a hyphen at the end, so
|
||||||
|
* don't add the dot here...
|
||||||
|
*/
|
||||||
|
snprintf(pnvm_name, max_len, "%spnvm", trans->cfg->fw_name_pre);
|
||||||
|
|
||||||
|
/* ...but replace the hyphen with the dot here. */
|
||||||
|
pre_len = strlen(trans->cfg->fw_name_pre);
|
||||||
|
if (pre_len < max_len && pre_len > 0)
|
||||||
|
pnvm_name[pre_len - 1] = '.';
|
||||||
|
}
|
||||||
|
|
||||||
#endif /* __IWL_PNVM_H__ */
|
#endif /* __IWL_PNVM_H__ */
|
||||||
|
Loading…
Reference in New Issue
Block a user