The series is separated from [1] to show the independency and compare potential use cases easier. This is the revocable core part. Use cases are in other series.
The 1st patch introduces the revocable which is an implementation of ideas from the talk [2]. The 2nd and 3rd patches add test cases for revocable in Kunit and selftest. [1] https://lore.kernel.org/chrome-platform/[email protected] [2] https://lpc.events/event/17/contributions/1627/ v6: - Rebase onto next-20251106. - Separate revocable core and use cases. v5: https://lore.kernel.org/chrome-platform/[email protected] - Rebase onto next-20251015. - Add more context about the PoC. - Support multiple revocable providers in the PoC. v4: https://lore.kernel.org/chrome-platform/[email protected] - Rebase onto next-20250922. - Remove the 5th patch from v3. - Add fops replacement PoC in 5th - 7th patches. v3: https://lore.kernel.org/chrome-platform/[email protected] - Rebase onto https://lore.kernel.org/chrome-platform/[email protected] and next-20250912. - The 4th patch changed accordingly. v2: https://lore.kernel.org/chrome-platform/[email protected] - Rename "ref_proxy" -> "revocable". - Add test cases in Kunit and selftest. v1: https://lore.kernel.org/chrome-platform/[email protected] Tzung-Bi Shih (3): revocable: Revocable resource management revocable: Add Kunit test cases selftests: revocable: Add kselftest cases .../driver-api/driver-model/index.rst | 1 + .../driver-api/driver-model/revocable.rst | 112 +++++++++ MAINTAINERS | 9 + drivers/base/Kconfig | 8 + drivers/base/Makefile | 5 +- drivers/base/revocable.c | 234 ++++++++++++++++++ drivers/base/revocable_test.c | 139 +++++++++++ include/linux/revocable.h | 69 ++++++ tools/testing/selftests/Makefile | 1 + .../selftests/drivers/base/revocable/Makefile | 7 + .../drivers/base/revocable/revocable_test.c | 136 ++++++++++ .../drivers/base/revocable/test-revocable.sh | 39 +++ .../base/revocable/test_modules/Makefile | 10 + .../revocable/test_modules/revocable_test.c | 195 +++++++++++++++ 14 files changed, 964 insertions(+), 1 deletion(-) create mode 100644 Documentation/driver-api/driver-model/revocable.rst create mode 100644 drivers/base/revocable.c create mode 100644 drivers/base/revocable_test.c create mode 100644 include/linux/revocable.h create mode 100644 tools/testing/selftests/drivers/base/revocable/Makefile create mode 100644 tools/testing/selftests/drivers/base/revocable/revocable_test.c create mode 100755 tools/testing/selftests/drivers/base/revocable/test-revocable.sh create mode 100644 tools/testing/selftests/drivers/base/revocable/test_modules/Makefile create mode 100644 tools/testing/selftests/drivers/base/revocable/test_modules/revocable_test.c -- 2.48.1
