Received: by 2002:a05:7412:d002:b0:f9:9049:d2ea with SMTP id bd2csp13484rdb; Wed, 20 Dec 2023 02:27:26 -0800 (PST) X-Google-Smtp-Source: AGHT+IG7pG7KvqP6rl9OIk8HtwitssBhdTZ2ifvKxzPK6M0EG499Af34KHtkW4FxtrmnLhR27d7E X-Received: by 2002:a17:906:141b:b0:a23:6ba3:b61e with SMTP id p27-20020a170906141b00b00a236ba3b61emr1831463ejc.61.1703068046493; Wed, 20 Dec 2023 02:27:26 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1703068046; cv=none; d=google.com; s=arc-20160816; b=M2zAKvuGODYNk6ZZLVSB0yW8OB+Wv0zenI6FamtuBwtXCigXqK2XsX2mh0C77UKHZr y19v88OGqlfcKfexdqIyvkYwnc8Xd0QiRCM986g7PD9mpFb+EJnXp1k27/dbrmIni1c8 IGl+Y8ym3os+hEvYE/5qWNfEscNiBW7KtL7jKytwGE23ZZR0KnkYZgOvhRkb9x44ihOe jiBcxHA9XvUNPSJx9xwxBLiio3LusDn4v6U492XPNsvSQ1msFn7o9q099W5zgOKSFpLk GGsxzu7dnf1g6lOuzd6aoWNxRZpUSofE9vFrVqHTZEydCdn5T2kkMrruw52AUx7BBfiv n1Kw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:message-id:date:subject:cc:to :from:dkim-signature; bh=sXgD/C7+n9GFUr4X32uVLAXUHnqozSqAdlFPze07R10=; fh=IFZF38oqnyQc77cdl7owddT1EUGoyliAznsBCdMtDHs=; b=VWYq+3gxNFKyzv5a9v/9wS+WKal3irgPmjrkqje0COj9ktZBCZVle2OoC7BP16XQ90 bvK2t0sOCO4PPTF5zaou3AlBqsr7iZ4WeufpYJujUgJcf1ItJnswuykNmkJY8OzZwuK3 xOh+fzuVz0ADslqCc7xhJlMdYqv23JvYj6D5oiaWrzVfoRb4AIk14vBkeBLM7mxOvioA PW+l3hOabbL+d/a/5F/w9K6iqQ8y3iBI0TCSLGY7cILeC3ZXsbNsjXU5p/kXSsqVvBgh kEckfDCnLk6x/YpEDJDq0SxoicQsLAZvzduv0JGPFUESYRnrjZz5oDRAj6vrFyBcbwg5 bnSg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=hCper4AP; spf=pass (google.com: domain of linux-kernel+bounces-6738-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) smtp.mailfrom="linux-kernel+bounces-6738-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from am.mirrors.kernel.org (am.mirrors.kernel.org. [147.75.80.249]) by mx.google.com with ESMTPS id r15-20020a1709067fcf00b00a2688f2ea1esi845699ejs.887.2023.12.20.02.27.26 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 20 Dec 2023 02:27:26 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-6738-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) client-ip=147.75.80.249; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=hCper4AP; spf=pass (google.com: domain of linux-kernel+bounces-6738-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) smtp.mailfrom="linux-kernel+bounces-6738-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by am.mirrors.kernel.org (Postfix) with ESMTPS id 036C41F22582 for ; Wed, 20 Dec 2023 10:26:20 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 1CF782031D; Wed, 20 Dec 2023 10:26:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="hCper4AP" X-Original-To: linux-kernel@vger.kernel.org Received: from mail-yw1-f181.google.com (mail-yw1-f181.google.com [209.85.128.181]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1B8AD200D3; Wed, 20 Dec 2023 10:26:08 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-yw1-f181.google.com with SMTP id 00721157ae682-5d3758fdd2eso44959817b3.0; Wed, 20 Dec 2023 02:26:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1703067968; x=1703672768; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=sXgD/C7+n9GFUr4X32uVLAXUHnqozSqAdlFPze07R10=; b=hCper4APwEPAZnjqrit5sQNAaLuDYnaRLJU7Lw64qRJk7SB7ch3yPSb/lLOdB3gjFV yDKki6FA5BYgR5ngJN44HFqZ9hQKV+k0e9Fiq1nOkbAmACE/2kr+QNcWqgYEvJ8BawVS ZW8OiUekDXOn7yIzPAhBE3HeLV5f//xTiigCbmECJU3dvFzR4y5c9LqQdHNwXq5k+eZw ZDfVAjjpYzQ1YMXz9uQ0jF9vrhbM/lyf1WTQSHCYqLj7TegRuQBTPlvP08yC0gtyz1q/ Qh4Ul2JmSB2/97URxL1m7BEiiBN51cJuu8OZyFxjrrET+bBTRTaMp2A3rG9eiLDayPkf Wkkw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1703067968; x=1703672768; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=sXgD/C7+n9GFUr4X32uVLAXUHnqozSqAdlFPze07R10=; b=O2hV679FCaJPe80p24CVLRISJqXO9m/ixvhnHf0D/vapcYWjebt/1FaAemIo2sO1ld vcTnscHvFGmBYfo1X9R/mnTQGHqtJvFxhsejvOZaJ+6JkWvo9H3jI6XoTUKJsw7yeStr QdilTWbrwbAWu4oGYDCb+bQWCgwpZZ13wignRCquN2H9eC5lSFZ+DSii25eKnCW1o0Q9 rlc0AUNbqMJktOUgosPY7yKPYv/EwMq8DaXIcv/f3lxhm5hTud0yjLKQXps8uk0durwi p1FJ1RPI5gpYoAu3vRbPbdcV8BTXpOxYJxRHA5m1WlqLOyyWSFu25o8iLEYUjkNhCeVc AsHg== X-Gm-Message-State: AOJu0Yyyu6fAQx5MXovXE16c4MdpbChP8dMp9dRIdTbaWUMN1JJ636G+ YaGSz1QJPgxmkES9Xk3YqjU= X-Received: by 2002:a81:df0b:0:b0:5d9:1524:e315 with SMTP id c11-20020a81df0b000000b005d91524e315mr15319641ywn.17.1703067967969; Wed, 20 Dec 2023 02:26:07 -0800 (PST) Received: from localhost ([185.215.181.26]) by smtp.gmail.com with ESMTPSA id ez6-20020a05690c308600b005d997db3b2fsm446136ywb.23.2023.12.20.02.26.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 20 Dec 2023 02:26:07 -0800 (PST) From: Kevin Martin To: joeyzerocrash@protonmail.com, Luis Chamberlain , Russ Weight , Greg Kroah-Hartman , "Rafael J. Wysocki" , Masahiro Yamada , Nathan Chancellor , Nick Desaulniers , Nicolas Schier , linux-kbuild@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Kevin Martin Subject: [PATCH 0/2] Enable compressed files in EXTRA_FIRMWARE Date: Wed, 20 Dec 2023 05:22:49 -0500 Message-ID: X-Mailer: git-send-email 2.41.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit The linux-firmware packages on Gentoo, Fedora, Arch, and others compress the firmware files. This works well with CONFIG_FW_LOADER_COMPRESS, but does not work with CONFIG_EXTRA_FIRMWARE. This patch allows the build system to decompress firmware files specified by CONFIG_EXTRA_FIRMWARE. PATCH 1/2 adds decompression routines next to the compression routines in scripts/Makefile.lib. That patch is then used by PATCH 2/2 to decompress files before compiling them into the kernel. The patch works by copying or decompressing the specified firmware files into the build directory, then compiling them in from there. I would prefer to not copy any uncompressed files, but I have not found a clean way to do that. Kevin Martin (2): kbuild: Enable decompression for use by EXTRA_FIRMWARE The build system can currently only compress files. This patch adds the functionality to decompress files. Decompression is needed for building firmware files into the kernel if those files are compressed on the filesystem. Compressed firmware files are in use by Gentoo, Fedora, Arch, and others. firmware_loader: Enable compressed files with EXTRA_FIRMWARE The linux-firmware packages on Gentoo, Fedora, Arch, and others compress the firmware files. This works well with CONFIG_FW_LOADER_COMPRESS but does not work with CONFIG_EXTRA_FIRMWARE. This patch allows the build system to decompress firmware files specified by CONFIG_EXTRA_FIRMWARE. Uncompressed files are used first, then the compressed files are used. drivers/base/firmware_loader/Kconfig | 5 ++++- drivers/base/firmware_loader/builtin/Makefile | 16 ++++++++++++---- scripts/Makefile.lib | 6 ++++++ 3 files changed, 22 insertions(+), 5 deletions(-) -- 2.41.0