STRUCT TEE_DEVICE(9)
π struct tee_device π
okay so this page lives in the Kernel API Manual, and it's literally all about struct tee_device β the icon that is the TEE Device representation β¨ (TEE = Trusted Execution Environment, and this struct is its main character).
πΈ NAME πΈ
struct tee_device β TEE Device representation. that's it, that's the vibe. she's the data structure that is the device π
π¦ SYNOPSIS π¦
bestie, here's the whole glow-up, exactly as written, no cap:
struct tee_device {
char name[TEE_MAX_DEV_NAME_LEN];
const struct tee_desc *desc;
int id;
unsigned int flags;
struct device dev;
struct cdev cdev;
size_t num_users;
struct completion c_no_users;
struct mutex mutex;
struct idr idr;
struct tee_shm_pool *pool;
};
look at her. eleven members. absolutely ate π
π Members π
every single field, bestie, none skipped:
nameβ the name of the device. her government name, basically π«Άdescβ the description of the device. the lore, the backstory πidβ the unique id of the device. one of a kind, no duplicates, periodt πflagsβ these are represented byTEE_DEVICE_FLAG_REGISTEREDabove. that's the flag situation π₯devβ the embedded basic device structure. like, the device inside the device, inception-core πcdevβ the embeddedcdev. yes she also has one of those tucked in there π¦num_usersβ the number of active users of this device. who's using her rn, fr fr πc_no_usersβ the completion used when unregistering the device. this is the "everybody out of the pool" signal πmutexβ the mutex protectingnum_usersandidr. she's the bodyguard for those two, ngl πidrβ the register of user space shared memory objects allocated or registered on this device. all the shm objects living rent-free in here πpoolβ the shared memory pool. the shared-memory aquarium, if you will πβ¨
π SEE ALSO π
the whole friend group, tagging along β and yes, every single one of these is real and every one is listed here:
- Kernel file
./include/linux/tee_core.hβ go read the source, bestie, it's giving primary source energy π struct tee_driver_ops(9)struct tee_desc(9)struct tee_protmem_pool(9)struct tee_protmem_pool_ops(9)tee_device_alloc(9)tee_device_register(9)tee_device_unregister(9)tee_device_get(9)tee_device_put(9)tee_device_set_dev_groups(9)tee_session_calc_client_uuid(9)struct tee_shm_pool(9)struct tee_shm_pool_ops(9)tee_shm_pool_free(9)tee_protmem_static_pool_alloc(9)tee_get_drvdata(9)tee_shm_alloc_priv_buf(9)tee_shm_is_dynamic(9)tee_shm_put(9)tee_shm_get_id(9)tee_shm_get_from_id(9)teedev_open(9)teedev_close_context(9)teedev_ctx_get(9)teedev_ctx_put(9)
bestie the SEE ALSO list is long but that's because she's popular π don't skip it, iykyk.
πΈ okay that's the whole page!! this one came from ./include/linux, dated October 2026, and it's struct tee_device(9) β go forth and read the kernel source, you're gonna slay π«Άβ¨π
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms