From: Dave Airlie <airlied@gmail.com>
To: dri-devel@lists.freedesktop.org
Cc: Dave Airlie <airlied@redhat.com>,
Luis Chamberlain <mcgrof@kernel.org>,
linux-modules@vger.kernel.org
Subject: [PATCH 2/2] modules/firmware: add a new option to denote a firmware group to choose one.
Date: Wed, 26 Apr 2023 14:29:06 +1000 [thread overview]
Message-ID: <20230426042906.724352-2-airlied@gmail.com> (raw)
In-Reply-To: <20230426042906.724352-1-airlied@gmail.com>
From: Dave Airlie <airlied@redhat.com>
This adds a tag that will go into the module info, only one firmware from
the group given needs to be available for this driver to work. This allows
dracut to avoid adding in firmware that aren't needed.
This just brackets a module list in the modinfo, the modules in the list
will get entries in reversed order so the last module in the list is the
preferred one.
The corresponding dracut code it at:
https://github.com/dracutdevs/dracut/pull/2309
Cc: Luis Chamberlain <mcgrof@kernel.org>
Cc: linux-modules@vger.kernel.org
Cc: dri-devel@lists.freedesktop.org
Signed-off-by: Dave Airlie <airlied@redhat.com>
---
include/linux/module.h | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)
diff --git a/include/linux/module.h b/include/linux/module.h
index f9d072a7e198..d3e7085cedd0 100644
--- a/include/linux/module.h
+++ b/include/linux/module.h
@@ -306,6 +306,28 @@ extern typeof(name) __mod_##type##__##name##_device_table \
*/
#define MODULE_FIRMWARE(_firmware) MODULE_INFO(firmware, _firmware)
+/**
+ * MODULE_FIRMWARE_GROUP_ONLY_ONE - Create a need only one firmware group
+ * @_grpname: group name
+ *
+ * This creates a group of which the driver only needs one firmware installed.
+ * This is to allow dracut to limit the number of firmwares in the initramfs.
+ * This just creates a new entry in the modinfo section, there should be one
+ * of these entries bracketing the group of MODULE_INFO lines.
+ * Due to how modinfo is constructed the ordering of the modinfo means the
+ * last module info in the group will end up being the first one dracut will
+ * search for, so place the newest firmware last.
+ *
+ * ``MODULE_FIRMWARE_GROUP_ONLY_ONE("mygroup")``
+ *
+ * ``MODULE_FIRMWARE("firmwarev1")``
+ *
+ * ``MODULE_FIRMWARE("firmwarev2")``
+ *
+ * ``MODULE_FIRMWARE_GROUP_ONLY_ONE("mygroup")``
+ */
+#define MODULE_FIRMWARE_GROUP_ONLY_ONE(_grpname) MODULE_INFO(firmware_group_only_one, _grpname)
+
/**
* MODULE_IMPORT_NS - Set the symbol namespace for the module.
* @ns: symbol namespace to import the module into.
--
2.39.2
next prev parent reply other threads:[~2023-04-26 4:29 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-04-26 4:29 [PATCH 1/2] docs: module: start adding some docs for MODULE_ macros Dave Airlie
2023-04-26 4:29 ` Dave Airlie
2023-04-26 4:29 ` Dave Airlie [this message]
2023-04-26 14:25 ` [PATCH 2/2] modules/firmware: add a new option to denote a firmware group to choose one Alex Deucher
2023-04-26 14:25 ` Alex Deucher
2023-06-22 21:12 ` Randy Dunlap
2023-06-30 23:09 ` Luis Chamberlain
2023-06-30 23:09 ` Luis Chamberlain
2023-06-22 21:14 ` [PATCH 1/2] docs: module: start adding some docs for MODULE_ macros Randy Dunlap
2023-06-22 21:14 ` Randy Dunlap
-- strict thread matches above, loose matches on Subject: below --
2023-07-04 2:50 modules: firmware groups attempt two Dave Airlie
2023-07-04 2:50 ` [PATCH 2/2] modules/firmware: add a new option to denote a firmware group to choose one Dave Airlie
2023-07-07 18:41 ` Luis Chamberlain
2023-07-07 18:41 ` Luis Chamberlain
2023-07-17 19:41 ` Lucas De Marchi
2023-07-17 19:41 ` Lucas De Marchi
2023-07-18 0:52 ` David Airlie
2023-07-18 0:52 ` David Airlie
2023-07-18 12:28 ` Lucas De Marchi
2023-07-18 12:28 ` Lucas De Marchi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230426042906.724352-2-airlied@gmail.com \
--to=airlied@gmail.com \
--cc=airlied@redhat.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=linux-modules@vger.kernel.org \
--cc=mcgrof@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.