| // SPDX-License-Identifier: GPL-2.0 | |
| #include <linux/types.h> | |
| #include <linux/kconfig.h> | |
| #include <linux/list.h> | |
| #include <linux/slab.h> | |
| #include <linux/security.h> | |
| #include <linux/highmem.h> | |
| #include <linux/umh.h> | |
| #include <linux/sysctl.h> | |
| #include "fallback.h" | |
| #include "firmware.h" | |
| /* | |
| * firmware fallback configuration table | |
| */ | |
| /* Module or buit-in */ | |
| #ifdef CONFIG_FW_LOADER_USER_HELPER | |
| static unsigned int zero; | |
| static unsigned int one = 1; | |
| struct firmware_fallback_config fw_fallback_config = { | |
| .force_sysfs_fallback = IS_ENABLED(CONFIG_FW_LOADER_USER_HELPER_FALLBACK), | |
| .loading_timeout = 60, | |
| .old_timeout = 60, | |
| }; | |
| EXPORT_SYMBOL_GPL(fw_fallback_config); | |
| struct ctl_table firmware_config_table[] = { | |
| { | |
| .procname = "force_sysfs_fallback", | |
| .data = &fw_fallback_config.force_sysfs_fallback, | |
| .maxlen = sizeof(unsigned int), | |
| .mode = 0644, | |
| .proc_handler = proc_douintvec_minmax, | |
| .extra1 = &zero, | |
| .extra2 = &one, | |
| }, | |
| { | |
| .procname = "ignore_sysfs_fallback", | |
| .data = &fw_fallback_config.ignore_sysfs_fallback, | |
| .maxlen = sizeof(unsigned int), | |
| .mode = 0644, | |
| .proc_handler = proc_douintvec_minmax, | |
| .extra1 = &zero, | |
| .extra2 = &one, | |
| }, | |
| { } | |
| }; | |
| EXPORT_SYMBOL_GPL(firmware_config_table); | |
| #endif |