1 /* SPDX-License-Identifier: GPL-2.0 */
3 * Greybus Firmware Management Header
5 * Copyright 2016 Google Inc.
6 * Copyright 2016 Linaro Ltd.
12 #include <linux/greybus.h>
14 #define FW_NAME_PREFIX "gmp_"
17 * Length of the string in format: "FW_NAME_PREFIX""%08x_%08x_%08x_%08x_%s.tftf"
18 * (3 + 1 + 4 * (8 + 1) + 10 + 1 + 4 + 1)
20 #define FW_NAME_SIZE 56
22 /* Firmware Management Protocol specific functions */
23 int fw_mgmt_init(void);
24 void fw_mgmt_exit(void);
25 struct gb_connection
*to_fw_mgmt_connection(struct device
*dev
);
26 int gb_fw_mgmt_request_handler(struct gb_operation
*op
);
27 int gb_fw_mgmt_connection_init(struct gb_connection
*connection
);
28 void gb_fw_mgmt_connection_exit(struct gb_connection
*connection
);
30 /* Firmware Download Protocol specific functions */
31 int gb_fw_download_request_handler(struct gb_operation
*op
);
32 int gb_fw_download_connection_init(struct gb_connection
*connection
);
33 void gb_fw_download_connection_exit(struct gb_connection
*connection
);
35 /* CAP Protocol specific functions */
38 int gb_cap_connection_init(struct gb_connection
*connection
);
39 void gb_cap_connection_exit(struct gb_connection
*connection
);
41 #endif /* __FIRMWARE_H */