12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- /* SPDX-License-Identifier: GPL-2.0 */
- /*
- * Copyright (C) 2022, STMicroelectronics
- */
- #ifndef __RPMSG_CHRDEV_H__
- #define __RPMSG_CHRDEV_H__
- #if IS_ENABLED(CONFIG_RPMSG_CHAR)
- /**
- * rpmsg_chrdev_eptdev_create() - register char device based on an endpoint
- * @rpdev: prepared rpdev to be used for creating endpoints
- * @parent: parent device
- * @chinfo: associated endpoint channel information.
- *
- * This function create a new rpmsg char endpoint device to instantiate a new
- * endpoint based on chinfo information.
- */
- int rpmsg_chrdev_eptdev_create(struct rpmsg_device *rpdev, struct device *parent,
- struct rpmsg_channel_info chinfo);
- /**
- * rpmsg_chrdev_eptdev_destroy() - destroy created char device endpoint.
- * @data: private data associated to the endpoint device
- *
- * This function destroys a rpmsg char endpoint device created by the RPMSG_DESTROY_EPT_IOCTL
- * control.
- */
- int rpmsg_chrdev_eptdev_destroy(struct device *dev, void *data);
- #else /*IS_ENABLED(CONFIG_RPMSG_CHAR) */
- static inline int rpmsg_chrdev_eptdev_create(struct rpmsg_device *rpdev, struct device *parent,
- struct rpmsg_channel_info chinfo)
- {
- return -ENXIO;
- }
- static inline int rpmsg_chrdev_eptdev_destroy(struct device *dev, void *data)
- {
- return -ENXIO;
- }
- #endif /*IS_ENABLED(CONFIG_RPMSG_CHAR) */
- #endif /*__RPMSG_CHRDEV_H__ */
|