.dev_release = fw_dev_release,
};
-#ifdef CONFIG_FW_LOADER_USER_HELPER
int register_sysfs_loader(void)
{
int ret = class_register(&firmware_class);
unregister_firmware_config_sysctl();
class_unregister(&firmware_class);
}
-#endif
static ssize_t firmware_loading_show(struct device *dev,
struct device_attribute *attr, char *buf)
{
fw_fallback_config.loading_timeout = timeout;
}
+#endif
+#ifdef CONFIG_FW_LOADER_SYSFS
int register_sysfs_loader(void);
void unregister_sysfs_loader(void);
-#ifdef CONFIG_SYSCTL
+#if defined(CONFIG_FW_LOADER_USER_HELPER) && defined(CONFIG_SYSCTL)
int register_firmware_config_sysctl(void);
void unregister_firmware_config_sysctl(void);
#else
}
static inline void unregister_firmware_config_sysctl(void) { }
-#endif /* CONFIG_SYSCTL */
-#else /* CONFIG_FW_LOADER_USER_HELPER */
+#endif /* CONFIG_FW_LOADER_USER_HELPER && CONFIG_SYSCTL */
+#else /* CONFIG_FW_LOADER_SYSFS */
static inline int register_sysfs_loader(void)
{
return 0;
static inline void unregister_sysfs_loader(void)
{
}
-#endif /* CONFIG_FW_LOADER_USER_HELPER */
+#endif /* CONFIG_FW_LOADER_SYSFS */
struct fw_sysfs {
bool nowait;