aboutsummaryrefslogtreecommitdiffstats
path: root/package/mac80211/patches/050-compat_firmware.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/mac80211/patches/050-compat_firmware.patch')
-rw-r--r--package/mac80211/patches/050-compat_firmware.patch78
1 files changed, 78 insertions, 0 deletions
diff --git a/package/mac80211/patches/050-compat_firmware.patch b/package/mac80211/patches/050-compat_firmware.patch
new file mode 100644
index 000000000..e4b91a316
--- /dev/null
+++ b/package/mac80211/patches/050-compat_firmware.patch
@@ -0,0 +1,78 @@
+--- a/compat/Makefile
++++ b/compat/Makefile
+@@ -1,7 +1,10 @@
+ obj-m += compat.o
+ #compat-objs :=
+
+-obj-$(CONFIG_COMPAT_FIRMWARE_CLASS) += compat_firmware_class.o
++ifdef CONFIG_COMPAT_FIRMWARE_CLASS
++ compat-y += compat_firmware_class.o
++endif
++
+ obj-$(CONFIG_COMPAT_NET_SCH_CODEL) += sch_codel.o
+
+ sch_fq_codel-y = sch_fq_codel_core.o flow_dissector.o
+--- a/compat/compat_firmware_class.c
++++ b/compat/compat_firmware_class.c
+@@ -741,19 +741,16 @@ compat_request_firmware_nowait(
+ return 0;
+ }
+
+-static int __init firmware_class_init(void)
++int __init firmware_class_init(void)
+ {
+ return class_register(&firmware_class);
+ }
+
+-static void __exit firmware_class_exit(void)
++void __exit firmware_class_exit(void)
+ {
+ class_unregister(&firmware_class);
+ }
+
+-fs_initcall(firmware_class_init);
+-module_exit(firmware_class_exit);
+-
+ EXPORT_SYMBOL_GPL(release_firmware);
+ EXPORT_SYMBOL_GPL(request_firmware);
+ EXPORT_SYMBOL_GPL(request_firmware_nowait);
+--- a/compat/main.c
++++ b/compat/main.c
+@@ -47,6 +47,17 @@ void compat_dependency_symbol(void)
+ EXPORT_SYMBOL_GPL(compat_dependency_symbol);
+
+
++#if defined(CONFIG_FW_LOADER) && (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,33))
++int __init firmware_class_init(void);
++void __exit firmware_class_exit(void);
++#else
++static inline int firmware_class_init(void)
++{
++ return 0;
++}
++static inline void firmware_class_exit(void) {}
++#endif
++
+ static int __init compat_init(void)
+ {
+ compat_pm_qos_power_init();
+@@ -63,7 +74,8 @@ static int __init compat_init(void)
+ printk(KERN_INFO "compat.git: "
+ COMPAT_BASE_TREE "\n");
+
+- return 0;
++ firmware_class_init();
++ return 0;
+ }
+ module_init(compat_init);
+
+@@ -72,7 +84,8 @@ static void __exit compat_exit(void)
+ compat_pm_qos_power_deinit();
+ compat_system_workqueue_destroy();
+
+- return;
++ firmware_class_exit();
++ return;
+ }
+ module_exit(compat_exit);
+