Greg, Based on popular demand this v6 folds the new API ontop of the old API and keeps the old schedule_work() async mechanism. It also added more functionality to demo the real value to the flexible API. This goes tested on 0-day, and using the existing and new tests provided. These patches are based on next-20170329.
This series depends on the series which moves the UMH locks onto the fallback code which I also just sent. If you want this in tree form you can get it all here: https://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux-next.git/log/?h=20170329-driver-data-v2-try3 Luis R. Rodriguez (5): firmware: add extensible driver data params firmware: add extensible driver data API test: add new driver_data load tester iwlwifi: convert to use driver data API brcmfmac: don't warn user if requested nvram fails Documentation/driver-api/firmware/driver_data.rst | 109 ++ Documentation/driver-api/firmware/index.rst | 1 + Documentation/driver-api/firmware/introduction.rst | 16 + MAINTAINERS | 4 +- drivers/base/firmware_class.c | 574 ++++++++- .../broadcom/brcm80211/brcmfmac/firmware.c | 11 +- drivers/net/wireless/intel/iwlwifi/iwl-drv.c | 67 +- include/linux/driver_data.h | 288 +++++ include/linux/firmware.h | 2 + lib/Kconfig.debug | 12 + lib/Makefile | 1 + lib/test_driver_data.c | 1272 ++++++++++++++++++++ tools/testing/selftests/firmware/Makefile | 2 +- tools/testing/selftests/firmware/config | 1 + tools/testing/selftests/firmware/driver_data.sh | 996 +++++++++++++++ 15 files changed, 3250 insertions(+), 106 deletions(-) create mode 100644 Documentation/driver-api/firmware/driver_data.rst create mode 100644 include/linux/driver_data.h create mode 100644 lib/test_driver_data.c create mode 100755 tools/testing/selftests/firmware/driver_data.sh -- 2.11.0