mirror of
				https://xff.cz/git/u-boot/
				synced 2025-10-31 10:26:10 +01:00 
			
		
		
		
	This change defines resources for OP-TEE service drivers to register themselves for being bound to when OP-TEE firmware reports the related service is supported. OP-TEE services are discovered during optee driver probe sequence which mandates optee driver is always probe once bound. Discovery of optee services and binding to related U-Boot drivers is embedded upon configuration switch CONFIG_OPTEE_SERVICE_DISCOVERY. Cc: Jens Wiklander <jens.wiklander@linaro.org> Cc: Patrick Delaunay <patrick.delaunay@foss.st.com> Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
		
			
				
	
	
		
			35 lines
		
	
	
		
			920 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			35 lines
		
	
	
		
			920 B
		
	
	
	
		
			C
		
	
	
	
	
	
| /* SPDX-License-Identifier: BSD-2-Clause */
 | |
| /*
 | |
|  * (C) Copyright 2022 Linaro Limited
 | |
|  */
 | |
| 
 | |
| #ifndef _OPTEE_SERVICE_H
 | |
| #define _OPTEE_SERVICE_H
 | |
| 
 | |
| /*
 | |
|  * struct optee_service - Discoverable OP-TEE service
 | |
|  *
 | |
|  * @driver_name - Name of the related driver
 | |
|  * @uuid - UUID of the OP-TEE service related to the driver
 | |
|  *
 | |
|  * Use macro OPTEE_SERVICE_DRIVER() to register a driver related to an
 | |
|  * OP-TEE service discovered when driver asks OP-TEE services enumaration.
 | |
|  */
 | |
| struct optee_service {
 | |
| 	const char *driver_name;
 | |
| 	const struct tee_optee_ta_uuid uuid;
 | |
| };
 | |
| 
 | |
| #ifdef CONFIG_OPTEE_SERVICE_DISCOVERY
 | |
| #define OPTEE_SERVICE_DRIVER(__name, __uuid, __drv_name) \
 | |
| 	ll_entry_declare(struct optee_service, __name, optee_service) = { \
 | |
| 		.uuid = __uuid, \
 | |
| 		.driver_name = __drv_name, \
 | |
| 	}
 | |
| #else
 | |
| #define OPTEE_SERVICE_DRIVER(__name, __uuid, __drv_name) \
 | |
| 	static int __name##__COUNTER__ __always_unused
 | |
| #endif
 | |
| 
 | |
| #endif /* _OPTEE_SERVICE_H */
 |