dsp: firmware_update: pack decomposed parameters to struct
There're two APIs that have decomposed parameters:
`encode_query_downstream_identifiers_req()` and
`encode_get_downstream_firmware_params_req(),
which against the checklist of API/ABI stabilization,
squashed those parameters to a struct to meet the request.
Change-Id: Ia952251cf8dcaeba060985e759e1d7aadf7b5b4d
Signed-off-by: Unive Tien <unive.tien.wiwynn@gmail.com>
diff --git a/src/dsp/firmware_update.c b/src/dsp/firmware_update.c
index d2b068a..59c5c20 100644
--- a/src/dsp/firmware_update.c
+++ b/src/dsp/firmware_update.c
@@ -980,19 +980,21 @@
LIBPLDM_ABI_TESTING
int encode_query_downstream_identifiers_req(
- uint8_t instance_id, uint32_t data_transfer_handle,
- enum transfer_op_flag transfer_operation_flag, struct pldm_msg *msg,
- size_t payload_length)
+ uint8_t instance_id,
+ const struct pldm_query_downstream_identifiers_req *params_req,
+ struct pldm_msg *msg, size_t payload_length)
{
struct pldm_msgbuf _buf;
struct pldm_msgbuf *buf = &_buf;
int rc;
- if (msg == NULL) {
+ if (!msg || !params_req) {
return -EINVAL;
}
- if (!is_transfer_operation_flag_valid(transfer_operation_flag)) {
+ if (!is_transfer_operation_flag_valid(
+ (enum transfer_op_flag)
+ params_req->transfer_operation_flag)) {
return -EINVAL;
}
@@ -1013,9 +1015,9 @@
return rc;
}
- pldm_msgbuf_insert(buf, data_transfer_handle);
+ pldm_msgbuf_insert(buf, params_req->data_transfer_handle);
// Data correctness has been verified, cast it to 1-byte data directly.
- pldm_msgbuf_insert(buf, (uint8_t)transfer_operation_flag);
+ pldm_msgbuf_insert(buf, params_req->transfer_operation_flag);
return pldm_msgbuf_destroy(buf);
}
@@ -1111,15 +1113,15 @@
LIBPLDM_ABI_TESTING
int encode_get_downstream_firmware_params_req(
- uint8_t instance_id, uint32_t data_transfer_handle,
- enum transfer_op_flag transfer_operation_flag, struct pldm_msg *msg,
- size_t payload_length)
+ uint8_t instance_id,
+ const struct pldm_get_downstream_firmware_params_req *params_req,
+ struct pldm_msg *msg, size_t payload_length)
{
struct pldm_msgbuf _buf;
struct pldm_msgbuf *buf = &_buf;
int rc;
- if (msg == NULL) {
+ if (!msg || !params_req) {
return -EINVAL;
}
@@ -1130,7 +1132,9 @@
return rc;
}
- if (!is_transfer_operation_flag_valid(transfer_operation_flag)) {
+ if (!is_transfer_operation_flag_valid(
+ (enum transfer_op_flag)
+ params_req->transfer_operation_flag)) {
return -EBADMSG;
}
@@ -1144,9 +1148,9 @@
return rc;
}
- pldm_msgbuf_insert(buf, data_transfer_handle);
+ pldm_msgbuf_insert(buf, params_req->data_transfer_handle);
// Data correctness has been verified, cast it to 1-byte data directly.
- pldm_msgbuf_insert(buf, (uint8_t)transfer_operation_flag);
+ pldm_msgbuf_insert(buf, params_req->transfer_operation_flag);
return pldm_msgbuf_destroy(buf);
}