From: nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Date: Mon, 18 Jan 2010 14:18:08 +0000 (+0000)
Subject: mac80211: fix firmware compat stuff for 2.6.32
X-Git-Url: https://git.rohieb.name/openwrt.git/commitdiff_plain/ba5966123758fdcb73b227c334de42c4a9a5e418

mac80211: fix firmware compat stuff for 2.6.32

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19222 3c298f89-4303-0410-b956-a3cf2f4a3e73
---

diff --git a/package/mac80211/patches/100-compat_firmware.patch b/package/mac80211/patches/100-compat_firmware.patch
new file mode 100644
index 000000000..18ab55f71
--- /dev/null
+++ b/package/mac80211/patches/100-compat_firmware.patch
@@ -0,0 +1,103 @@
+--- a/include/linux/compat-2.6.32.h
++++ b/include/linux/compat-2.6.32.h
+@@ -9,40 +9,6 @@
+ #include <linux/compat.h>
+ #include <net/iw_handler.h>
+ #include <linux/workqueue.h>
+-#include <linux/firmware.h>
+-
+-#define release_firmware compat_release_firmware
+-#define request_firmware compat_request_firmware
+-#define request_firmware_nowait compat_request_firmware_nowait
+-
+-#if defined(CONFIG_FW_LOADER) || (defined(CONFIG_FW_LOADER_MODULE) && defined(MODULE))
+-int compat_request_firmware(const struct firmware **fw, const char *name,
+-		     struct device *device);
+-int compat_request_firmware_nowait(
+-	struct module *module, int uevent,
+-	const char *name, struct device *device, gfp_t gfp, void *context,
+-	void (*cont)(const struct firmware *fw, void *context));
+-
+-void compat_release_firmware(const struct firmware *fw);
+-#else
+-static inline int compat_request_firmware(const struct firmware **fw,
+-				   const char *name,
+-				   struct device *device)
+-{
+-	return -EINVAL;
+-}
+-static inline int request_firmware_nowait(
+-	struct module *module, int uevent,
+-	const char *name, struct device *device, gfp_t gfp, void *context,
+-	void (*cont)(const struct firmware *fw, void *context))
+-{
+-	return -EINVAL;
+-}
+-
+-static inline void compat_release_firmware(const struct firmware *fw)
+-{
+-}
+-#endif
+ 
+ #define SDIO_VENDOR_ID_INTEL			0x0089
+ #define SDIO_DEVICE_ID_INTEL_IWMC3200WIMAX	0x1402
+--- a/include/linux/compat-2.6.33.h
++++ b/include/linux/compat-2.6.33.h
+@@ -10,6 +10,40 @@
+ #include <pcmcia/cistpl.h>
+ #include <pcmcia/ds.h>
+ #include <linux/kfifo.h>
++#include <linux/firmware.h>
++
++#define release_firmware compat_release_firmware
++#define request_firmware compat_request_firmware
++#define request_firmware_nowait compat_request_firmware_nowait
++
++#if defined(CONFIG_FW_LOADER) || defined(CONFIG_FW_LOADER_MODULE)
++int compat_request_firmware(const struct firmware **fw, const char *name,
++		     struct device *device);
++int compat_request_firmware_nowait(
++	struct module *module, int uevent,
++	const char *name, struct device *device, gfp_t gfp, void *context,
++	void (*cont)(const struct firmware *fw, void *context));
++
++void compat_release_firmware(const struct firmware *fw);
++#else
++static inline int compat_request_firmware(const struct firmware **fw,
++				   const char *name,
++				   struct device *device)
++{
++	return -EINVAL;
++}
++static inline int request_firmware_nowait(
++	struct module *module, int uevent,
++	const char *name, struct device *device, gfp_t gfp, void *context,
++	void (*cont)(const struct firmware *fw, void *context))
++{
++	return -EINVAL;
++}
++
++static inline void compat_release_firmware(const struct firmware *fw)
++{
++}
++#endif
+ 
+ #define IFF_DONT_BRIDGE 0x800		/* disallow bridging this ether dev */
+ /* source: include/linux/if.h */
+--- a/compat/compat_firmware_class.c
++++ b/compat/compat_firmware_class.c
+@@ -20,6 +20,8 @@
+ #include <linux/highmem.h>
+ #include <linux/firmware.h>
+ 
++#if defined(CONFIG_FW_LOADER) || defined(CONFIG_FW_LOADER_MODULE)
++
+ #define to_dev(obj) container_of(obj, struct device, kobj)
+ 
+ MODULE_AUTHOR("Manuel Estrada Sainz");
+@@ -724,3 +726,5 @@ module_exit(firmware_class_exit);
+ EXPORT_SYMBOL(release_firmware);
+ EXPORT_SYMBOL(request_firmware);
+ EXPORT_SYMBOL(request_firmware_nowait);
++
++#endif