46 lines · 1.3 KB · C
RawDownload
/* 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__ */