1 // SPDX-License-Identifier: GPL-2.0 2 3 #include <linux/types.h> 4 #include <linux/kconfig.h> 5 #include <linux/list.h> 6 #include <linux/slab.h> 7 #include <linux/security.h> 8 #include <linux/highmem.h> 9 #include <linux/umh.h> 10 #include <linux/sysctl.h> 11 12 #include "fallback.h" 13 #include "firmware.h" 14 15 /* 16 * firmware fallback configuration table 17 */ 18 19 /* Module or buit-in */ 20 #ifdef CONFIG_FW_LOADER_USER_HELPER 21 22 static unsigned int zero; 23 static unsigned int one = 1; 24 25 struct firmware_fallback_config fw_fallback_config = { 26 .force_sysfs_fallback = IS_ENABLED(CONFIG_FW_LOADER_USER_HELPER_FALLBACK), 27 .loading_timeout = 60, 28 .old_timeout = 60, 29 }; 30 EXPORT_SYMBOL_GPL(fw_fallback_config); 31 32 struct ctl_table firmware_config_table[] = { 33 { 34 .procname = "force_sysfs_fallback", 35 .data = &fw_fallback_config.force_sysfs_fallback, 36 .maxlen = sizeof(unsigned int), 37 .mode = 0644, 38 .proc_handler = proc_douintvec_minmax, 39 .extra1 = &zero, 40 .extra2 = &one, 41 }, 42 { 43 .procname = "ignore_sysfs_fallback", 44 .data = &fw_fallback_config.ignore_sysfs_fallback, 45 .maxlen = sizeof(unsigned int), 46 .mode = 0644, 47 .proc_handler = proc_douintvec_minmax, 48 .extra1 = &zero, 49 .extra2 = &one, 50 }, 51 { } 52 }; 53 EXPORT_SYMBOL_GPL(firmware_config_table); 54 55 #endif 56