Merge branch 'core-objtool-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
[linux-block.git] / Documentation / driver-api / firmware / lookup-order.rst
CommitLineData
113ccc38
LR
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
e4c2c0ff
HG
15* The ''Platform firmware fallback'' is performed next, but only when
16 firmware_request_platform() is used, if found we return it immediately
113ccc38
LR
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.