xref: /linux/drivers/base/firmware_loader/fallback_table.c (revision 2cd7a1c6dcd33e7c1a82b254871230f29866d4e9)
15d6d1dddSLuis R. Rodriguez // SPDX-License-Identifier: GPL-2.0
25d6d1dddSLuis R. Rodriguez 
35d6d1dddSLuis R. Rodriguez #include <linux/types.h>
45d6d1dddSLuis R. Rodriguez #include <linux/kconfig.h>
55d6d1dddSLuis R. Rodriguez #include <linux/list.h>
65d6d1dddSLuis R. Rodriguez #include <linux/slab.h>
75d6d1dddSLuis R. Rodriguez #include <linux/security.h>
85d6d1dddSLuis R. Rodriguez #include <linux/highmem.h>
95d6d1dddSLuis R. Rodriguez #include <linux/umh.h>
105d6d1dddSLuis R. Rodriguez #include <linux/sysctl.h>
115d6d1dddSLuis R. Rodriguez 
125d6d1dddSLuis R. Rodriguez #include "fallback.h"
135d6d1dddSLuis R. Rodriguez #include "firmware.h"
145d6d1dddSLuis R. Rodriguez 
155d6d1dddSLuis R. Rodriguez /*
165d6d1dddSLuis R. Rodriguez  * firmware fallback configuration table
175d6d1dddSLuis R. Rodriguez  */
185d6d1dddSLuis R. Rodriguez 
195d6d1dddSLuis R. Rodriguez /* Module or buit-in */
205d6d1dddSLuis R. Rodriguez #ifdef CONFIG_FW_LOADER_USER_HELPER
215d6d1dddSLuis R. Rodriguez 
22ceb18132SLuis R. Rodriguez static unsigned int zero;
23ceb18132SLuis R. Rodriguez static unsigned int one = 1;
24ceb18132SLuis R. Rodriguez 
255d6d1dddSLuis R. Rodriguez struct firmware_fallback_config fw_fallback_config = {
265d6d1dddSLuis R. Rodriguez 	.force_sysfs_fallback = IS_ENABLED(CONFIG_FW_LOADER_USER_HELPER_FALLBACK),
275d6d1dddSLuis R. Rodriguez 	.loading_timeout = 60,
285d6d1dddSLuis R. Rodriguez 	.old_timeout = 60,
295d6d1dddSLuis R. Rodriguez };
305d6d1dddSLuis R. Rodriguez EXPORT_SYMBOL_GPL(fw_fallback_config);
315d6d1dddSLuis R. Rodriguez 
32ceb18132SLuis R. Rodriguez struct ctl_table firmware_config_table[] = {
33ceb18132SLuis R. Rodriguez 	{
34ceb18132SLuis R. Rodriguez 		.procname	= "force_sysfs_fallback",
35ceb18132SLuis R. Rodriguez 		.data		= &fw_fallback_config.force_sysfs_fallback,
36ceb18132SLuis R. Rodriguez 		.maxlen         = sizeof(unsigned int),
37ceb18132SLuis R. Rodriguez 		.mode           = 0644,
38ceb18132SLuis R. Rodriguez 		.proc_handler   = proc_douintvec_minmax,
39ceb18132SLuis R. Rodriguez 		.extra1		= &zero,
40ceb18132SLuis R. Rodriguez 		.extra2		= &one,
41ceb18132SLuis R. Rodriguez 	},
42*2cd7a1c6SLuis R. Rodriguez 	{
43*2cd7a1c6SLuis R. Rodriguez 		.procname	= "ignore_sysfs_fallback",
44*2cd7a1c6SLuis R. Rodriguez 		.data		= &fw_fallback_config.ignore_sysfs_fallback,
45*2cd7a1c6SLuis R. Rodriguez 		.maxlen         = sizeof(unsigned int),
46*2cd7a1c6SLuis R. Rodriguez 		.mode           = 0644,
47*2cd7a1c6SLuis R. Rodriguez 		.proc_handler   = proc_douintvec_minmax,
48*2cd7a1c6SLuis R. Rodriguez 		.extra1		= &zero,
49*2cd7a1c6SLuis R. Rodriguez 		.extra2		= &one,
50*2cd7a1c6SLuis R. Rodriguez 	},
51ceb18132SLuis R. Rodriguez 	{ }
52ceb18132SLuis R. Rodriguez };
53ceb18132SLuis R. Rodriguez EXPORT_SYMBOL_GPL(firmware_config_table);
54ceb18132SLuis R. Rodriguez 
555d6d1dddSLuis R. Rodriguez #endif
56