brintos

brintos / linux-shallow public Read only

0
0
Text · 9.3 KiB · bf3e4a4 Raw
354 lines · c
1// SPDX-License-Identifier: GPL-2.02/*3 * Copyright (C) 2020 The Linux Foundation. All rights reserved.4 */5 6#include <linux/module.h>7#include <linux/soc/qcom/qmi.h>8 9#include "pdr_internal.h"10 11const struct qmi_elem_info servreg_location_entry_ei[] = {12	{13		.data_type      = QMI_STRING,14		.elem_len       = SERVREG_NAME_LENGTH + 1,15		.elem_size      = sizeof(char),16		.array_type	= NO_ARRAY,17		.tlv_type       = 0,18		.offset         = offsetof(struct servreg_location_entry,19					   name),20	},21	{22		.data_type      = QMI_UNSIGNED_4_BYTE,23		.elem_len       = 1,24		.elem_size      = sizeof(u32),25		.array_type	= NO_ARRAY,26		.tlv_type       = 0,27		.offset         = offsetof(struct servreg_location_entry,28					   instance),29	},30	{31		.data_type      = QMI_UNSIGNED_1_BYTE,32		.elem_len       = 1,33		.elem_size      = sizeof(u8),34		.array_type	= NO_ARRAY,35		.tlv_type       = 0,36		.offset         = offsetof(struct servreg_location_entry,37					   service_data_valid),38	},39	{40		.data_type      = QMI_UNSIGNED_4_BYTE,41		.elem_len       = 1,42		.elem_size      = sizeof(u32),43		.array_type	= NO_ARRAY,44		.tlv_type       = 0,45		.offset         = offsetof(struct servreg_location_entry,46					   service_data),47	},48	{}49};50EXPORT_SYMBOL_GPL(servreg_location_entry_ei);51 52const struct qmi_elem_info servreg_get_domain_list_req_ei[] = {53	{54		.data_type      = QMI_STRING,55		.elem_len       = SERVREG_NAME_LENGTH + 1,56		.elem_size      = sizeof(char),57		.array_type	= NO_ARRAY,58		.tlv_type       = 0x01,59		.offset         = offsetof(struct servreg_get_domain_list_req,60					   service_name),61	},62	{63		.data_type      = QMI_OPT_FLAG,64		.elem_len       = 1,65		.elem_size      = sizeof(u8),66		.array_type	= NO_ARRAY,67		.tlv_type       = 0x10,68		.offset         = offsetof(struct servreg_get_domain_list_req,69					   domain_offset_valid),70	},71	{72		.data_type      = QMI_UNSIGNED_4_BYTE,73		.elem_len       = 1,74		.elem_size      = sizeof(u32),75		.array_type	= NO_ARRAY,76		.tlv_type       = 0x10,77		.offset         = offsetof(struct servreg_get_domain_list_req,78					   domain_offset),79	},80	{}81};82EXPORT_SYMBOL_GPL(servreg_get_domain_list_req_ei);83 84const struct qmi_elem_info servreg_get_domain_list_resp_ei[] = {85	{86		.data_type      = QMI_STRUCT,87		.elem_len       = 1,88		.elem_size      = sizeof(struct qmi_response_type_v01),89		.array_type	= NO_ARRAY,90		.tlv_type       = 0x02,91		.offset         = offsetof(struct servreg_get_domain_list_resp,92					   resp),93		.ei_array      = qmi_response_type_v01_ei,94	},95	{96		.data_type      = QMI_OPT_FLAG,97		.elem_len       = 1,98		.elem_size      = sizeof(u8),99		.array_type	= NO_ARRAY,100		.tlv_type       = 0x10,101		.offset         = offsetof(struct servreg_get_domain_list_resp,102					   total_domains_valid),103	},104	{105		.data_type      = QMI_UNSIGNED_2_BYTE,106		.elem_len       = 1,107		.elem_size      = sizeof(u16),108		.array_type	= NO_ARRAY,109		.tlv_type       = 0x10,110		.offset         = offsetof(struct servreg_get_domain_list_resp,111					   total_domains),112	},113	{114		.data_type      = QMI_OPT_FLAG,115		.elem_len       = 1,116		.elem_size      = sizeof(u8),117		.array_type	= NO_ARRAY,118		.tlv_type       = 0x11,119		.offset         = offsetof(struct servreg_get_domain_list_resp,120					   db_rev_count_valid),121	},122	{123		.data_type      = QMI_UNSIGNED_2_BYTE,124		.elem_len       = 1,125		.elem_size      = sizeof(u16),126		.array_type	= NO_ARRAY,127		.tlv_type       = 0x11,128		.offset         = offsetof(struct servreg_get_domain_list_resp,129					   db_rev_count),130	},131	{132		.data_type      = QMI_OPT_FLAG,133		.elem_len       = 1,134		.elem_size      = sizeof(u8),135		.array_type	= NO_ARRAY,136		.tlv_type       = 0x12,137		.offset         = offsetof(struct servreg_get_domain_list_resp,138					   domain_list_valid),139	},140	{141		.data_type      = QMI_DATA_LEN,142		.elem_len       = 1,143		.elem_size      = sizeof(u8),144		.array_type	= NO_ARRAY,145		.tlv_type       = 0x12,146		.offset         = offsetof(struct servreg_get_domain_list_resp,147					   domain_list_len),148	},149	{150		.data_type      = QMI_STRUCT,151		.elem_len       = SERVREG_DOMAIN_LIST_LENGTH,152		.elem_size      = sizeof(struct servreg_location_entry),153		.array_type	= VAR_LEN_ARRAY,154		.tlv_type       = 0x12,155		.offset         = offsetof(struct servreg_get_domain_list_resp,156					   domain_list),157		.ei_array      = servreg_location_entry_ei,158	},159	{}160};161EXPORT_SYMBOL_GPL(servreg_get_domain_list_resp_ei);162 163const struct qmi_elem_info servreg_register_listener_req_ei[] = {164	{165		.data_type      = QMI_UNSIGNED_1_BYTE,166		.elem_len       = 1,167		.elem_size      = sizeof(u8),168		.array_type	= NO_ARRAY,169		.tlv_type       = 0x01,170		.offset         = offsetof(struct servreg_register_listener_req,171					   enable),172	},173	{174		.data_type      = QMI_STRING,175		.elem_len       = SERVREG_NAME_LENGTH + 1,176		.elem_size      = sizeof(char),177		.array_type	= NO_ARRAY,178		.tlv_type       = 0x02,179		.offset         = offsetof(struct servreg_register_listener_req,180					   service_path),181	},182	{}183};184EXPORT_SYMBOL_GPL(servreg_register_listener_req_ei);185 186const struct qmi_elem_info servreg_register_listener_resp_ei[] = {187	{188		.data_type      = QMI_STRUCT,189		.elem_len       = 1,190		.elem_size      = sizeof(struct qmi_response_type_v01),191		.array_type	= NO_ARRAY,192		.tlv_type       = 0x02,193		.offset         = offsetof(struct servreg_register_listener_resp,194					   resp),195		.ei_array      = qmi_response_type_v01_ei,196	},197	{198		.data_type      = QMI_OPT_FLAG,199		.elem_len       = 1,200		.elem_size      = sizeof(u8),201		.array_type	= NO_ARRAY,202		.tlv_type       = 0x10,203		.offset         = offsetof(struct servreg_register_listener_resp,204					   curr_state_valid),205	},206	{207		.data_type      = QMI_SIGNED_4_BYTE_ENUM,208		.elem_len       = 1,209		.elem_size      = sizeof(enum servreg_service_state),210		.array_type	= NO_ARRAY,211		.tlv_type       = 0x10,212		.offset         = offsetof(struct servreg_register_listener_resp,213					   curr_state),214	},215	{}216};217EXPORT_SYMBOL_GPL(servreg_register_listener_resp_ei);218 219const struct qmi_elem_info servreg_restart_pd_req_ei[] = {220	{221		.data_type      = QMI_STRING,222		.elem_len       = SERVREG_NAME_LENGTH + 1,223		.elem_size      = sizeof(char),224		.array_type	= NO_ARRAY,225		.tlv_type       = 0x01,226		.offset         = offsetof(struct servreg_restart_pd_req,227					   service_path),228	},229	{}230};231EXPORT_SYMBOL_GPL(servreg_restart_pd_req_ei);232 233const struct qmi_elem_info servreg_restart_pd_resp_ei[] = {234	{235		.data_type      = QMI_STRUCT,236		.elem_len       = 1,237		.elem_size      = sizeof(struct qmi_response_type_v01),238		.array_type	= NO_ARRAY,239		.tlv_type       = 0x02,240		.offset         = offsetof(struct servreg_restart_pd_resp,241					   resp),242		.ei_array      = qmi_response_type_v01_ei,243	},244	{}245};246EXPORT_SYMBOL_GPL(servreg_restart_pd_resp_ei);247 248const struct qmi_elem_info servreg_state_updated_ind_ei[] = {249	{250		.data_type      = QMI_SIGNED_4_BYTE_ENUM,251		.elem_len       = 1,252		.elem_size      = sizeof(u32),253		.array_type	= NO_ARRAY,254		.tlv_type       = 0x01,255		.offset         = offsetof(struct servreg_state_updated_ind,256					   curr_state),257	},258	{259		.data_type      = QMI_STRING,260		.elem_len       = SERVREG_NAME_LENGTH + 1,261		.elem_size      = sizeof(char),262		.array_type	= NO_ARRAY,263		.tlv_type       = 0x02,264		.offset         = offsetof(struct servreg_state_updated_ind,265					   service_path),266	},267	{268		.data_type      = QMI_UNSIGNED_2_BYTE,269		.elem_len       = 1,270		.elem_size      = sizeof(u16),271		.array_type	= NO_ARRAY,272		.tlv_type       = 0x03,273		.offset         = offsetof(struct servreg_state_updated_ind,274					   transaction_id),275	},276	{}277};278EXPORT_SYMBOL_GPL(servreg_state_updated_ind_ei);279 280const struct qmi_elem_info servreg_set_ack_req_ei[] = {281	{282		.data_type      = QMI_STRING,283		.elem_len       = SERVREG_NAME_LENGTH + 1,284		.elem_size      = sizeof(char),285		.array_type	= NO_ARRAY,286		.tlv_type       = 0x01,287		.offset         = offsetof(struct servreg_set_ack_req,288					   service_path),289	},290	{291		.data_type      = QMI_UNSIGNED_2_BYTE,292		.elem_len       = 1,293		.elem_size      = sizeof(u16),294		.array_type	= NO_ARRAY,295		.tlv_type       = 0x02,296		.offset         = offsetof(struct servreg_set_ack_req,297					   transaction_id),298	},299	{}300};301EXPORT_SYMBOL_GPL(servreg_set_ack_req_ei);302 303const struct qmi_elem_info servreg_set_ack_resp_ei[] = {304	{305		.data_type      = QMI_STRUCT,306		.elem_len       = 1,307		.elem_size      = sizeof(struct qmi_response_type_v01),308		.array_type	= NO_ARRAY,309		.tlv_type       = 0x02,310		.offset         = offsetof(struct servreg_set_ack_resp,311					   resp),312		.ei_array       = qmi_response_type_v01_ei,313	},314	{}315};316EXPORT_SYMBOL_GPL(servreg_set_ack_resp_ei);317 318const struct qmi_elem_info servreg_loc_pfr_req_ei[] = {319	{320		.data_type = QMI_STRING,321		.elem_len = SERVREG_NAME_LENGTH + 1,322		.elem_size = sizeof(char),323		.array_type = VAR_LEN_ARRAY,324		.tlv_type = 0x01,325		.offset = offsetof(struct servreg_loc_pfr_req, service)326	},327	{328		.data_type = QMI_STRING,329		.elem_len = SERVREG_NAME_LENGTH + 1,330		.elem_size = sizeof(char),331		.array_type = VAR_LEN_ARRAY,332		.tlv_type = 0x02,333		.offset = offsetof(struct servreg_loc_pfr_req, reason)334	},335	{}336};337EXPORT_SYMBOL_GPL(servreg_loc_pfr_req_ei);338 339const struct qmi_elem_info servreg_loc_pfr_resp_ei[] = {340	{341		.data_type = QMI_STRUCT,342		.elem_len = 1,343		.elem_size = sizeof_field(struct servreg_loc_pfr_resp, rsp),344		.tlv_type = 0x02,345		.offset = offsetof(struct servreg_loc_pfr_resp, rsp),346		.ei_array = qmi_response_type_v01_ei,347	},348	{}349};350EXPORT_SYMBOL_GPL(servreg_loc_pfr_resp_ei);351 352MODULE_LICENSE("GPL");353MODULE_DESCRIPTION("Qualcomm Protection Domain messages data");354