1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- .. SPDX-License-Identifier: GPL-2.0-only
- =========================
- Driver-specific callbacks
- =========================
- The ``pldmfw`` module relies on the device driver for implementing device
- specific behavior using the following operations.
- ``.match_record``
- -----------------
- The ``.match_record`` operation is used to determine whether a given PLDM
- record matches the device being updated. This requires comparing the record
- descriptors in the record with information from the device. Many record
- descriptors are defined by the PLDM standard, but it is also allowed for
- devices to implement their own descriptors.
- The ``.match_record`` operation should return true if a given record matches
- the device.
- ``.send_package_data``
- ----------------------
- The ``.send_package_data`` operation is used to send the device-specific
- package data in a record to the device firmware. If the matching record
- provides package data, ``pldmfw`` will call the ``.send_package_data``
- function with a pointer to the package data and with the package data
- length. The device driver should send this data to firmware.
- ``.send_component_table``
- -------------------------
- The ``.send_component_table`` operation is used to forward component
- information to the device. It is called once for each applicable component,
- that is, for each component indicated by the matching record. The
- device driver should send the component information to the device firmware,
- and wait for a response. The provided transfer flag indicates whether this
- is the first, last, or a middle component, and is expected to be forwarded
- to firmware as part of the component table information. The driver should an
- error in the case when the firmware indicates that the component cannot be
- updated, or return zero if the component can be updated.
- ``.flash_component``
- --------------------
- The ``.flash_component`` operation is used to inform the device driver to
- flash a given component. The driver must perform any steps necessary to send
- the component data to the device.
- ``.finalize_update``
- --------------------
- The ``.finalize_update`` operation is used by the ``pldmfw`` library in
- order to allow the device driver to perform any remaining device specific
- logic needed to finish the update.
|