tee: export teedev_open() and teedev_close_context()
commit 1e2c3ef0496e72ba9001da5fd1b7ed56ccb30597 upstream. 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> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:

committed by
Greg Kroah-Hartman

parent
bae7fc6f0d
commit
eb35461384
@@ -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)
|
||||||
{
|
{
|
||||||
|
@@ -582,4 +582,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*/
|
||||||
|
Reference in New Issue
Block a user