From: "Luis R. Rodriguez" <mcgrof@kernel•org>
To: gregkh@linuxfoundation•org
Cc: akpm@linux-foundation•org, keescook@chromium•org,
josh@joshtriplett•org, maco@android•com, andy.gross@linaro•org,
david.brown@linaro•org, bjorn.andersson@linaro•org, teg@jklm•no,
wagi@monom•org, hdegoede@redhat•com, andresx7@gmail•com,
zohar@linux•vnet.ibm.com, kubakici@wp•pl, shuah@kernel•org,
mfuzzey@parkeon•com, dhowells@redhat•com, pali.rohar@gmail•com,
tiwai@suse•de, kvalo@codeaurora•org,
arend.vanspriel@broadcom•com, zajec5@gmail•com, nbroeking@me•com,
markivx@codeaurora•org, broonie@kernel•org,
dmitry.torokhov@gmail•com, dwmw2@infradead•org,
torvalds@linux-foundation•org, Abhay_Salunke@dell•com,
jewalt@lgsinnovations•com, oneukum@suse•com,
cantabile.desu@gmail•com, ast@fb•com, hare@suse•com,
jejb@linux•vnet.ibm.com, martin.petersen@oracle•com,
khc@pm•waw.pl, davem@davemloft.
Subject: [PATCH v6 04/13] firmware_loader: document firmware_sysfs_fallback()
Date: Tue, 8 May 2018 11:12:38 -0700 [thread overview]
Message-ID: <20180508181247.19431-5-mcgrof@kernel.org> (raw)
In-Reply-To: <20180508181247.19431-1-mcgrof@kernel.org>
This also sets the expecations for future fallback interfaces, even
if they are not exported.
Signed-off-by: Luis R. Rodriguez <mcgrof@kernel•org>
---
drivers/base/firmware_loader/fallback.c | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
diff --git a/drivers/base/firmware_loader/fallback.c b/drivers/base/firmware_loader/fallback.c
index 3db9e0f225ac..9169e7b9800c 100644
--- a/drivers/base/firmware_loader/fallback.c
+++ b/drivers/base/firmware_loader/fallback.c
@@ -662,6 +662,26 @@ static bool fw_run_sysfs_fallback(enum fw_opt opt_flags)
return fw_force_sysfs_fallback(opt_flags);
}
+/**
+ * firmware_fallback_sysfs() - use the fallback mechanism to find firmware
+ * @fw: pointer to firmware image
+ * @name: name of firmware file to look for
+ * @device: device for which firmware is being loaded
+ * @opt_flags: options to control firmware loading behaviour
+ * @ret: return value from direct lookup which triggered the fallback mechanism
+ *
+ * This function is called if direct lookup for the firmware failed, it enables
+ * a fallback mechanism through userspace by exposing a sysfs loading
+ * interface. Userspace is in charge of loading the firmware through the syfs
+ * loading interface. This syfs fallback mechanism may be disabled completely
+ * on a system by setting the proc sysctl value ignore_sysfs_fallback to true.
+ * If this false we check if the internal API caller set the @FW_OPT_NOFALLBACK
+ * flag, if so it would also disable the fallback mechanism. A system may want
+ * to enfoce the sysfs fallback mechanism at all times, it can do this by
+ * setting ignore_sysfs_fallback to false and force_sysfs_fallback to true.
+ * Enabling force_sysfs_fallback is functionally equivalent to build a kernel
+ * with CONFIG_FW_LOADER_USER_HELPER_FALLBACK.
+ **/
int firmware_fallback_sysfs(struct firmware *fw, const char *name,
struct device *device,
enum fw_opt opt_flags,
--
2.17.0
next prev parent reply other threads:[~2018-05-08 18:12 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-05-08 18:12 [PATCH v6 00/13] firmware_loader changes for v4.18 Luis R. Rodriguez
2018-05-08 18:12 ` [PATCH v6 01/13] firmware: wrap FW_OPT_* into an enum Luis R. Rodriguez
2018-05-08 18:12 ` [PATCH v6 02/13] firmware: use () to terminate kernel-doc function names Luis R. Rodriguez
2018-05-08 18:12 ` [PATCH v6 03/13] firmware: rename fw_sysfs_fallback to firmware_fallback_sysfs() Luis R. Rodriguez
2018-05-08 18:12 ` Luis R. Rodriguez [this message]
2018-05-08 18:12 ` [PATCH v6 05/13] firmware_loader: enhance Kconfig documentation over FW_LOADER Luis R. Rodriguez
2018-05-08 22:42 ` Kees Cook
2018-05-09 20:55 ` Luis R. Rodriguez
2018-05-09 23:01 ` Kees Cook
2018-05-08 18:12 ` [PATCH v6 06/13] firmware_loader: move kconfig FW_LOADER entries to its own file Luis R. Rodriguez
2018-05-08 18:12 ` [PATCH v6 07/13] firmware_loader: make firmware_fallback_sysfs() print more useful Luis R. Rodriguez
2018-05-08 18:12 ` [PATCH v6 08/13] firmware: add firmware_request_nowarn() - load firmware without warnings Luis R. Rodriguez
2018-05-08 18:12 ` [PATCH v6 09/13] ath10k: use firmware_request_nowarn() to load firmware Luis R. Rodriguez
2018-05-08 18:12 ` [PATCH v6 10/13] ath10k: re-enable the firmware fallback mechanism for testmode Luis R. Rodriguez
2018-05-08 18:12 ` [PATCH v6 11/13] Documentation: fix few typos and clarifications for the firmware loader Luis R. Rodriguez
2018-05-08 18:12 ` [PATCH v6 12/13] Documentation: remove stale firmware API reference Luis R. Rodriguez
2018-05-09 15:12 ` Mauro Carvalho Chehab
2018-05-09 19:43 ` Luis R. Rodriguez
2018-05-08 18:12 ` [PATCH v6 13/13] Documentation: clarify firmware_class provenance and why we can't rename the module Luis R. Rodriguez
2018-05-08 18:53 ` Andres Rodriguez
2018-05-09 13:21 ` Mauro Carvalho Chehab
2018-05-08 22:45 ` [PATCH v6 00/13] firmware_loader changes for v4.18 Kees Cook
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=20180508181247.19431-5-mcgrof@kernel.org \
--to=mcgrof@kernel$(echo .)org \
--cc=Abhay_Salunke@dell$(echo .)com \
--cc=akpm@linux-foundation$(echo .)org \
--cc=andresx7@gmail$(echo .)com \
--cc=andy.gross@linaro$(echo .)org \
--cc=arend.vanspriel@broadcom$(echo .)com \
--cc=ast@fb$(echo .)com \
--cc=bjorn.andersson@linaro$(echo .)org \
--cc=broonie@kernel$(echo .)org \
--cc=cantabile.desu@gmail$(echo .)com \
--cc=davem@davemloft. \
--cc=david.brown@linaro$(echo .)org \
--cc=dhowells@redhat$(echo .)com \
--cc=dmitry.torokhov@gmail$(echo .)com \
--cc=dwmw2@infradead$(echo .)org \
--cc=gregkh@linuxfoundation$(echo .)org \
--cc=hare@suse$(echo .)com \
--cc=hdegoede@redhat$(echo .)com \
--cc=jejb@linux$(echo .)vnet.ibm.com \
--cc=jewalt@lgsinnovations$(echo .)com \
--cc=josh@joshtriplett$(echo .)org \
--cc=keescook@chromium$(echo .)org \
--cc=khc@pm$(echo .)waw.pl \
--cc=kubakici@wp$(echo .)pl \
--cc=kvalo@codeaurora$(echo .)org \
--cc=maco@android$(echo .)com \
--cc=markivx@codeaurora$(echo .)org \
--cc=martin.petersen@oracle$(echo .)com \
--cc=mfuzzey@parkeon$(echo .)com \
--cc=nbroeking@me$(echo .)com \
--cc=oneukum@suse$(echo .)com \
--cc=pali.rohar@gmail$(echo .)com \
--cc=shuah@kernel$(echo .)org \
--cc=teg@jklm$(echo .)no \
--cc=tiwai@suse$(echo .)de \
--cc=torvalds@linux-foundation$(echo .)org \
--cc=wagi@monom$(echo .)org \
--cc=zajec5@gmail$(echo .)com \
--cc=zohar@linux$(echo .)vnet.ibm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox