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.
- Core operating-system implementation surface: boot, tasks, memory, VFS, syscall-facing interfaces, synchronization, credentials, and isolation.
- Defines an operation table; this is where Linux turns generic core objects into subsystem-specific behavior.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
linux/device.hlinux/kref.hlinux/list.hlinux/mod_devicetable.hlinux/tee.hlinux/types.h
Detected Declarations
struct tee_devicestruct tee_contextstruct tee_shmstruct tee_param_memrefstruct tee_param_ubufstruct tee_param_objrefstruct tee_param_valuestruct tee_paramstruct tee_client_devicestruct tee_client_driverfunction tee_shm_get_sizefunction tee_shm_get_pagesfunction tee_shm_get_page_offset
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
- Immediate include surface: `linux/device.h`, `linux/kref.h`, `linux/list.h`, `linux/mod_devicetable.h`, `linux/tee.h`, `linux/types.h`.
- Detected declarations: `struct tee_device`, `struct tee_context`, `struct tee_shm`, `struct tee_param_memref`, `struct tee_param_ubuf`, `struct tee_param_objref`, `struct tee_param_value`, `struct tee_param`, `struct tee_client_device`, `struct tee_client_driver`.
- Atlas domain: Core OS / Core Kernel Interface.
- Implementation status: pattern implementation candidate.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.