diff options
author | Sumit Garg <sumit.garg@linaro.org> | 2019-01-29 08:49:35 +0300 |
---|---|---|
committer | Jens Wiklander <jens.wiklander@linaro.org> | 2019-02-01 17:12:46 +0300 |
commit | 0fc1db9d105915021260eb241661b8e96f5c0f1a (patch) | |
tree | 5e5d608e2a01aaeec416ade44d47036638ad7289 /scripts/mod/devicetable-offsets.c | |
parent | 42bf4152d8a79f89f5456dee63a1f364fbce2dd6 (diff) | |
download | linux-0fc1db9d105915021260eb241661b8e96f5c0f1a.tar.xz |
tee: add bus driver framework for TEE based devices
Introduce a generic TEE bus driver concept for TEE based kernel drivers
which would like to communicate with TEE based devices/services. Also
add support in module device table for these new TEE based devices.
In this TEE bus concept, devices/services are identified via Universally
Unique Identifier (UUID) and drivers register a table of device UUIDs
which they can support.
So this TEE bus framework registers following apis:
- match(): Iterates over the driver UUID table to find a corresponding
match for device UUID. If a match is found, then this particular device
is probed via corresponding probe api registered by the driver. This
process happens whenever a device or a driver is registered with TEE
bus.
- uevent(): Notifies user-space (udev) whenever a new device is registered
on this bus for auto-loading of modularized drivers.
Also this framework allows for device enumeration to be specific to
corresponding TEE implementation like OP-TEE etc.
Signed-off-by: Sumit Garg <sumit.garg@linaro.org>
Reviewed-by: Daniel Thompson <daniel.thompson@linaro.org>
Reviewed-by: Bhupesh Sharma <bhsharma@redhat.com>
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
Diffstat (limited to 'scripts/mod/devicetable-offsets.c')
-rw-r--r-- | scripts/mod/devicetable-offsets.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/scripts/mod/devicetable-offsets.c b/scripts/mod/devicetable-offsets.c index 293004499b4d..160718383a71 100644 --- a/scripts/mod/devicetable-offsets.c +++ b/scripts/mod/devicetable-offsets.c @@ -225,5 +225,8 @@ int main(void) DEVID_FIELD(typec_device_id, svid); DEVID_FIELD(typec_device_id, mode); + DEVID(tee_client_device_id); + DEVID_FIELD(tee_client_device_id, uuid); + return 0; } |