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