• Sumit Garg's avatar
    tee: add bus driver framework for TEE based devices · 0fc1db9d
    Sumit Garg authored
    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: default avatarSumit Garg <sumit.garg@linaro.org>
    Reviewed-by: default avatarDaniel Thompson <daniel.thompson@linaro.org>
    Reviewed-by: default avatarBhupesh Sharma <bhsharma@redhat.com>
    Signed-off-by: default avatarJens Wiklander <jens.wiklander@linaro.org>
    0fc1db9d
devicetable-offsets.c 6.42 KB