1 | /* SPDX-License-Identifier: BSD-3-Clause OR GPL-2.0 */ |
2 | /* Copyright (c) 2017-2019 Mellanox Technologies. All rights reserved */ |
3 | |
4 | #ifndef _MLXFW_MFA2_H |
5 | #define _MLXFW_MFA2_H |
6 | |
7 | #include <linux/firmware.h> |
8 | #include "mlxfw.h" |
9 | |
10 | struct mlxfw_mfa2_component { |
11 | u16 index; |
12 | u32 data_size; |
13 | u8 *data; |
14 | }; |
15 | |
16 | struct mlxfw_mfa2_file; |
17 | |
18 | bool mlxfw_mfa2_check(const struct firmware *fw); |
19 | |
20 | struct mlxfw_mfa2_file *mlxfw_mfa2_file_init(const struct firmware *fw); |
21 | |
22 | int mlxfw_mfa2_file_component_count(const struct mlxfw_mfa2_file *mfa2_file, |
23 | const char *psid, u32 psid_size, |
24 | u32 *p_count); |
25 | |
26 | struct mlxfw_mfa2_component * |
27 | mlxfw_mfa2_file_component_get(const struct mlxfw_mfa2_file *mfa2_file, |
28 | const char *psid, int psid_size, |
29 | int component_index); |
30 | |
31 | void mlxfw_mfa2_file_component_put(struct mlxfw_mfa2_component *component); |
32 | |
33 | void mlxfw_mfa2_file_fini(struct mlxfw_mfa2_file *mfa2_file); |
34 | |
35 | #endif |
36 | |