summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2011-08-01 17:52:07 +0000
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2011-08-01 17:52:07 +0000
commit157c107494098fa037072372ed7ff34484158308 (patch)
tree2ef1c5f1472b87a55f5156d64ef9409f6344d30f
parent0309435aa8cc62cb04bb7107fe850808c52a200e (diff)
mac80211: add missing chunks to the compat_firmware_class change
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27864 3c298f89-4303-0410-b956-a3cf2f4a3e73
-rw-r--r--package/mac80211/patches/050-compat_firmware.patch60
1 files changed, 60 insertions, 0 deletions
diff --git a/package/mac80211/patches/050-compat_firmware.patch b/package/mac80211/patches/050-compat_firmware.patch
index 4d96ca9f8..0fcee7631 100644
--- a/package/mac80211/patches/050-compat_firmware.patch
+++ b/package/mac80211/patches/050-compat_firmware.patch
@@ -15,3 +15,63 @@
# Compat kernel compatibility code
compat-$(CONFIG_COMPAT_KERNEL_2_6_14) += compat-2.6.14.o
compat-$(CONFIG_COMPAT_KERNEL_2_6_18) += compat-2.6.18.o
+--- a/compat/compat_firmware_class.c
++++ b/compat/compat_firmware_class.c
+@@ -729,19 +729,16 @@ 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(release_firmware);
+ EXPORT_SYMBOL(request_firmware);
+ EXPORT_SYMBOL(request_firmware_nowait);
+--- a/compat/main.c
++++ b/compat/main.c
+@@ -32,6 +32,14 @@ module_param(compat_version, charp, 0400
+ MODULE_PARM_DESC(compat_version,
+ "Version of the kernel compat backport work");
+
++#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) {}
++static inline void firmware_class_exit(void) {}
++#endif
++
+ static int __init compat_init(void)
+ {
+ /* pm-qos for kernels <= 2.6.24, this is a no-op on newer kernels */
+@@ -45,15 +53,15 @@ static int __init compat_init(void)
+ COMPAT_BASE_TREE " " COMPAT_BASE_TREE_VERSION
+ "\n");
+
+- return 0;
++ firmware_class_init();
++ return 0;
+ }
+ module_init(compat_init);
+
+ static void __exit compat_exit(void)
+ {
+ compat_pm_qos_power_deinit();
+-
+- return;
++ firmware_class_exit();
+ }
+ module_exit(compat_exit);
+