[PATCH v4 0/3] firmware: add drvdata API

From: Luis R. Rodriguez
Date: Thu Jan 12 2017 - 10:04:14 EST


This v4 fixes a small typo on the p54 driver conversion after the
sysdata/drvdata rename caught by 0-day. It also drops the microcode
firmware conversion as we only need one driver to demo the API for now.

Once we get more bells and whistles we might see more drivers convert over,
if they want, specially once we get firmware signing -- but that may take a
bit more time.

The drvdata goes without any fallback mechanism as that is a royal mess
right now, we *do* plan on merging support for it once we iron out a clean
solution on the old API which addresses all known shortcomings. A clean
fallback mechanism will then be available to both old an new the new API.

*New* features however will be encouraged using the new drvdata API moving
forward. This series is intended to apply after the two documentation patch
updates in the series: "[PATCH v4 0/2] firmware: fw doc revamp follow up" [0].

[0] https://lkml.kernel.org/r/20170112144250.12376-1-mcgrof@xxxxxxxxxx

Luis R. Rodriguez (3):
firmware: add new extensible firmware API - drvdata
test: add new drvdata loader tester
p54: convert to sysdata API

Documentation/driver-api/firmware/drvdata.rst | 91 ++
Documentation/driver-api/firmware/index.rst | 1 +
Documentation/driver-api/firmware/introduction.rst | 11 +
MAINTAINERS | 3 +-
drivers/base/firmware_class.c | 327 +++++++
drivers/net/wireless/intersil/p54/eeprom.c | 2 +-
drivers/net/wireless/intersil/p54/fwio.c | 5 +-
drivers/net/wireless/intersil/p54/led.c | 2 +-
drivers/net/wireless/intersil/p54/main.c | 2 +-
drivers/net/wireless/intersil/p54/p54.h | 3 +-
drivers/net/wireless/intersil/p54/p54pci.c | 26 +-
drivers/net/wireless/intersil/p54/p54pci.h | 4 +-
drivers/net/wireless/intersil/p54/p54spi.c | 80 +-
drivers/net/wireless/intersil/p54/p54spi.h | 2 +-
drivers/net/wireless/intersil/p54/p54usb.c | 18 +-
drivers/net/wireless/intersil/p54/p54usb.h | 4 +-
drivers/net/wireless/intersil/p54/txrx.c | 2 +-
include/linux/drvdata.h | 245 +++++
lib/Kconfig.debug | 12 +
lib/Makefile | 1 +
lib/test_drvdata.c | 1033 ++++++++++++++++++++
tools/testing/selftests/firmware/Makefile | 2 +-
tools/testing/selftests/firmware/config | 1 +
tools/testing/selftests/firmware/drvdata.sh | 827 ++++++++++++++++
24 files changed, 2641 insertions(+), 63 deletions(-)
create mode 100644 Documentation/driver-api/firmware/drvdata.rst
create mode 100644 include/linux/drvdata.h
create mode 100644 lib/test_drvdata.c
create mode 100755 tools/testing/selftests/firmware/drvdata.sh

--
2.11.0