Logo

The Linux Kernel

6.15.0-rc5

Quick search

Contents

  • Development process
  • Submitting patches
  • Code of conduct
  • Maintainer handbook
  • All development-process docs
  • Core API
  • Driver APIs
    • General information for driver authors
    • Useful support libraries
    • Bus-level documentation
    • Subsystem-specific APIs
      • Linux 802.11 Driver Developer’s Guide
      • ACPI Support
      • Kernel driver lp855x
      • The Common Clk Framework
      • Console Drivers
      • Crypto Drivers
      • DMAEngine documentation
      • The Linux kernel dpll subsystem
      • Error Detection And Correction (EDAC) Devices
      • Extcon Device Subsystem
      • Linux Firmware API
      • FPGA Subsystem
      • Frame Buffer Library
      • Managing Ownership of the Framebuffer Aperture
      • Generic Counter Interface
      • General Purpose Input/Output (GPIO)
      • High Speed Synchronous Serial Interface (HSI)
      • The Linux Hardware Timestamping Engine (HTE)
      • I2C and SMBus Subsystem
      • Industrial I/O
      • InfiniBand and Remote DMA (RDMA) Interfaces
      • Input Subsystem
      • Generic System Interconnect Subsystem
      • IPMB Driver for a Satellite MC
      • The Linux IPMI Driver
      • libATA Developer’s Guide
      • The Common Mailbox Framework
      • RAID
      • Media subsystem kernel internal API
      • Intel(R) Management Engine Interface (Intel(R) MEI)
      • Memory Controller drivers
      • Message-based devices
      • Miscellaneous Devices
      • Parallel Port Devices
      • 16x50 UART Driver
      • Pulse-Width Modulation (PWM)
      • MMC/SD/SDIO card support
      • Memory Technology Device (MTD)
      • MTD NAND Driver Programming Interface
      • Near Field Communication
      • NTB Drivers
      • Non-Volatile Memory Device (NVDIMM)
      • NVMEM Subsystem
      • PARPORT interface documentation
      • Generic PHY Framework
      • PINCTRL (PIN CONTROL) subsystem
      • PLDM Firmware Flash Update Library
      • Overview of the pldmfw library
      • PPS - Pulse Per Second
      • PTP hardware clock infrastructure for Linux
      • Pulse Width Modulation (PWM) interface
      • Power Sequencing API
      • Voltage and current regulator API
      • Reset controller API
      • rfkill - RF kill switch support
      • Writing s390 channel device drivers
      • SCSI Interfaces Guide
      • Support for Serial devices
      • SM501 Driver
      • SoundWire Documentation
      • Serial Peripheral Interface (SPI)
      • Surface System Aggregator Module (SSAM)
      • Linux Switchtec Support
      • Sync File API Guide
      • target and iSCSI Interfaces Guide
      • TEE (Trusted Execution Environment) driver API
      • Thermal
      • TTY
      • WBRF - Wifi Band RFI Mitigations
      • WMI Driver API
      • Xilinx FPGA
      • Writing Device Drivers for Zorro Devices
  • Subsystems
  • Locking
  • Licensing rules
  • Writing documentation
  • Development tools
  • Testing guide
  • Hacking guide
  • Tracing
  • Fault injection
  • Livepatching
  • Rust
  • Administration
  • Build system
  • Reporting issues
  • Userspace tools
  • Userspace API
  • Firmware
  • Firmware and Devicetree
  • CPU architectures
  • Unsorted documentation
  • Translations

This Page

  • Show Source

Linux Firmware API¶

  • Introduction
    • Types of firmware requests
  • Firmware API core features
    • Firmware search paths
    • Built-in firmware
    • Firmware cache
    • Direct filesystem lookup
      • Firmware and initramfs
    • Fallback mechanisms
      • Justifying the firmware fallback mechanism
      • Types of fallback mechanisms
      • Firmware sysfs loading facility
        • firmware_fallback_sysfs
      • Firmware kobject uevent fallback mechanism
      • Firmware custom fallback mechanism
      • Firmware fallback timeout
      • EFI embedded firmware fallback mechanism
        • Example how to check for and extract embedded firmware
    • Firmware lookup order
    • Firmware Guidelines
  • UEFI Support
    • UEFI stub library functions
  • request_firmware API
    • Synchronous firmware requests
      • request_firmware
      • firmware_request_nowarn
      • firmware_request_platform
      • request_firmware_direct
      • request_firmware_into_buf
    • Asynchronous firmware requests
      • request_firmware_nowait
    • Special optimizations on reboot
      • firmware_request_cache()
    • request firmware API expected driver use
  • Firmware Upload API
    • Register for firmware upload
      • firmware_upload_register
      • firmware_upload_unregister
      • Firmware Upload Ops
      • Firmware Upload Progress Codes
      • Firmware Upload Error Codes
    • Sysfs Attributes
  • Other Firmware Interfaces
    • DMI Interfaces
    • EDD Interfaces
    • Generic System Framebuffers Interface
    • Intel Stratix10 SoC Service Layer
©The kernel development community. | Powered by Sphinx 5.3.0 & Alabaster 0.7.16 | Page source