WIP FPC-III support
[linux/fpc-iii.git] / drivers / staging / greybus / firmware.h
blob5d2564462ffcdb98b02fdbbce27e4d09199bfb88
1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3 * Greybus Firmware Management Header
5 * Copyright 2016 Google Inc.
6 * Copyright 2016 Linaro Ltd.
7 */
9 #ifndef __FIRMWARE_H
10 #define __FIRMWARE_H
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 */
36 int cap_init(void);
37 void cap_exit(void);
38 int gb_cap_connection_init(struct gb_connection *connection);
39 void gb_cap_connection_exit(struct gb_connection *connection);
41 #endif /* __FIRMWARE_H */