4e10baa017386f067ed8e78366074b256a0a03b3
[platform/kernel/linux-rpi.git] / drivers / net / wireless / intel / iwlwifi / fw / pnvm.h
1 /* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */
2 /******************************************************************************
3  *
4  * Copyright(c) 2020-2022 Intel Corporation
5  *
6  *****************************************************************************/
7
8 #ifndef __IWL_PNVM_H__
9 #define __IWL_PNVM_H__
10
11 #include "fw/notif-wait.h"
12
13 #define MVM_UCODE_PNVM_TIMEOUT  (HZ / 4)
14
15 #define MAX_PNVM_NAME  64
16
17 int iwl_pnvm_load(struct iwl_trans *trans,
18                   struct iwl_notif_wait_data *notif_wait,
19                   const struct iwl_ucode_capabilities *capa);
20
21 static inline
22 void iwl_pnvm_get_fs_name(struct iwl_trans *trans,
23                           u8 *pnvm_name, size_t max_len)
24 {
25         int pre_len;
26
27         /*
28          * The prefix unfortunately includes a hyphen at the end, so
29          * don't add the dot here...
30          */
31         snprintf(pnvm_name, max_len, "%spnvm", trans->cfg->fw_name_pre);
32
33         /* ...but replace the hyphen with the dot here. */
34         pre_len = strlen(trans->cfg->fw_name_pre);
35         if (pre_len < max_len && pre_len > 0)
36                 pnvm_name[pre_len - 1] = '.';
37 }
38
39 #endif /* __IWL_PNVM_H__ */