[PATCH v2 00/11] firmware: cleanup for v4.17

From: Luis R. Rodriguez
Date: Tue Feb 13 2018 - 19:44:43 EST


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