Zephyr Project API 4.4.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
mctp_i3c_endpoint.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2025 Intel Corporation
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 *
6 */
7
13
14#ifndef ZEPHYR_INCLUDE_PMCI_MCTP_MCTP_I3C_ENDPOINT_H_
15#define ZEPHYR_INCLUDE_PMCI_MCTP_MCTP_I3C_ENDPOINT_H_
16
17#include <zephyr/device.h>
18#include <zephyr/drivers/i3c.h>
19
22
23struct mctp_i3c_endpoint_api {
24 void (*bind)(const struct device *dev, struct mctp_binding_i3c_controller *ctlr,
25 struct i3c_device_desc **i3c_dev);
26 struct mctp_binding_i3c_controller *(*binding)(const struct device *dev);
27};
28
29static inline void mctp_i3c_endpoint_bind(const struct device *dev,
30 struct mctp_binding_i3c_controller *ctlr,
31 struct i3c_device_desc **i3c_dev)
32{
33 const struct mctp_i3c_endpoint_api *api = dev->api;
34
35 api->bind(dev, ctlr, i3c_dev);
36}
37
38static inline struct mctp_binding_i3c_controller *mctp_i3c_endpoint_binding(const struct device *d)
39{
40 const struct mctp_i3c_endpoint_api *api = d->api;
41
42 return api->binding(d);
43}
45
46#endif /* ZEPHYR_INCLUDE_PMCI_MCTP_MCTP_I3C_ENDPOINT_H_ */
irp nz macro MOVR cc d
Definition asm-macro-32-bit-gnu.h:14
Main header file for I3C (Inter-Integrated Circuit) driver API.
int bind(int sock, const struct sockaddr *addr, socklen_t addrlen)
Runtime device structure (in ROM) per driver instance.
Definition device.h:513
const void * api
Address of the API structure exposed by the device instance.
Definition device.h:519
Structure describing a I3C target device.
Definition i3c.h:1011
An MCTP binding for Zephyr's I3C interface using IBI interrupts for signaling.
Definition mctp_i3c_controller.h:27