[PATCH v7 0/3] drivers/base: Introduce revocable
From: Tzung-Bi Shih
Date: Fri Jan 16 2026 - 03:03:17 EST
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/20251016054204.1523139-1-tzungbi@xxxxxxxxxx
[2] https://lpc.events/event/17/contributions/1627/
v7:
- Rebase onto next-20260115.
v6: https://lore.kernel.org/chrome-platform/20251106152330.11733-1-tzungbi@xxxxxxxxxx
- Rebase onto next-20251106.
- Separate revocable core and use cases.
v5: https://lore.kernel.org/chrome-platform/20251016054204.1523139-1-tzungbi@xxxxxxxxxx
- Rebase onto next-20251015.
- Add more context about the PoC.
- Support multiple revocable providers in the PoC.
v4: https://lore.kernel.org/chrome-platform/20250923075302.591026-1-tzungbi@xxxxxxxxxx
- 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/20250912081718.3827390-1-tzungbi@xxxxxxxxxx
- Rebase onto https://lore.kernel.org/chrome-platform/20250828083601.856083-1-tzungbi@xxxxxxxxxx
and next-20250912.
- The 4th patch changed accordingly.
v2: https://lore.kernel.org/chrome-platform/20250820081645.847919-1-tzungbi@xxxxxxxxxx
- Rename "ref_proxy" -> "revocable".
- Add test cases in Kunit and selftest.
v1: https://lore.kernel.org/chrome-platform/20250814091020.1302888-1-tzungbi@xxxxxxxxxx
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 | 152 +++++++++++
MAINTAINERS | 9 +
drivers/base/Kconfig | 8 +
drivers/base/Makefile | 5 +-
drivers/base/revocable.c | 242 ++++++++++++++++++
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, 1012 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.52.0.457.g6b5491de43-goog