firmware_loader: document firmware_sysfs_fallback()
This also sets the expecations for future fallback interfaces, even if they are not exported. Reviewed-by: Kees Cook <keescook@chromium.org> Signed-off-by: Luis R. Rodriguez <mcgrof@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
cf1cde7cd6
commit
84b5c4fec7
@ -662,6 +662,26 @@ static bool fw_run_sysfs_fallback(enum fw_opt opt_flags)
|
|||||||
return fw_force_sysfs_fallback(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,
|
int firmware_fallback_sysfs(struct firmware *fw, const char *name,
|
||||||
struct device *device,
|
struct device *device,
|
||||||
enum fw_opt opt_flags,
|
enum fw_opt opt_flags,
|
||||||
|
Loading…
Reference in New Issue
Block a user