Merge tag 'driver-core-5.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core
Pull driver core updates from Greg KH: "Here is a small set of changes for 5.6-rc1 for the driver core and some firmware subsystem changes. Included in here are: - device.h splitup like you asked for months ago - devtmpfs minor cleanups - firmware core minor changes - debugfs fix for lockdown mode - kernfs cleanup fix - cpu topology minor fix All of these have been in linux-next for a while with no reported issues" * tag 'driver-core-5.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (22 commits) firmware: Rename FW_OPT_NOFALLBACK to FW_OPT_NOFALLBACK_SYSFS devtmpfs: factor out common tail of devtmpfs_{create,delete}_node devtmpfs: initify a bit devtmpfs: simplify initialization of mount_dev devtmpfs: factor out setup part of devtmpfsd() devtmpfs: fix theoretical stale pointer deref in devtmpfsd() driver core: platform: fix u32 greater or equal to zero comparison cpu-topology: Don't error on more than CONFIG_NR_CPUS CPUs in device tree debugfs: Return -EPERM when locked down driver core: Print device when resources present in really_probe() driver core: Fix test_async_driver_probe if NUMA is disabled driver core: platform: Prevent resouce overflow from causing infinite loops fs/kernfs/dir.c: Clean code by removing always true condition component: do not dereference opaque pointer in debugfs drivers/component: remove modular code debugfs: Fix warnings when building documentation device.h: move 'struct driver' stuff out to device/driver.h device.h: move 'struct class' stuff out to device/class.h device.h: move 'struct bus' stuff out to device/bus.h device.h: move dev_printk()-like functions to dev_printk.h ...
This commit is contained in:
@@ -606,7 +606,7 @@ static bool fw_run_sysfs_fallback(enum fw_opt opt_flags)
|
||||
return false;
|
||||
}
|
||||
|
||||
if ((opt_flags & FW_OPT_NOFALLBACK))
|
||||
if ((opt_flags & FW_OPT_NOFALLBACK_SYSFS))
|
||||
return false;
|
||||
|
||||
/* Also permit LSMs and IMA to fail firmware sysfs fallback */
|
||||
@@ -630,10 +630,11 @@ static bool fw_run_sysfs_fallback(enum fw_opt opt_flags)
|
||||
* interface. Userspace is in charge of loading the firmware through the sysfs
|
||||
* loading interface. This sysfs 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.
|
||||
* If this is false we check if the internal API caller set the
|
||||
* @FW_OPT_NOFALLBACK_SYSFS flag, if so it would also disable the fallback
|
||||
* mechanism. A system may want to enforce 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.
|
||||
**/
|
||||
|
@@ -27,16 +27,16 @@
|
||||
* firmware file lookup on storage is avoided. Used for calls where the
|
||||
* file may be too big, or where the driver takes charge of its own
|
||||
* firmware caching mechanism.
|
||||
* @FW_OPT_NOFALLBACK: Disable the fallback mechanism. Takes precedence over
|
||||
* &FW_OPT_UEVENT and &FW_OPT_USERHELPER.
|
||||
* @FW_OPT_NOFALLBACK_SYSFS: Disable the sysfs fallback mechanism. Takes
|
||||
* precedence over &FW_OPT_UEVENT and &FW_OPT_USERHELPER.
|
||||
*/
|
||||
enum fw_opt {
|
||||
FW_OPT_UEVENT = BIT(0),
|
||||
FW_OPT_NOWAIT = BIT(1),
|
||||
FW_OPT_USERHELPER = BIT(2),
|
||||
FW_OPT_NO_WARN = BIT(3),
|
||||
FW_OPT_NOCACHE = BIT(4),
|
||||
FW_OPT_NOFALLBACK = BIT(5),
|
||||
FW_OPT_UEVENT = BIT(0),
|
||||
FW_OPT_NOWAIT = BIT(1),
|
||||
FW_OPT_USERHELPER = BIT(2),
|
||||
FW_OPT_NO_WARN = BIT(3),
|
||||
FW_OPT_NOCACHE = BIT(4),
|
||||
FW_OPT_NOFALLBACK_SYSFS = BIT(5),
|
||||
};
|
||||
|
||||
enum fw_status {
|
||||
|
@@ -877,7 +877,7 @@ int request_firmware_direct(const struct firmware **firmware_p,
|
||||
__module_get(THIS_MODULE);
|
||||
ret = _request_firmware(firmware_p, name, device, NULL, 0,
|
||||
FW_OPT_UEVENT | FW_OPT_NO_WARN |
|
||||
FW_OPT_NOFALLBACK);
|
||||
FW_OPT_NOFALLBACK_SYSFS);
|
||||
module_put(THIS_MODULE);
|
||||
return ret;
|
||||
}
|
||||
|
Reference in New Issue
Block a user