include/linux/tee_drv.h

Source file repositories/reference/linux-study-clean/include/linux/tee_drv.h

File Facts

System
Linux kernel
Corpus path
include/linux/tee_drv.h
Extension
.h
Size
10198 bytes
Lines
338
Domain
Core OS
Bucket
Core Kernel Interface
Inferred role
Core OS: operation-table or driver-model contract
Status
pattern implementation candidate

Why This File Exists

Core operating-system implementation surface: boot, tasks, memory, VFS, syscall-facing interfaces, synchronization, credentials, and isolation.

Dependency Surface

Detected Declarations

Annotated Snippet

extern const struct bus_type tee_bus_type;

/**
 * struct tee_client_device - tee based device
 * @id:			device identifier
 * @dev:		device structure
 */
struct tee_client_device {
	struct tee_client_device_id id;
	struct device dev;
};

#define to_tee_client_device(d) container_of(d, struct tee_client_device, dev)

/**
 * struct tee_client_driver - tee client driver
 * @id_table:		device id table supported by this driver
 * @driver:		driver structure
 */
struct tee_client_driver {
	int (*probe)(struct tee_client_device *);
	void (*remove)(struct tee_client_device *);
	void (*shutdown)(struct tee_client_device *);
	const struct tee_client_device_id *id_table;
	struct device_driver driver;
};

#define to_tee_client_driver(d) \
		container_of_const(d, struct tee_client_driver, driver)

#define tee_client_driver_register(drv) \
        __tee_client_driver_register(drv, THIS_MODULE)
int __tee_client_driver_register(struct tee_client_driver *, struct module *);
void tee_client_driver_unregister(struct tee_client_driver *);

#define module_tee_client_driver(__tee_client_driver) \
	module_driver(__tee_client_driver, tee_client_driver_register, \
		      tee_client_driver_unregister)

#endif /*__TEE_DRV_H*/

Annotation

Implementation Notes