xref: /linux/drivers/tee/tee_private.h (revision 621cde16e49b3ecf7d59a8106a20aaebfb4a59a9)
19c92ab61SThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-only */
2967c9ccaSJens Wiklander /*
3967c9ccaSJens Wiklander  * Copyright (c) 2015-2016, Linaro Limited
4967c9ccaSJens Wiklander  */
5967c9ccaSJens Wiklander #ifndef TEE_PRIVATE_H
6967c9ccaSJens Wiklander #define TEE_PRIVATE_H
7967c9ccaSJens Wiklander 
8967c9ccaSJens Wiklander #include <linux/cdev.h>
9967c9ccaSJens Wiklander #include <linux/completion.h>
10967c9ccaSJens Wiklander #include <linux/device.h>
11967c9ccaSJens Wiklander #include <linux/kref.h>
12967c9ccaSJens Wiklander #include <linux/mutex.h>
13967c9ccaSJens Wiklander #include <linux/types.h>
14967c9ccaSJens Wiklander 
15967c9ccaSJens Wiklander int tee_shm_get_fd(struct tee_shm *shm);
16967c9ccaSJens Wiklander 
17967c9ccaSJens Wiklander bool tee_device_get(struct tee_device *teedev);
18967c9ccaSJens Wiklander void tee_device_put(struct tee_device *teedev);
19967c9ccaSJens Wiklander 
20217e0250SVolodymyr Babchuk void teedev_ctx_get(struct tee_context *ctx);
21217e0250SVolodymyr Babchuk void teedev_ctx_put(struct tee_context *ctx);
22217e0250SVolodymyr Babchuk 
2371cc47d4SJens Wiklander struct tee_shm *tee_shm_alloc_user_buf(struct tee_context *ctx, size_t size);
24*056d3fedSJens Wiklander struct tee_shm *tee_shm_register_user_buf(struct tee_context *ctx,
25*056d3fedSJens Wiklander 					  unsigned long addr, size_t length);
2671cc47d4SJens Wiklander 
27967c9ccaSJens Wiklander #endif /*TEE_PRIVATE_H*/
28