linux/Documentation/driver-api/firmware/lookup-order.rst

=====================
Firmware lookup order
=====================

Different functionality is available to enable firmware to be found.
Below is chronological order of how firmware will be looked for once
a driver issues a firmware API call.

* The ''Built-in firmware'' is checked first, if the firmware is present we
  return it immediately
* The ''Firmware cache'' is looked at next. If the firmware is found we
  return it immediately
* The ''Direct filesystem lookup'' is performed next, if found we
  return it immediately
* The ''Platform firmware fallback'' is performed next, but only when
  firmware_request_platform() is used, if found we return it immediately
* If no firmware has been found and the fallback mechanism was enabled
  the sysfs interface is created. After this either a kobject uevent
  is issued or the custom firmware loading is relied upon for firmware
  loading up to the timeout value.