~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/driver-api/firmware/firmware-usage-guidelines.rst

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 ===================
  2 Firmware Guidelines
  3 ===================
  4 
  5 Users switching to a newer kernel should *not* have to install newer
  6 firmware files to keep their hardware working. At the same time updated
  7 firmware files must not cause any regressions for users of older kernel
  8 releases.
  9 
 10 Drivers that use firmware from linux-firmware should follow the rules in
 11 this guide. (Where there is limited control of the firmware,
 12 i.e. company doesn't support Linux, firmwares sourced from misc places,
 13 then of course these rules will not apply strictly.)
 14 
 15 * Firmware files shall be designed in a way that it allows checking for
 16   firmware ABI version changes. It is recommended that firmware files be
 17   versioned with at least a major/minor version. It is suggested that
 18   the firmware files in linux-firmware be named with some device
 19   specific name, and just the major version. The firmware version should
 20   be stored in the firmware header, or as an exception, as part of the
 21   firmware file name, in order to let the driver detact any non-ABI
 22   fixes/changes. The firmware files in linux-firmware should be
 23   overwritten with the newest compatible major version. Newer major
 24   version firmware shall remain compatible with all kernels that load
 25   that major number.
 26 
 27 * If the kernel support for the hardware is normally inactive, or the
 28   hardware isn't available for public consumption, this can
 29   be ignored, until the first kernel release that enables that hardware.
 30   This means no major version bumps without the kernel retaining
 31   backwards compatibility for the older major versions.  Minor version
 32   bumps should not introduce new features that newer kernels depend on
 33   non-optionally.
 34 
 35 * If a security fix needs lockstep firmware and kernel fixes in order to
 36   be successful, then all supported major versions in the linux-firmware
 37   repo that are required by currently supported stable/LTS kernels,
 38   should be updated with the security fix. The kernel patches should
 39   detect if the firmware is new enough to declare if the security issue
 40   is fixed.  All communications around security fixes should point at
 41   both the firmware and kernel fixes. If a security fix requires
 42   deprecating old major versions, then this should only be done as a
 43   last option, and be stated clearly in all communications.
 44 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php