On Sat, Mar 10, 2018 at 6:14 AM, Luis R. Rodriguez <mcgrof@xxxxxxxxxx> wrote: > Greg, > > Here's a respin of what I have queued up for v4.17 for the firmware API. It > combines the cleanup I've been working on and the addition of the new API call > request_firmware_cache() for fixing a corner case suspend issue on some type of > cards with an optimization in place where the firmware is *not* needed on > reboot. > > The cleanup work allows us to test the firmware API with one kernel > configuration. I've addressed Kees' feedback on this respin and > combined the code into drivers/base/firmware_class/. > > I've made one new test_firmware change in consideration for one firmware > change, the patch "firmware: ensure the firmware cache is not used on > incompatible calls" requires us to modify our tests scripts to use > the APIs sanely as well. > > I've put up these changes on my git tree, refer to the branch > "20180307-firmware-dev-for-v4.17" based on linux-next [0] and > the same name based on Linus' tree [1]. > > Questions, feedback, and specially rants are always welcomed. This all looks good to me! Thanks for respinning. :) -Kees > > [0] https://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux-next.git/log/?h=20180307-firmware-dev-for-v4.17 > [1] https://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux.git/log/?h=20180307-firmware-dev-for-v4.17 > > Luis R. Rodriguez (20): > test_firmware: add simple firmware firmware test library > 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: move firmware loader into its own directory > firmware: enable run time change of forcing fallback loader > firmware: enable to force disable the fallback mechanism at run time > test_firmware: expand on library with shared helpers > test_firmware: test three firmware kernel configs using a proc knob > rename: _request_firmware_load() fw_load_sysfs_fallback() > firmware: fix checking for return values for fw_add_devm_name() > firmware: add helper to check to see if fw cache is setup > test_firmware: modify custom fallback tests to use unique files > firmware: ensure the firmware cache is not used on incompatible calls > firmware: add request_firmware_cache() to help with cache on reboot > mt7601u: use request_firmware_cache() to address cache on reboot > > .../driver-api/firmware/fallback-mechanisms.rst | 2 +- > .../driver-api/firmware/request_firmware.rst | 14 + > MAINTAINERS | 2 +- > drivers/base/Makefile | 2 +- > drivers/base/firmware_loader/Makefile | 7 + > drivers/base/firmware_loader/fallback.c | 674 +++++++++++++++++ > drivers/base/firmware_loader/fallback.h | 67 ++ > drivers/base/firmware_loader/fallback_table.c | 55 ++ > drivers/base/firmware_loader/firmware.h | 115 +++ > .../{firmware_class.c => firmware_loader/main.c} | 833 ++------------------- > drivers/net/wireless/mediatek/mt7601u/mcu.c | 2 +- > include/linux/firmware.h | 3 + > kernel/sysctl.c | 11 + > tools/testing/selftests/firmware/Makefile | 2 +- > tools/testing/selftests/firmware/config | 4 + > tools/testing/selftests/firmware/fw_fallback.sh | 65 +- > tools/testing/selftests/firmware/fw_filesystem.sh | 72 +- > tools/testing/selftests/firmware/fw_lib.sh | 194 +++++ > tools/testing/selftests/firmware/fw_run_tests.sh | 70 ++ > 19 files changed, 1332 insertions(+), 862 deletions(-) > create mode 100644 drivers/base/firmware_loader/Makefile > create mode 100644 drivers/base/firmware_loader/fallback.c > create mode 100644 drivers/base/firmware_loader/fallback.h > create mode 100644 drivers/base/firmware_loader/fallback_table.c > create mode 100644 drivers/base/firmware_loader/firmware.h > rename drivers/base/{firmware_class.c => firmware_loader/main.c} (60%) > create mode 100755 tools/testing/selftests/firmware/fw_lib.sh > create mode 100755 tools/testing/selftests/firmware/fw_run_tests.sh > > -- > 2.16.2 > -- Kees Cook Pixel Security