162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */ 262306a36Sopenharmony_ci#ifndef __QCOM_PDR_HELPER_INTERNAL__ 362306a36Sopenharmony_ci#define __QCOM_PDR_HELPER_INTERNAL__ 462306a36Sopenharmony_ci 562306a36Sopenharmony_ci#include <linux/soc/qcom/pdr.h> 662306a36Sopenharmony_ci 762306a36Sopenharmony_ci#define SERVREG_LOCATOR_SERVICE 0x40 862306a36Sopenharmony_ci#define SERVREG_NOTIFIER_SERVICE 0x42 962306a36Sopenharmony_ci 1062306a36Sopenharmony_ci#define SERVREG_REGISTER_LISTENER_REQ 0x20 1162306a36Sopenharmony_ci#define SERVREG_GET_DOMAIN_LIST_REQ 0x21 1262306a36Sopenharmony_ci#define SERVREG_STATE_UPDATED_IND_ID 0x22 1362306a36Sopenharmony_ci#define SERVREG_SET_ACK_REQ 0x23 1462306a36Sopenharmony_ci#define SERVREG_RESTART_PD_REQ 0x24 1562306a36Sopenharmony_ci 1662306a36Sopenharmony_ci#define SERVREG_DOMAIN_LIST_LENGTH 32 1762306a36Sopenharmony_ci#define SERVREG_RESTART_PD_REQ_MAX_LEN 67 1862306a36Sopenharmony_ci#define SERVREG_REGISTER_LISTENER_REQ_LEN 71 1962306a36Sopenharmony_ci#define SERVREG_SET_ACK_REQ_LEN 72 2062306a36Sopenharmony_ci#define SERVREG_GET_DOMAIN_LIST_REQ_MAX_LEN 74 2162306a36Sopenharmony_ci#define SERVREG_STATE_UPDATED_IND_MAX_LEN 79 2262306a36Sopenharmony_ci#define SERVREG_GET_DOMAIN_LIST_RESP_MAX_LEN 2389 2362306a36Sopenharmony_ci 2462306a36Sopenharmony_cistruct servreg_location_entry { 2562306a36Sopenharmony_ci char name[SERVREG_NAME_LENGTH + 1]; 2662306a36Sopenharmony_ci u8 service_data_valid; 2762306a36Sopenharmony_ci u32 service_data; 2862306a36Sopenharmony_ci u32 instance; 2962306a36Sopenharmony_ci}; 3062306a36Sopenharmony_ci 3162306a36Sopenharmony_cistatic const struct qmi_elem_info servreg_location_entry_ei[] = { 3262306a36Sopenharmony_ci { 3362306a36Sopenharmony_ci .data_type = QMI_STRING, 3462306a36Sopenharmony_ci .elem_len = SERVREG_NAME_LENGTH + 1, 3562306a36Sopenharmony_ci .elem_size = sizeof(char), 3662306a36Sopenharmony_ci .array_type = NO_ARRAY, 3762306a36Sopenharmony_ci .tlv_type = 0, 3862306a36Sopenharmony_ci .offset = offsetof(struct servreg_location_entry, 3962306a36Sopenharmony_ci name), 4062306a36Sopenharmony_ci }, 4162306a36Sopenharmony_ci { 4262306a36Sopenharmony_ci .data_type = QMI_UNSIGNED_4_BYTE, 4362306a36Sopenharmony_ci .elem_len = 1, 4462306a36Sopenharmony_ci .elem_size = sizeof(u32), 4562306a36Sopenharmony_ci .array_type = NO_ARRAY, 4662306a36Sopenharmony_ci .tlv_type = 0, 4762306a36Sopenharmony_ci .offset = offsetof(struct servreg_location_entry, 4862306a36Sopenharmony_ci instance), 4962306a36Sopenharmony_ci }, 5062306a36Sopenharmony_ci { 5162306a36Sopenharmony_ci .data_type = QMI_UNSIGNED_1_BYTE, 5262306a36Sopenharmony_ci .elem_len = 1, 5362306a36Sopenharmony_ci .elem_size = sizeof(u8), 5462306a36Sopenharmony_ci .array_type = NO_ARRAY, 5562306a36Sopenharmony_ci .tlv_type = 0, 5662306a36Sopenharmony_ci .offset = offsetof(struct servreg_location_entry, 5762306a36Sopenharmony_ci service_data_valid), 5862306a36Sopenharmony_ci }, 5962306a36Sopenharmony_ci { 6062306a36Sopenharmony_ci .data_type = QMI_UNSIGNED_4_BYTE, 6162306a36Sopenharmony_ci .elem_len = 1, 6262306a36Sopenharmony_ci .elem_size = sizeof(u32), 6362306a36Sopenharmony_ci .array_type = NO_ARRAY, 6462306a36Sopenharmony_ci .tlv_type = 0, 6562306a36Sopenharmony_ci .offset = offsetof(struct servreg_location_entry, 6662306a36Sopenharmony_ci service_data), 6762306a36Sopenharmony_ci }, 6862306a36Sopenharmony_ci {} 6962306a36Sopenharmony_ci}; 7062306a36Sopenharmony_ci 7162306a36Sopenharmony_cistruct servreg_get_domain_list_req { 7262306a36Sopenharmony_ci char service_name[SERVREG_NAME_LENGTH + 1]; 7362306a36Sopenharmony_ci u8 domain_offset_valid; 7462306a36Sopenharmony_ci u32 domain_offset; 7562306a36Sopenharmony_ci}; 7662306a36Sopenharmony_ci 7762306a36Sopenharmony_cistatic const struct qmi_elem_info servreg_get_domain_list_req_ei[] = { 7862306a36Sopenharmony_ci { 7962306a36Sopenharmony_ci .data_type = QMI_STRING, 8062306a36Sopenharmony_ci .elem_len = SERVREG_NAME_LENGTH + 1, 8162306a36Sopenharmony_ci .elem_size = sizeof(char), 8262306a36Sopenharmony_ci .array_type = NO_ARRAY, 8362306a36Sopenharmony_ci .tlv_type = 0x01, 8462306a36Sopenharmony_ci .offset = offsetof(struct servreg_get_domain_list_req, 8562306a36Sopenharmony_ci service_name), 8662306a36Sopenharmony_ci }, 8762306a36Sopenharmony_ci { 8862306a36Sopenharmony_ci .data_type = QMI_OPT_FLAG, 8962306a36Sopenharmony_ci .elem_len = 1, 9062306a36Sopenharmony_ci .elem_size = sizeof(u8), 9162306a36Sopenharmony_ci .array_type = NO_ARRAY, 9262306a36Sopenharmony_ci .tlv_type = 0x10, 9362306a36Sopenharmony_ci .offset = offsetof(struct servreg_get_domain_list_req, 9462306a36Sopenharmony_ci domain_offset_valid), 9562306a36Sopenharmony_ci }, 9662306a36Sopenharmony_ci { 9762306a36Sopenharmony_ci .data_type = QMI_UNSIGNED_4_BYTE, 9862306a36Sopenharmony_ci .elem_len = 1, 9962306a36Sopenharmony_ci .elem_size = sizeof(u32), 10062306a36Sopenharmony_ci .array_type = NO_ARRAY, 10162306a36Sopenharmony_ci .tlv_type = 0x10, 10262306a36Sopenharmony_ci .offset = offsetof(struct servreg_get_domain_list_req, 10362306a36Sopenharmony_ci domain_offset), 10462306a36Sopenharmony_ci }, 10562306a36Sopenharmony_ci {} 10662306a36Sopenharmony_ci}; 10762306a36Sopenharmony_ci 10862306a36Sopenharmony_cistruct servreg_get_domain_list_resp { 10962306a36Sopenharmony_ci struct qmi_response_type_v01 resp; 11062306a36Sopenharmony_ci u8 total_domains_valid; 11162306a36Sopenharmony_ci u16 total_domains; 11262306a36Sopenharmony_ci u8 db_rev_count_valid; 11362306a36Sopenharmony_ci u16 db_rev_count; 11462306a36Sopenharmony_ci u8 domain_list_valid; 11562306a36Sopenharmony_ci u32 domain_list_len; 11662306a36Sopenharmony_ci struct servreg_location_entry domain_list[SERVREG_DOMAIN_LIST_LENGTH]; 11762306a36Sopenharmony_ci}; 11862306a36Sopenharmony_ci 11962306a36Sopenharmony_cistatic const struct qmi_elem_info servreg_get_domain_list_resp_ei[] = { 12062306a36Sopenharmony_ci { 12162306a36Sopenharmony_ci .data_type = QMI_STRUCT, 12262306a36Sopenharmony_ci .elem_len = 1, 12362306a36Sopenharmony_ci .elem_size = sizeof(struct qmi_response_type_v01), 12462306a36Sopenharmony_ci .array_type = NO_ARRAY, 12562306a36Sopenharmony_ci .tlv_type = 0x02, 12662306a36Sopenharmony_ci .offset = offsetof(struct servreg_get_domain_list_resp, 12762306a36Sopenharmony_ci resp), 12862306a36Sopenharmony_ci .ei_array = qmi_response_type_v01_ei, 12962306a36Sopenharmony_ci }, 13062306a36Sopenharmony_ci { 13162306a36Sopenharmony_ci .data_type = QMI_OPT_FLAG, 13262306a36Sopenharmony_ci .elem_len = 1, 13362306a36Sopenharmony_ci .elem_size = sizeof(u8), 13462306a36Sopenharmony_ci .array_type = NO_ARRAY, 13562306a36Sopenharmony_ci .tlv_type = 0x10, 13662306a36Sopenharmony_ci .offset = offsetof(struct servreg_get_domain_list_resp, 13762306a36Sopenharmony_ci total_domains_valid), 13862306a36Sopenharmony_ci }, 13962306a36Sopenharmony_ci { 14062306a36Sopenharmony_ci .data_type = QMI_UNSIGNED_2_BYTE, 14162306a36Sopenharmony_ci .elem_len = 1, 14262306a36Sopenharmony_ci .elem_size = sizeof(u16), 14362306a36Sopenharmony_ci .array_type = NO_ARRAY, 14462306a36Sopenharmony_ci .tlv_type = 0x10, 14562306a36Sopenharmony_ci .offset = offsetof(struct servreg_get_domain_list_resp, 14662306a36Sopenharmony_ci total_domains), 14762306a36Sopenharmony_ci }, 14862306a36Sopenharmony_ci { 14962306a36Sopenharmony_ci .data_type = QMI_OPT_FLAG, 15062306a36Sopenharmony_ci .elem_len = 1, 15162306a36Sopenharmony_ci .elem_size = sizeof(u8), 15262306a36Sopenharmony_ci .array_type = NO_ARRAY, 15362306a36Sopenharmony_ci .tlv_type = 0x11, 15462306a36Sopenharmony_ci .offset = offsetof(struct servreg_get_domain_list_resp, 15562306a36Sopenharmony_ci db_rev_count_valid), 15662306a36Sopenharmony_ci }, 15762306a36Sopenharmony_ci { 15862306a36Sopenharmony_ci .data_type = QMI_UNSIGNED_2_BYTE, 15962306a36Sopenharmony_ci .elem_len = 1, 16062306a36Sopenharmony_ci .elem_size = sizeof(u16), 16162306a36Sopenharmony_ci .array_type = NO_ARRAY, 16262306a36Sopenharmony_ci .tlv_type = 0x11, 16362306a36Sopenharmony_ci .offset = offsetof(struct servreg_get_domain_list_resp, 16462306a36Sopenharmony_ci db_rev_count), 16562306a36Sopenharmony_ci }, 16662306a36Sopenharmony_ci { 16762306a36Sopenharmony_ci .data_type = QMI_OPT_FLAG, 16862306a36Sopenharmony_ci .elem_len = 1, 16962306a36Sopenharmony_ci .elem_size = sizeof(u8), 17062306a36Sopenharmony_ci .array_type = NO_ARRAY, 17162306a36Sopenharmony_ci .tlv_type = 0x12, 17262306a36Sopenharmony_ci .offset = offsetof(struct servreg_get_domain_list_resp, 17362306a36Sopenharmony_ci domain_list_valid), 17462306a36Sopenharmony_ci }, 17562306a36Sopenharmony_ci { 17662306a36Sopenharmony_ci .data_type = QMI_DATA_LEN, 17762306a36Sopenharmony_ci .elem_len = 1, 17862306a36Sopenharmony_ci .elem_size = sizeof(u8), 17962306a36Sopenharmony_ci .array_type = NO_ARRAY, 18062306a36Sopenharmony_ci .tlv_type = 0x12, 18162306a36Sopenharmony_ci .offset = offsetof(struct servreg_get_domain_list_resp, 18262306a36Sopenharmony_ci domain_list_len), 18362306a36Sopenharmony_ci }, 18462306a36Sopenharmony_ci { 18562306a36Sopenharmony_ci .data_type = QMI_STRUCT, 18662306a36Sopenharmony_ci .elem_len = SERVREG_DOMAIN_LIST_LENGTH, 18762306a36Sopenharmony_ci .elem_size = sizeof(struct servreg_location_entry), 18862306a36Sopenharmony_ci .array_type = VAR_LEN_ARRAY, 18962306a36Sopenharmony_ci .tlv_type = 0x12, 19062306a36Sopenharmony_ci .offset = offsetof(struct servreg_get_domain_list_resp, 19162306a36Sopenharmony_ci domain_list), 19262306a36Sopenharmony_ci .ei_array = servreg_location_entry_ei, 19362306a36Sopenharmony_ci }, 19462306a36Sopenharmony_ci {} 19562306a36Sopenharmony_ci}; 19662306a36Sopenharmony_ci 19762306a36Sopenharmony_cistruct servreg_register_listener_req { 19862306a36Sopenharmony_ci u8 enable; 19962306a36Sopenharmony_ci char service_path[SERVREG_NAME_LENGTH + 1]; 20062306a36Sopenharmony_ci}; 20162306a36Sopenharmony_ci 20262306a36Sopenharmony_cistatic const struct qmi_elem_info servreg_register_listener_req_ei[] = { 20362306a36Sopenharmony_ci { 20462306a36Sopenharmony_ci .data_type = QMI_UNSIGNED_1_BYTE, 20562306a36Sopenharmony_ci .elem_len = 1, 20662306a36Sopenharmony_ci .elem_size = sizeof(u8), 20762306a36Sopenharmony_ci .array_type = NO_ARRAY, 20862306a36Sopenharmony_ci .tlv_type = 0x01, 20962306a36Sopenharmony_ci .offset = offsetof(struct servreg_register_listener_req, 21062306a36Sopenharmony_ci enable), 21162306a36Sopenharmony_ci }, 21262306a36Sopenharmony_ci { 21362306a36Sopenharmony_ci .data_type = QMI_STRING, 21462306a36Sopenharmony_ci .elem_len = SERVREG_NAME_LENGTH + 1, 21562306a36Sopenharmony_ci .elem_size = sizeof(char), 21662306a36Sopenharmony_ci .array_type = NO_ARRAY, 21762306a36Sopenharmony_ci .tlv_type = 0x02, 21862306a36Sopenharmony_ci .offset = offsetof(struct servreg_register_listener_req, 21962306a36Sopenharmony_ci service_path), 22062306a36Sopenharmony_ci }, 22162306a36Sopenharmony_ci {} 22262306a36Sopenharmony_ci}; 22362306a36Sopenharmony_ci 22462306a36Sopenharmony_cistruct servreg_register_listener_resp { 22562306a36Sopenharmony_ci struct qmi_response_type_v01 resp; 22662306a36Sopenharmony_ci u8 curr_state_valid; 22762306a36Sopenharmony_ci enum servreg_service_state curr_state; 22862306a36Sopenharmony_ci}; 22962306a36Sopenharmony_ci 23062306a36Sopenharmony_cistatic const struct qmi_elem_info servreg_register_listener_resp_ei[] = { 23162306a36Sopenharmony_ci { 23262306a36Sopenharmony_ci .data_type = QMI_STRUCT, 23362306a36Sopenharmony_ci .elem_len = 1, 23462306a36Sopenharmony_ci .elem_size = sizeof(struct qmi_response_type_v01), 23562306a36Sopenharmony_ci .array_type = NO_ARRAY, 23662306a36Sopenharmony_ci .tlv_type = 0x02, 23762306a36Sopenharmony_ci .offset = offsetof(struct servreg_register_listener_resp, 23862306a36Sopenharmony_ci resp), 23962306a36Sopenharmony_ci .ei_array = qmi_response_type_v01_ei, 24062306a36Sopenharmony_ci }, 24162306a36Sopenharmony_ci { 24262306a36Sopenharmony_ci .data_type = QMI_OPT_FLAG, 24362306a36Sopenharmony_ci .elem_len = 1, 24462306a36Sopenharmony_ci .elem_size = sizeof(u8), 24562306a36Sopenharmony_ci .array_type = NO_ARRAY, 24662306a36Sopenharmony_ci .tlv_type = 0x10, 24762306a36Sopenharmony_ci .offset = offsetof(struct servreg_register_listener_resp, 24862306a36Sopenharmony_ci curr_state_valid), 24962306a36Sopenharmony_ci }, 25062306a36Sopenharmony_ci { 25162306a36Sopenharmony_ci .data_type = QMI_SIGNED_4_BYTE_ENUM, 25262306a36Sopenharmony_ci .elem_len = 1, 25362306a36Sopenharmony_ci .elem_size = sizeof(enum servreg_service_state), 25462306a36Sopenharmony_ci .array_type = NO_ARRAY, 25562306a36Sopenharmony_ci .tlv_type = 0x10, 25662306a36Sopenharmony_ci .offset = offsetof(struct servreg_register_listener_resp, 25762306a36Sopenharmony_ci curr_state), 25862306a36Sopenharmony_ci }, 25962306a36Sopenharmony_ci {} 26062306a36Sopenharmony_ci}; 26162306a36Sopenharmony_ci 26262306a36Sopenharmony_cistruct servreg_restart_pd_req { 26362306a36Sopenharmony_ci char service_path[SERVREG_NAME_LENGTH + 1]; 26462306a36Sopenharmony_ci}; 26562306a36Sopenharmony_ci 26662306a36Sopenharmony_cistatic const struct qmi_elem_info servreg_restart_pd_req_ei[] = { 26762306a36Sopenharmony_ci { 26862306a36Sopenharmony_ci .data_type = QMI_STRING, 26962306a36Sopenharmony_ci .elem_len = SERVREG_NAME_LENGTH + 1, 27062306a36Sopenharmony_ci .elem_size = sizeof(char), 27162306a36Sopenharmony_ci .array_type = NO_ARRAY, 27262306a36Sopenharmony_ci .tlv_type = 0x01, 27362306a36Sopenharmony_ci .offset = offsetof(struct servreg_restart_pd_req, 27462306a36Sopenharmony_ci service_path), 27562306a36Sopenharmony_ci }, 27662306a36Sopenharmony_ci {} 27762306a36Sopenharmony_ci}; 27862306a36Sopenharmony_ci 27962306a36Sopenharmony_cistruct servreg_restart_pd_resp { 28062306a36Sopenharmony_ci struct qmi_response_type_v01 resp; 28162306a36Sopenharmony_ci}; 28262306a36Sopenharmony_ci 28362306a36Sopenharmony_cistatic const struct qmi_elem_info servreg_restart_pd_resp_ei[] = { 28462306a36Sopenharmony_ci { 28562306a36Sopenharmony_ci .data_type = QMI_STRUCT, 28662306a36Sopenharmony_ci .elem_len = 1, 28762306a36Sopenharmony_ci .elem_size = sizeof(struct qmi_response_type_v01), 28862306a36Sopenharmony_ci .array_type = NO_ARRAY, 28962306a36Sopenharmony_ci .tlv_type = 0x02, 29062306a36Sopenharmony_ci .offset = offsetof(struct servreg_restart_pd_resp, 29162306a36Sopenharmony_ci resp), 29262306a36Sopenharmony_ci .ei_array = qmi_response_type_v01_ei, 29362306a36Sopenharmony_ci }, 29462306a36Sopenharmony_ci {} 29562306a36Sopenharmony_ci}; 29662306a36Sopenharmony_ci 29762306a36Sopenharmony_cistruct servreg_state_updated_ind { 29862306a36Sopenharmony_ci enum servreg_service_state curr_state; 29962306a36Sopenharmony_ci char service_path[SERVREG_NAME_LENGTH + 1]; 30062306a36Sopenharmony_ci u16 transaction_id; 30162306a36Sopenharmony_ci}; 30262306a36Sopenharmony_ci 30362306a36Sopenharmony_cistatic const struct qmi_elem_info servreg_state_updated_ind_ei[] = { 30462306a36Sopenharmony_ci { 30562306a36Sopenharmony_ci .data_type = QMI_SIGNED_4_BYTE_ENUM, 30662306a36Sopenharmony_ci .elem_len = 1, 30762306a36Sopenharmony_ci .elem_size = sizeof(u32), 30862306a36Sopenharmony_ci .array_type = NO_ARRAY, 30962306a36Sopenharmony_ci .tlv_type = 0x01, 31062306a36Sopenharmony_ci .offset = offsetof(struct servreg_state_updated_ind, 31162306a36Sopenharmony_ci curr_state), 31262306a36Sopenharmony_ci }, 31362306a36Sopenharmony_ci { 31462306a36Sopenharmony_ci .data_type = QMI_STRING, 31562306a36Sopenharmony_ci .elem_len = SERVREG_NAME_LENGTH + 1, 31662306a36Sopenharmony_ci .elem_size = sizeof(char), 31762306a36Sopenharmony_ci .array_type = NO_ARRAY, 31862306a36Sopenharmony_ci .tlv_type = 0x02, 31962306a36Sopenharmony_ci .offset = offsetof(struct servreg_state_updated_ind, 32062306a36Sopenharmony_ci service_path), 32162306a36Sopenharmony_ci }, 32262306a36Sopenharmony_ci { 32362306a36Sopenharmony_ci .data_type = QMI_UNSIGNED_2_BYTE, 32462306a36Sopenharmony_ci .elem_len = 1, 32562306a36Sopenharmony_ci .elem_size = sizeof(u16), 32662306a36Sopenharmony_ci .array_type = NO_ARRAY, 32762306a36Sopenharmony_ci .tlv_type = 0x03, 32862306a36Sopenharmony_ci .offset = offsetof(struct servreg_state_updated_ind, 32962306a36Sopenharmony_ci transaction_id), 33062306a36Sopenharmony_ci }, 33162306a36Sopenharmony_ci {} 33262306a36Sopenharmony_ci}; 33362306a36Sopenharmony_ci 33462306a36Sopenharmony_cistruct servreg_set_ack_req { 33562306a36Sopenharmony_ci char service_path[SERVREG_NAME_LENGTH + 1]; 33662306a36Sopenharmony_ci u16 transaction_id; 33762306a36Sopenharmony_ci}; 33862306a36Sopenharmony_ci 33962306a36Sopenharmony_cistatic const struct qmi_elem_info servreg_set_ack_req_ei[] = { 34062306a36Sopenharmony_ci { 34162306a36Sopenharmony_ci .data_type = QMI_STRING, 34262306a36Sopenharmony_ci .elem_len = SERVREG_NAME_LENGTH + 1, 34362306a36Sopenharmony_ci .elem_size = sizeof(char), 34462306a36Sopenharmony_ci .array_type = NO_ARRAY, 34562306a36Sopenharmony_ci .tlv_type = 0x01, 34662306a36Sopenharmony_ci .offset = offsetof(struct servreg_set_ack_req, 34762306a36Sopenharmony_ci service_path), 34862306a36Sopenharmony_ci }, 34962306a36Sopenharmony_ci { 35062306a36Sopenharmony_ci .data_type = QMI_UNSIGNED_2_BYTE, 35162306a36Sopenharmony_ci .elem_len = 1, 35262306a36Sopenharmony_ci .elem_size = sizeof(u16), 35362306a36Sopenharmony_ci .array_type = NO_ARRAY, 35462306a36Sopenharmony_ci .tlv_type = 0x02, 35562306a36Sopenharmony_ci .offset = offsetof(struct servreg_set_ack_req, 35662306a36Sopenharmony_ci transaction_id), 35762306a36Sopenharmony_ci }, 35862306a36Sopenharmony_ci {} 35962306a36Sopenharmony_ci}; 36062306a36Sopenharmony_ci 36162306a36Sopenharmony_cistruct servreg_set_ack_resp { 36262306a36Sopenharmony_ci struct qmi_response_type_v01 resp; 36362306a36Sopenharmony_ci}; 36462306a36Sopenharmony_ci 36562306a36Sopenharmony_cistatic const struct qmi_elem_info servreg_set_ack_resp_ei[] = { 36662306a36Sopenharmony_ci { 36762306a36Sopenharmony_ci .data_type = QMI_STRUCT, 36862306a36Sopenharmony_ci .elem_len = 1, 36962306a36Sopenharmony_ci .elem_size = sizeof(struct qmi_response_type_v01), 37062306a36Sopenharmony_ci .array_type = NO_ARRAY, 37162306a36Sopenharmony_ci .tlv_type = 0x02, 37262306a36Sopenharmony_ci .offset = offsetof(struct servreg_set_ack_resp, 37362306a36Sopenharmony_ci resp), 37462306a36Sopenharmony_ci .ei_array = qmi_response_type_v01_ei, 37562306a36Sopenharmony_ci }, 37662306a36Sopenharmony_ci {} 37762306a36Sopenharmony_ci}; 37862306a36Sopenharmony_ci 37962306a36Sopenharmony_ci#endif 380