Add pldmfw library for PLDM firmware update
authorJacob Keller <jacob.e.keller@intel.com>
Fri, 24 Jul 2020 00:21:59 +0000 (17:21 -0700)
committerDavid S. Miller <davem@davemloft.net>
Wed, 29 Jul 2020 00:07:06 +0000 (17:07 -0700)
commitb8265621f4888af9494e1d685620871ec81bc33d
treef0eccacc3db8e31ed2c857922bff96bc6350d0ed
parent323410ef74198303729405ed1ad5ea543a525b52
Add pldmfw library for PLDM firmware update

The pldmfw library is used to implement common logic needed to flash
devices based on firmware files using the format described by the PLDM
for Firmware Update standard.

This library consists of logic to parse the PLDM file format from
a firmware file object, as well as common logic for sending the relevant
PLDM header data to the device firmware.

A simple ops table is provided so that device drivers can implement
device specific hardware interactions while keeping the common logic to
the pldmfw library.

This library will be used by the Intel ice networking driver as part of
implementing device flash update via devlink. The library aims to be
vendor and device agnostic. For this reason, it has been placed in
lib/pldmfw, in the hopes that other devices which use the PLDM firmware
file format may benefit from it in the future. However, do note that not
all features defined in the PLDM standard have been implemented.

Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Documentation/driver-api/index.rst
Documentation/driver-api/pldmfw/driver-ops.rst [new file with mode: 0644]
Documentation/driver-api/pldmfw/file-format.rst [new file with mode: 0644]
Documentation/driver-api/pldmfw/index.rst [new file with mode: 0644]
MAINTAINERS
include/linux/pldmfw.h [new file with mode: 0644]
lib/Kconfig
lib/Makefile
lib/pldmfw/Makefile [new file with mode: 0644]
lib/pldmfw/pldmfw.c [new file with mode: 0644]
lib/pldmfw/pldmfw_private.h [new file with mode: 0644]