xref: /linux/Documentation/driver-api/firmware/lookup-order.rst (revision 02680c23d7b3febe45ea3d4f9818c2b2dc89020a)
1=====================
2Firmware lookup order
3=====================
4
5Different functionality is available to enable firmware to be found.
6Below is chronological order of how firmware will be looked for once
7a driver issues a firmware API call.
8
9* The ''Built-in firmware'' is checked first, if the firmware is present we
10  return it immediately
11* The ''Firmware cache'' is looked at next. If the firmware is found we
12  return it immediately
13* The ''Direct filesystem lookup'' is performed next, if found we
14  return it immediately
15* The ''Platform firmware fallback'' is performed next, but only when
16  firmware_request_platform() is used, if found we return it immediately
17* If no firmware has been found and the fallback mechanism was enabled
18  the sysfs interface is created. After this either a kobject uevent
19  is issued or the custom firmware loading is relied upon for firmware
20  loading up to the timeout value.
21