mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-08-05 16:54:27 +00:00
tee: export teedev_open() and teedev_close_context()
Exports the two functions teedev_open() and teedev_close_context() in order to make it easier to create a driver internal struct tee_context. Reviewed-by: Sumit Garg <sumit.garg@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
This commit is contained in:
parent
f18397ab3a
commit
1e2c3ef049
2 changed files with 18 additions and 2 deletions
|
@ -43,7 +43,7 @@ static DEFINE_SPINLOCK(driver_lock);
|
||||||
static struct class *tee_class;
|
static struct class *tee_class;
|
||||||
static dev_t tee_devt;
|
static dev_t tee_devt;
|
||||||
|
|
||||||
static struct tee_context *teedev_open(struct tee_device *teedev)
|
struct tee_context *teedev_open(struct tee_device *teedev)
|
||||||
{
|
{
|
||||||
int rc;
|
int rc;
|
||||||
struct tee_context *ctx;
|
struct tee_context *ctx;
|
||||||
|
@ -70,6 +70,7 @@ err:
|
||||||
return ERR_PTR(rc);
|
return ERR_PTR(rc);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
EXPORT_SYMBOL_GPL(teedev_open);
|
||||||
|
|
||||||
void teedev_ctx_get(struct tee_context *ctx)
|
void teedev_ctx_get(struct tee_context *ctx)
|
||||||
{
|
{
|
||||||
|
@ -96,13 +97,14 @@ void teedev_ctx_put(struct tee_context *ctx)
|
||||||
kref_put(&ctx->refcount, teedev_ctx_release);
|
kref_put(&ctx->refcount, teedev_ctx_release);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void teedev_close_context(struct tee_context *ctx)
|
void teedev_close_context(struct tee_context *ctx)
|
||||||
{
|
{
|
||||||
struct tee_device *teedev = ctx->teedev;
|
struct tee_device *teedev = ctx->teedev;
|
||||||
|
|
||||||
teedev_ctx_put(ctx);
|
teedev_ctx_put(ctx);
|
||||||
tee_device_put(teedev);
|
tee_device_put(teedev);
|
||||||
}
|
}
|
||||||
|
EXPORT_SYMBOL_GPL(teedev_close_context);
|
||||||
|
|
||||||
static int tee_open(struct inode *inode, struct file *filp)
|
static int tee_open(struct inode *inode, struct file *filp)
|
||||||
{
|
{
|
||||||
|
|
|
@ -587,4 +587,18 @@ struct tee_client_driver {
|
||||||
#define to_tee_client_driver(d) \
|
#define to_tee_client_driver(d) \
|
||||||
container_of(d, struct tee_client_driver, driver)
|
container_of(d, struct tee_client_driver, driver)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* teedev_open() - Open a struct tee_device
|
||||||
|
* @teedev: Device to open
|
||||||
|
*
|
||||||
|
* @return a pointer to struct tee_context on success or an ERR_PTR on failure.
|
||||||
|
*/
|
||||||
|
struct tee_context *teedev_open(struct tee_device *teedev);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* teedev_close_context() - closes a struct tee_context
|
||||||
|
* @ctx: The struct tee_context to close
|
||||||
|
*/
|
||||||
|
void teedev_close_context(struct tee_context *ctx);
|
||||||
|
|
||||||
#endif /*__TEE_DRV_H*/
|
#endif /*__TEE_DRV_H*/
|
||||||
|
|
Loading…
Add table
Reference in a new issue