firmware: revamp firmware documentation
Understanding this code is getting out of control without any notes. Give the firmware_class driver a much needed documentation love, and while at it convert it to the new sphinx documentation format. v2: typos and small fixes Signed-off-by: Luis R. Rodriguez <mcgrof@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:

committad av
Greg Kroah-Hartman

förälder
880444e214
incheckning
113ccc3837
56
Documentation/driver-api/firmware/request_firmware.rst
Normal file
56
Documentation/driver-api/firmware/request_firmware.rst
Normal file
@@ -0,0 +1,56 @@
|
||||
====================
|
||||
request_firmware API
|
||||
====================
|
||||
|
||||
You would typically load firmware and then load it into your device somehow.
|
||||
The typical firmware work flow is reflected below::
|
||||
|
||||
if(request_firmware(&fw_entry, $FIRMWARE, device) == 0)
|
||||
copy_fw_to_device(fw_entry->data, fw_entry->size);
|
||||
release_firmware(fw_entry);
|
||||
|
||||
Synchronous firmware requests
|
||||
=============================
|
||||
|
||||
Synchronous firmware requests will wait until the firmware is found or until
|
||||
an error is returned.
|
||||
|
||||
request_firmware
|
||||
----------------
|
||||
.. kernel-doc:: drivers/base/firmware_class.c
|
||||
:functions: request_firmware
|
||||
|
||||
request_firmware_direct
|
||||
-----------------------
|
||||
.. kernel-doc:: drivers/base/firmware_class.c
|
||||
:functions: request_firmware_direct
|
||||
|
||||
request_firmware_into_buf
|
||||
-------------------------
|
||||
.. kernel-doc:: drivers/base/firmware_class.c
|
||||
:functions: request_firmware_into_buf
|
||||
|
||||
Asynchronous firmware requests
|
||||
==============================
|
||||
|
||||
Asynchronous firmware requests allow driver code to not have to wait
|
||||
until the firmware or an error is returned. Function callbacks are
|
||||
provided so that when the firmware or an error is found the driver is
|
||||
informed through the callback. request_firmware_nowait() cannot be called
|
||||
in atomic contexts.
|
||||
|
||||
request_firmware_nowait
|
||||
-----------------------
|
||||
.. kernel-doc:: drivers/base/firmware_class.c
|
||||
:functions: request_firmware_nowait
|
||||
|
||||
request firmware API expected driver use
|
||||
========================================
|
||||
|
||||
Once an API call returns you process the firmware and then release the
|
||||
firmware. For example if you used request_firmware() and it returns,
|
||||
the driver has the firmware image accessible in fw_entry->{data,size}.
|
||||
If something went wrong request_firmware() returns non-zero and fw_entry
|
||||
is set to NULL. Once your driver is done with processing the firmware it
|
||||
can call call release_firmware(fw_entry) to release the firmware image
|
||||
and any related resource.
|
Referens i nytt ärende
Block a user