walnux/drivers
Theodore Karatapanis 707cdaf42e drivers/misc/optee: Expanded RPC support.
This commit expands RPC support for the OP-TEE driver using 2 files:
1) drivers/misc/optee_rpc.c
   * Add support for RPCs that can be handled directly by the kernel.
   * Can delegate RPC handling to optee_supplicant.c for RPCs that
     need userspace interaction.
2) drivers/misc/optee_supplicant.c
   * Enable communication between the userspace TEE supplicant and the
     kernel driver.

Additional changes were needed to the following files:
1) drivers/misc/optee.c
   * Add ioctls used SOLELY by the userspace TEE supplicant.
   * Register /dev/teepriv0 if the supplicant is enabled in Kconfig
   * Add OPTEE_ROLE_CA and OPTEE_ROLE_SUPPLICANT conditionals to
     differentiate paths, between a normal Client Application (CA)
     and the TEE supplicant.
   * Change some functions from static to "public" to reuse them
     in other C files.
   * Adjust optee_to/from_msg_param() to work with RPCs.

2) drivers/misc/optee_smc.c
   * Call the RPC handler from optee_rpc.c

3) drivers/misc/optee_msg.h
   * Add definition needed for RPCs

4) drivers/misc/tee.h
   * Add ioctl definitions
   * Add TEE_SHM_SUPP flag, checked when unregistering supplicant
     memory.

5) Documentation/guides/optee.rs
   * Add documentation for RPCs and the supplicant.

6) drivers/misc/{CMakeLists.txt, Make.defs}
   * Account for the new files.

7) drivers/misc/Kconfig
   * Add DEV_OPTEE_SUPPLICANT option to enable/disable the supplicant
     driver.

Signed-off-by: Theodore Karatapanis <tkaratapanis@census-labs.com>
2025-08-06 02:29:33 +08:00
..
1wire drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
aie drivers: unify Private Types banners 2025-05-28 10:17:15 +08:00
analog drivers/analog/ads1115.h: Add ioctl for conversion trigger 2025-07-14 10:22:33 -04:00
audio style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
bch drivers/fs: Control the behavior of FTL by passing oflags during the open process. 2025-07-16 14:11:41 +08:00
can style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
clk style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
contactless drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
coresight arch | boards | drivers: fix whitespace issues for switch case statements 2025-05-23 10:48:41 +08:00
crypto crypto/se05x: Allow set_enable_pin to be NULL and fix error handling 2024-11-07 11:37:58 +08:00
devicetree style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
dma drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
dummy drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
eeprom drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
efuse drivers: unify Private Types banners 2025-05-28 10:17:15 +08:00
i2c fs/drivers: Avoid causing a busy loop in the program due to context switching induced by sem_post. 2025-03-17 10:44:26 +01:00
i2s drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
i3c style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
input drivers/input: Create Single Button Multi Actions 2025-07-15 18:39:59 -03:00
ioexpander drivers/ioexpander/icjx.c: reconfigure icjx after undervoltage 2025-07-18 12:08:39 -03:00
ipcc style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
lcd drivers/lcd/st7735: Don't define st7735_rdram if write only mode 2025-07-29 08:18:30 -03:00
leds drivers/leds: Add support for KTD2052 2025-07-07 09:49:51 -03:00
loop drivers/iovec: revert vector io implement from loop/null/zero driver 2025-01-22 11:29:39 +08:00
math drivers: unify Private Types banners 2025-05-28 10:17:15 +08:00
misc drivers/misc/optee: Expanded RPC support. 2025-08-06 02:29:33 +08:00
mmcsd style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
modem drivers: unify Private Types banners 2025-05-28 10:17:15 +08:00
motor style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
mtd drivers/mtd: introduce nvblk 2025-08-06 01:53:56 +08:00
net drivers/net: add IGB network card support 2025-07-08 10:02:15 +02:00
note note/notestream: Call lib_fileoutstream_open in notefile_register 2025-06-17 20:58:13 +08:00
pci drivers/pci: epc add dma heap 2025-08-01 20:47:43 +08:00
pinctrl drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
pipes fs/drivers: Avoid causing a busy loop in the program due to context switching induced by sem_post. 2025-03-17 10:44:26 +01:00
power drivers: unify Private Types banners 2025-05-28 10:17:15 +08:00
rc style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
regmap style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
reset style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
rf drivers/rf: migrate license to ASF 2024-11-06 19:46:13 +08:00
rmt drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
rpmsg style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
rptun style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
segger drivers/segger: Add a kconfig to override Segger SystemView target sources version 2025-07-22 23:21:31 +08:00
sensors drivers/sensors/gnss: Skip copying extended satellite flags 2025-08-03 10:41:06 +08:00
serial drivers/serial: fix the issue of the refs count for filep being zeroed out by utilizing dup2 2025-06-26 09:31:14 -03:00
spi style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
syslog drivers/syslog: Add RFC 5424 protocol support 2025-06-13 20:26:57 +08:00
thermal style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
timers arch: Flag all definitions of up_perf_* functions with CONFIG_ARCH_HAVE_PERF_EVENTS 2025-06-06 17:31:10 +08:00
usbdev drivers/usbdev/cdcncm.c: Fix issue with unplug/replug of USB causing link not to re-establish 2025-05-24 12:29:07 +08:00
usbhost style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
usbmisc style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
usbmonitor drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
usrsock drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
vhost style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
video video: add sched_note_mark at fb_remove_paninfo and fb_notify_vsync 2025-07-30 02:50:21 +08:00
virtio kasan: kasan_reset_tag rename kasan_clear_tag 2025-06-30 18:19:38 +08:00
wireless Remove minread para in btuart_read. 2025-07-01 09:06:43 -03:00
.gitignore
CMakeLists.txt drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
drivers_initialize.c usbhost: add common usb host waiter and drivers initialization 2025-05-15 21:58:57 +08:00
Kconfig AI engine driver 2024-10-16 13:57:23 +08:00
Makefile drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00