I was surprised to learn that the revocable functionality was merged last week given the community feedback on list and at LPC, but not least since there are no users of it, which we are supposed to require to be able to evaluate it properly.
The chromeos ec driver issue which motivated this work turned out not to need it as was found during review. And the example gpiolib conversion was posted the very same morning that this was merged which hardly provides enough time for evaluation (even if Bartosz quickly reported a performance regression). Turns out there are correctness issues with both the gpiolib conversion and the revocable design itself that can lead to use-after-free and hung tasks (see [1] and patch 3/3). And as was pointed out repeatedly during review, and again at the day of the merge, this does not look like the right interface for the chardev unplug issue. Revert the revocable implementation until a redesign has been proposed and evaluated properly. Johan [1] https://lore.kernel.org/all/[email protected]/ Johan Hovold (3): Revert "selftests: revocable: Add kselftest cases" Revert "revocable: Add Kunit test cases" Revert "revocable: Revocable resource management" .../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 | 241 ------------------ drivers/base/revocable_test.c | 142 ----------- 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, 1 insertion(+), 1014 deletions(-) delete mode 100644 Documentation/driver-api/driver-model/revocable.rst delete mode 100644 drivers/base/revocable.c delete mode 100644 drivers/base/revocable_test.c delete mode 100644 include/linux/revocable.h delete mode 100644 tools/testing/selftests/drivers/base/revocable/Makefile delete mode 100644 tools/testing/selftests/drivers/base/revocable/revocable_test.c delete mode 100755 tools/testing/selftests/drivers/base/revocable/test-revocable.sh delete mode 100644 tools/testing/selftests/drivers/base/revocable/test_modules/Makefile delete mode 100644 tools/testing/selftests/drivers/base/revocable/test_modules/revocable_test.c -- 2.52.0
