Back to home page

OSCL-LXR

 
 

    


0001 ============
0002 Introduction
0003 ============
0004 
0005 The firmware API enables kernel code to request files required
0006 for functionality from userspace, the uses vary:
0007 
0008 * Microcode for CPU errata
0009 * Device driver firmware, required to be loaded onto device
0010   microcontrollers
0011 * Device driver information data (calibration data, EEPROM overrides),
0012   some of which can be completely optional.
0013 
0014 Types of firmware requests
0015 ==========================
0016 
0017 There are two types of calls:
0018 
0019 * Synchronous
0020 * Asynchronous
0021 
0022 Which one you use vary depending on your requirements, the rule of thumb
0023 however is you should strive to use the asynchronous APIs unless you also
0024 are already using asynchronous initialization mechanisms which will not
0025 stall or delay boot. Even if loading firmware does not take a lot of time
0026 processing firmware might, and this can still delay boot or initialization,
0027 as such mechanisms such as asynchronous probe can help supplement drivers.