7#ifndef ZEPHYR_SIP_SVC_CONTROLLER_H_
8#define ZEPHYR_SIP_SVC_CONTROLLER_H_
14#ifdef CONFIG_ARM_SIP_SVC_SUBSYS
22#define SIP_SVC_SUBSYS_CONDUIT_NAME_LENGTH (4U)
28 SIP_SVC_OPEN_UNLOCKED = 0,
36struct sip_svc_client {
49 struct sip_svc_id_pool *trans_idx_pool;
56struct sip_svc_controller {
71 char method[SIP_SVC_SUBSYS_CONDUIT_NAME_LENGTH];
75 struct sip_svc_id_pool *client_id_pool;
77 struct sip_svc_id_map *trans_id_map;
79 struct sip_svc_client *clients;
85#if CONFIG_ARM_SIP_SVC_SUBSYS_SINGLY_OPEN
104#define SIP_SVC_CONTROLLER_DEFINE(inst, conduit_name, sip_dev, sip_num_clients, \
105 sip_max_transactions, sip_resp_size) \
107 ((sip_num_clients <= CONFIG_ARM_SIP_SVC_SUBSYS_MAX_CLIENT_COUNT) && \
108 (sip_num_clients > 0)), \
109 "Number of client should be within 1 and ARM_SIP_SVC_SUBSYS_MAX_CLIENT_COUNT"); \
110 static STRUCT_SECTION_ITERABLE(sip_svc_controller, sip_svc_##inst) = { \
111 .method = conduit_name, \
113 .num_clients = sip_num_clients, \
114 .max_transactions = sip_max_transactions, \
115 .resp_size = sip_resp_size, \
119#define SIP_SVC_CONTROLLER_DEFINE(inst, conduit_name, sip_dev, sip_num_clients, \
120 sip_max_transactions, sip_resp_size)
long atomic_t
Definition: atomic_types.h:15
#define K_KERNEL_STACK_MEMBER(sym, size)
Define an embedded stack memory region.
Definition: thread_stack.h:279
state
Definition: parser_state.h:29
__UINT32_TYPE__ uint32_t
Definition: stdint.h:90
__UINT8_TYPE__ uint8_t
Definition: stdint.h:88
Runtime device structure (in ROM) per driver instance.
Definition: device.h:403
Message Queue Structure.
Definition: kernel.h:4426
Mutex Structure.
Definition: kernel.h:2917
Thread Structure.
Definition: thread.h:259