Hi, On Mon, Dec 15, 2025 at 3:17 PM Uwe Kleine-König <[email protected]> wrote: > > Hello, > > the objective of this series is to make tee driver stop using callbacks > in struct device_driver. These were superseded by bus methods in 2006 > (commit 594c8281f905 ("[PATCH] Add bus_type probe, remove, shutdown > methods.")) but nobody cared to convert all subsystems accordingly. > > Here the tee drivers are converted. The first commit is somewhat > unrelated, but simplifies the conversion (and the drivers). It > introduces driver registration helpers that care about setting the bus > and owner. (The latter is missing in all drivers, so by using these > helpers the drivers become more correct.) > > v1 of this series is available at > https://lore.kernel.org/all/[email protected] > > Changes since v1: > > - rebase to v6.19-rc1 (no conflicts) > - add tags received so far > - fix whitespace issues pointed out by Sumit Garg > - fix shutdown callback to shutdown and not remove > > As already noted in v1's cover letter, this series should go in during a > single merge window as there are runtime warnings when the series is > only applied partially. Sumit Garg suggested to apply the whole series > via Jens Wiklander's tree. > If this is done the dependencies in this series are honored, in case the > plan changes: Patches #4 - #17 depend on the first two. > > Note this series is only build tested. > > Uwe Kleine-König (17): > tee: Add some helpers to reduce boilerplate for tee client drivers > tee: Add probe, remove and shutdown bus callbacks to tee_client_driver > tee: Adapt documentation to cover recent additions > hwrng: optee - Make use of module_tee_client_driver() > hwrng: optee - Make use of tee bus methods > rtc: optee: Migrate to use tee specific driver registration function > rtc: optee: Make use of tee bus methods > efi: stmm: Make use of module_tee_client_driver() > efi: stmm: Make use of tee bus methods > firmware: arm_scmi: optee: Make use of module_tee_client_driver() > firmware: arm_scmi: Make use of tee bus methods > firmware: tee_bnxt: Make use of module_tee_client_driver() > firmware: tee_bnxt: Make use of tee bus methods > KEYS: trusted: Migrate to use tee specific driver registration > function > KEYS: trusted: Make use of tee bus methods > tpm/tpm_ftpm_tee: Make use of tee specific driver registration > tpm/tpm_ftpm_tee: Make use of tee bus methods > > Documentation/driver-api/tee.rst | 18 +---- > drivers/char/hw_random/optee-rng.c | 26 ++---- > drivers/char/tpm/tpm_ftpm_tee.c | 31 +++++--- > drivers/firmware/arm_scmi/transports/optee.c | 32 +++----- > drivers/firmware/broadcom/tee_bnxt_fw.c | 30 ++----- > drivers/firmware/efi/stmm/tee_stmm_efi.c | 25 ++---- > drivers/rtc/rtc-optee.c | 27 ++----- > drivers/tee/tee_core.c | 84 ++++++++++++++++++++ > include/linux/tee_drv.h | 12 +++ > security/keys/trusted-keys/trusted_tee.c | 17 ++-- > 10 files changed, 164 insertions(+), 138 deletions(-) > > base-commit: 8f0b4cce4481fb22653697cced8d0d04027cb1e8 > -- > 2.47.3 >
Thank you for the nice cleanup, Uwe. I've applied patch 1-3 to the branch tee_bus_callback_for_6.20 in my tree at https://git.kernel.org/pub/scm/linux/kernel/git/jenswi/linux-tee.git/ The branch is based on v6.19-rc1, and I'll try to keep it stable for others to depend on, if needed. Let's see if we can agree on taking the remaining patches via that branch. Cheers, Jens
