Greg, Now that v4.16-rc1 is out... This is the pending cleanup I have for v4.17. Its based on my last iteration of cleanup patches I had submitted for v4.16. You took in most patches except a few patches which added some selftests bash helpers like kconfig_has() as it was observed perhaps we could share this. We poked Shuah Khan to see what she thought and her recommendation was to keep these things within the firmware helpers alone, given sharing a helper script would currently just add more complexity [0]. The biggest advantage of the missing patches was that we'd be able to test at run time all firmware kernel configs usign only one kernel build. In this series I also decided to switch from debugfs to proc sys for the knobs to help dynamically modify the firmware behaviour, this proved less code and easier to maintain. I also went ahead and finally shifted all fallback code onto its own file, a goal I've been aiming for a while now. 0-day has given me its blessings on these builds. Questions, feedback, rants all equally welcomed. [0] https://lkml.kernel.org/r/938069cf-4478-2e46-f195-386830ce1a97@xxxxxxxxxx Luis R. Rodriguez (11): test_firmware: enable custom fallback testing on limited kernel configs test_firmware: replace syfs fallback check with kconfig_has helper firmware: enable to split firmware_class into separate target files firmware: simplify CONFIG_FW_LOADER_USER_HELPER_FALLBACK further firmware: use helpers for setting up a temporary cache timeout firmware: move loading timeout under struct firmware_fallback_config firmware: split firmware fallback functionality into its own file firmware: enable run time change of forcing fallback loader firmware: enable to force disable the fallback mechanism at run time test_firmware: add a library for shared helpers test_firmware: test three firmware kernel configs using a proc knob drivers/base/Makefile | 2 + drivers/base/firmware_fallback.c | 720 +++++++++++++++++++ drivers/base/firmware_fallback.h | 44 ++ .../base/{firmware_class.c => firmware_loader.c} | 765 +-------------------- drivers/base/firmware_loader.h | 115 ++++ kernel/sysctl.c | 11 + tools/testing/selftests/firmware/Makefile | 2 +- tools/testing/selftests/firmware/config | 4 + tools/testing/selftests/firmware/fw_fallback.sh | 39 +- tools/testing/selftests/firmware/fw_filesystem.sh | 61 +- tools/testing/selftests/firmware/fw_lib.sh | 173 +++++ tools/testing/selftests/firmware/fw_run_tests.sh | 67 ++ 12 files changed, 1166 insertions(+), 837 deletions(-) create mode 100644 drivers/base/firmware_fallback.c create mode 100644 drivers/base/firmware_fallback.h rename drivers/base/{firmware_class.c => firmware_loader.c} (61%) create mode 100644 drivers/base/firmware_loader.h create mode 100755 tools/testing/selftests/firmware/fw_lib.sh create mode 100755 tools/testing/selftests/firmware/fw_run_tests.sh -- 2.16.1