|
186 | 186 | * @param proto protocol ID in decimal format |
187 | 187 | * @param pdata protocol private data |
188 | 188 | */ |
189 | | -#define DT_SCMI_PROTOCOL_DATA_DEFINE(node_id, proto, pdata) \ |
| 189 | +#define DT_SCMI_PROTOCOL_DATA_DEFINE(node_id, proto, pdata, pevents) \ |
190 | 190 | STRUCT_SECTION_ITERABLE(scmi_protocol, SCMI_PROTOCOL_NAME(proto)) = \ |
191 | 191 | { \ |
192 | 192 | .id = proto, \ |
193 | 193 | .tx = DT_SCMI_TRANSPORT_TX_CHAN(node_id), \ |
194 | 194 | .rx = DT_SCMI_TRANSPORT_RX_CHAN(node_id), \ |
195 | 195 | .data = pdata, \ |
| 196 | + .events = pevents, \ |
196 | 197 | } |
197 | 198 |
|
198 | 199 | #else /* CONFIG_ARM_SCMI_TRANSPORT_HAS_STATIC_CHANNELS */ |
|
249 | 250 | * @param level protocol initialization level |
250 | 251 | * @param prio protocol's priority within its initialization level |
251 | 252 | */ |
252 | | -#define DT_SCMI_PROTOCOL_DEFINE(node_id, init_fn, pm, data, config, \ |
253 | | - level, prio, api) \ |
254 | | - DT_SCMI_TRANSPORT_CHANNELS_DECLARE(node_id) \ |
255 | | - DT_SCMI_PROTOCOL_DATA_DEFINE(node_id, DT_REG_ADDR_RAW(node_id), data); \ |
256 | | - DEVICE_DT_DEFINE(node_id, init_fn, pm, \ |
257 | | - &SCMI_PROTOCOL_NAME(DT_REG_ADDR_RAW(node_id)), \ |
| 253 | +#define DT_SCMI_PROTOCOL_DEFINE(node_id, init_fn, pm, data, config, \ |
| 254 | + level, prio, api, events) \ |
| 255 | + DT_SCMI_TRANSPORT_CHANNELS_DECLARE(node_id) \ |
| 256 | + DT_SCMI_PROTOCOL_DATA_DEFINE(node_id, DT_REG_ADDR_RAW(node_id), data, events); \ |
| 257 | + DEVICE_DT_DEFINE(node_id, init_fn, pm, \ |
| 258 | + &SCMI_PROTOCOL_NAME(DT_REG_ADDR_RAW(node_id)), \ |
258 | 259 | config, level, prio, api) |
259 | 260 |
|
260 | 261 | /** |
|
271 | 272 | * @param prio protocol's priority within its initialization level |
272 | 273 | */ |
273 | 274 | #define DT_INST_SCMI_PROTOCOL_DEFINE(inst, init_fn, pm, data, config, \ |
274 | | - level, prio, api) \ |
| 275 | + level, prio, api, events) \ |
275 | 276 | DT_SCMI_PROTOCOL_DEFINE(DT_INST(inst, DT_DRV_COMPAT), init_fn, pm, \ |
276 | | - data, config, level, prio, api) |
| 277 | + data, config, level, prio, api, events) |
277 | 278 |
|
278 | 279 | /** |
279 | 280 | * @brief Define an SCMI protocol with no device |
|
286 | 287 | * @param node_id protocol node identifier |
287 | 288 | * @param data protocol private data |
288 | 289 | */ |
289 | | -#define DT_SCMI_PROTOCOL_DEFINE_NODEV(node_id, data) \ |
290 | | - DT_SCMI_TRANSPORT_CHANNELS_DECLARE(node_id) \ |
291 | | - DT_SCMI_PROTOCOL_DATA_DEFINE(node_id, DT_REG_ADDR_RAW(node_id), data) |
| 290 | +#define DT_SCMI_PROTOCOL_DEFINE_NODEV(node_id, data, events_ptr) \ |
| 291 | + DT_SCMI_TRANSPORT_CHANNELS_DECLARE(node_id) \ |
| 292 | + DT_SCMI_PROTOCOL_DATA_DEFINE(node_id, DT_REG_ADDR_RAW(node_id), data, events_ptr) |
292 | 293 |
|
293 | 294 | /** |
294 | 295 | * @brief Create an SCMI message field |
|
0 commit comments