Lines Matching full:optee
92 struct optee *optee = tee_get_drvdata(teedev); in optee_open() local
98 if (teedev == optee->supp_teedev) { in optee_open()
101 mutex_lock(&optee->supp.mutex); in optee_open()
102 if (!optee->supp.ctx) { in optee_open()
104 optee->supp.ctx = ctx; in optee_open()
106 mutex_unlock(&optee->supp.mutex); in optee_open()
112 if (!optee->scan_bus_done) { in optee_open()
113 INIT_WORK(&optee->scan_bus_work, optee_bus_scan); in optee_open()
114 schedule_work(&optee->scan_bus_work); in optee_open()
115 optee->scan_bus_done = true; in optee_open()
155 struct optee *optee = tee_get_drvdata(ctx->teedev); in optee_release_supp() local
159 optee_supp_release(&optee->supp); in optee_release_supp()
162 void optee_remove_common(struct optee *optee) in optee_remove_common() argument
167 optee_notif_uninit(optee); in optee_remove_common()
168 optee_shm_arg_cache_uninit(optee); in optee_remove_common()
169 teedev_close_context(optee->ctx); in optee_remove_common()
174 tee_device_unregister(optee->supp_teedev); in optee_remove_common()
175 tee_device_unregister(optee->teedev); in optee_remove_common()
177 tee_shm_pool_free(optee->pool); in optee_remove_common()
178 optee_supp_uninit(&optee->supp); in optee_remove_common()
179 mutex_destroy(&optee->call_queue.mutex); in optee_remove_common()
220 MODULE_ALIAS("platform:optee");