Hi, this is a patch set to add the support for loading compressed firmware files.
The primary motivation is to reduce the storage size; e.g. currently the amount of /lib/firmware on my machine counts up to 419MB, and this can be reduced to 130MB file compression. No bad deal. The feature adds only fallback to the compressed file, so it should work as it was as long as the normal firmware file is present. The f/w loader decompresses the content, so that there is no change needed in the caller side. Currently only XZ format is supported. A caveat is that the kernel XZ helper code supports only CRC32 (or none) integrity check type, so you'll have to compress the files via xz -C crc32 option. The patch set begins with a few other improvements and refactoring, followed by the compression support. In addition to this, dracut needs a small fix to deal with the *.xz files. Also, the latest patchset is found in topic/fw-decompress branch of my sound.git tree: git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git thanks, Takashi === Takashi Iwai (5): firmware: Free temporary page table after vmapping firmware: Unify the paged buffer release helper firmware: Use kvmalloc for page tables firmware: Factor out the paged buffer handling code firmware: Add support for loading compressed files drivers/base/firmware_loader/Kconfig | 18 +++ drivers/base/firmware_loader/fallback.c | 63 ++-------- drivers/base/firmware_loader/firmware.h | 16 ++- drivers/base/firmware_loader/main.c | 212 +++++++++++++++++++++++++++++--- 4 files changed, 235 insertions(+), 74 deletions(-) -- 2.16.4