Zephyr API Documentation 4.3.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
8#ifndef ZEPHYR_MCTP_I3C_ENDPOINT_H_
9#define ZEPHYR_MCTP_I3C_ENDPOINT_H_
10
11#include <zephyr/device.h>
12#include <zephyr/drivers/i3c.h>
13
16
17struct mctp_i3c_endpoint_api {
18 void (*bind)(const struct device *dev, struct mctp_binding_i3c_controller *ctlr,
19 struct i3c_device_desc **i3c_dev);
20 struct mctp_binding_i3c_controller *(*binding)(const struct device *dev);
21};
22
23static inline void mctp_i3c_endpoint_bind(const struct device *dev,
24 struct mctp_binding_i3c_controller *ctlr,
25 struct i3c_device_desc **i3c_dev)
26{
27 const struct mctp_i3c_endpoint_api *api = dev->api;
28
29 api->bind(dev, ctlr, i3c_dev);
30}
31
32static inline struct mctp_binding_i3c_controller *mctp_i3c_endpoint_binding(const struct device *d)
33{
34 const struct mctp_i3c_endpoint_api *api = d->api;
35
36 return api->binding(d);
37}
39
40#endif /* ZEPHYR_MCTP_I3C_ENDPOINT_H_ */
irp nz macro MOVR cc d
Definition asm-macro-32-bit-gnu.h:11
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:924
An MCTP binding for Zephyr's I3C interface using IBI interrupts for signaling.
Definition mctp_i3c_controller.h:21