xref: /OK3568_Linux_fs/kernel/drivers/base/firmware_loader/fallback_table.c (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun // SPDX-License-Identifier: GPL-2.0
2*4882a593Smuzhiyun 
3*4882a593Smuzhiyun #include <linux/types.h>
4*4882a593Smuzhiyun #include <linux/kconfig.h>
5*4882a593Smuzhiyun #include <linux/list.h>
6*4882a593Smuzhiyun #include <linux/slab.h>
7*4882a593Smuzhiyun #include <linux/security.h>
8*4882a593Smuzhiyun #include <linux/highmem.h>
9*4882a593Smuzhiyun #include <linux/umh.h>
10*4882a593Smuzhiyun #include <linux/sysctl.h>
11*4882a593Smuzhiyun 
12*4882a593Smuzhiyun #include "fallback.h"
13*4882a593Smuzhiyun #include "firmware.h"
14*4882a593Smuzhiyun 
15*4882a593Smuzhiyun /*
16*4882a593Smuzhiyun  * firmware fallback configuration table
17*4882a593Smuzhiyun  */
18*4882a593Smuzhiyun 
19*4882a593Smuzhiyun struct firmware_fallback_config fw_fallback_config = {
20*4882a593Smuzhiyun 	.force_sysfs_fallback = IS_ENABLED(CONFIG_FW_LOADER_USER_HELPER_FALLBACK),
21*4882a593Smuzhiyun 	.loading_timeout = 60,
22*4882a593Smuzhiyun 	.old_timeout = 60,
23*4882a593Smuzhiyun };
24*4882a593Smuzhiyun EXPORT_SYMBOL_NS_GPL(fw_fallback_config, FIRMWARE_LOADER_PRIVATE);
25*4882a593Smuzhiyun 
26*4882a593Smuzhiyun #ifdef CONFIG_SYSCTL
27*4882a593Smuzhiyun struct ctl_table firmware_config_table[] = {
28*4882a593Smuzhiyun 	{
29*4882a593Smuzhiyun 		.procname	= "force_sysfs_fallback",
30*4882a593Smuzhiyun 		.data		= &fw_fallback_config.force_sysfs_fallback,
31*4882a593Smuzhiyun 		.maxlen         = sizeof(unsigned int),
32*4882a593Smuzhiyun 		.mode           = 0644,
33*4882a593Smuzhiyun 		.proc_handler   = proc_douintvec_minmax,
34*4882a593Smuzhiyun 		.extra1		= SYSCTL_ZERO,
35*4882a593Smuzhiyun 		.extra2		= SYSCTL_ONE,
36*4882a593Smuzhiyun 	},
37*4882a593Smuzhiyun 	{
38*4882a593Smuzhiyun 		.procname	= "ignore_sysfs_fallback",
39*4882a593Smuzhiyun 		.data		= &fw_fallback_config.ignore_sysfs_fallback,
40*4882a593Smuzhiyun 		.maxlen         = sizeof(unsigned int),
41*4882a593Smuzhiyun 		.mode           = 0644,
42*4882a593Smuzhiyun 		.proc_handler   = proc_douintvec_minmax,
43*4882a593Smuzhiyun 		.extra1		= SYSCTL_ZERO,
44*4882a593Smuzhiyun 		.extra2		= SYSCTL_ONE,
45*4882a593Smuzhiyun 	},
46*4882a593Smuzhiyun 	{ }
47*4882a593Smuzhiyun };
48*4882a593Smuzhiyun #endif
49