aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKalle Valo <kvalo@qca.qualcomm.com>2012-01-17 13:09:36 -0500
committerKalle Valo <kvalo@qca.qualcomm.com>2012-01-18 06:59:51 -0500
commitd6a434d60e064a5f2bef1c13ca5ed84bfa6b8b4f (patch)
tree9920f4f6552420f83b1c65000ed3c5840b49d272
parent3b1b7d0985fdb26403678e49938a668ef7f772ea (diff)
ath6kl: create ath6kl_core.ko
Now ath6kl is ready for splitting core code to ath6kl_core.ko module. This also makes it possible to link both sdio and usb code to kernel at the same time, which earlier failed miserably. Reported-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
-rw-r--r--drivers/net/wireless/ath/ath6kl/Makefile28
-rw-r--r--drivers/net/wireless/ath/ath6kl/cfg80211.c3
-rw-r--r--drivers/net/wireless/ath/ath6kl/core.c9
-rw-r--r--drivers/net/wireless/ath/ath6kl/debug.c3
-rw-r--r--drivers/net/wireless/ath/ath6kl/hif.c5
-rw-r--r--drivers/net/wireless/ath/ath6kl/init.c3
6 files changed, 38 insertions, 13 deletions
diff --git a/drivers/net/wireless/ath/ath6kl/Makefile b/drivers/net/wireless/ath/ath6kl/Makefile
index 854694b26a4b..cbdc31c603f6 100644
--- a/drivers/net/wireless/ath/ath6kl/Makefile
+++ b/drivers/net/wireless/ath/ath6kl/Makefile
@@ -21,16 +21,18 @@
21# Author(s): ="Atheros" 21# Author(s): ="Atheros"
22#------------------------------------------------------------------------------ 22#------------------------------------------------------------------------------
23 23
24obj-$(CONFIG_ATH6KL) := ath6kl.o 24obj-$(CONFIG_ATH6KL) += ath6kl_core.o
25ath6kl-y += debug.o 25ath6kl_core-y += debug.o
26ath6kl-y += hif.o 26ath6kl_core-y += hif.o
27ath6kl-y += htc.o 27ath6kl_core-y += htc.o
28ath6kl-y += bmi.o 28ath6kl_core-y += bmi.o
29ath6kl-y += cfg80211.o 29ath6kl_core-y += cfg80211.o
30ath6kl-y += init.o 30ath6kl_core-y += init.o
31ath6kl-y += main.o 31ath6kl_core-y += main.o
32ath6kl-y += txrx.o 32ath6kl_core-y += txrx.o
33ath6kl-y += wmi.o 33ath6kl_core-y += wmi.o
34ath6kl-y += core.o 34ath6kl_core-y += core.o
35ath6kl-y += sdio.o 35ath6kl_core-$(CONFIG_NL80211_TESTMODE) += testmode.o
36ath6kl-$(CONFIG_NL80211_TESTMODE) += testmode.o 36
37obj-$(CONFIG_ATH6KL_SDIO) += ath6kl_sdio.o
38ath6kl_sdio-y += sdio.o
diff --git a/drivers/net/wireless/ath/ath6kl/cfg80211.c b/drivers/net/wireless/ath/ath6kl/cfg80211.c
index 7ff9806de50b..594d246da8e1 100644
--- a/drivers/net/wireless/ath/ath6kl/cfg80211.c
+++ b/drivers/net/wireless/ath/ath6kl/cfg80211.c
@@ -16,6 +16,7 @@
16 16
17#include <linux/moduleparam.h> 17#include <linux/moduleparam.h>
18#include <linux/inetdevice.h> 18#include <linux/inetdevice.h>
19#include <linux/export.h>
19 20
20#include "core.h" 21#include "core.h"
21#include "cfg80211.h" 22#include "cfg80211.h"
@@ -1935,6 +1936,7 @@ int ath6kl_cfg80211_suspend(struct ath6kl *ar,
1935 1936
1936 return 0; 1937 return 0;
1937} 1938}
1939EXPORT_SYMBOL(ath6kl_cfg80211_suspend);
1938 1940
1939int ath6kl_cfg80211_resume(struct ath6kl *ar) 1941int ath6kl_cfg80211_resume(struct ath6kl *ar)
1940{ 1942{
@@ -1986,6 +1988,7 @@ int ath6kl_cfg80211_resume(struct ath6kl *ar)
1986 1988
1987 return 0; 1989 return 0;
1988} 1990}
1991EXPORT_SYMBOL(ath6kl_cfg80211_resume);
1989 1992
1990#ifdef CONFIG_PM 1993#ifdef CONFIG_PM
1991 1994
diff --git a/drivers/net/wireless/ath/ath6kl/core.c b/drivers/net/wireless/ath/ath6kl/core.c
index 40fad5ec9366..d764afec395b 100644
--- a/drivers/net/wireless/ath/ath6kl/core.c
+++ b/drivers/net/wireless/ath/ath6kl/core.c
@@ -16,7 +16,9 @@
16 16
17#include "core.h" 17#include "core.h"
18 18
19#include <linux/module.h>
19#include <linux/moduleparam.h> 20#include <linux/moduleparam.h>
21#include <linux/export.h>
20 22
21#include "debug.h" 23#include "debug.h"
22#include "hif-ops.h" 24#include "hif-ops.h"
@@ -203,6 +205,7 @@ err_wq:
203 205
204 return ret; 206 return ret;
205} 207}
208EXPORT_SYMBOL(ath6kl_core_init);
206 209
207struct ath6kl *ath6kl_core_create(struct device *dev) 210struct ath6kl *ath6kl_core_create(struct device *dev)
208{ 211{
@@ -258,6 +261,7 @@ struct ath6kl *ath6kl_core_create(struct device *dev)
258 261
259 return ar; 262 return ar;
260} 263}
264EXPORT_SYMBOL(ath6kl_core_create);
261 265
262void ath6kl_core_cleanup(struct ath6kl *ar) 266void ath6kl_core_cleanup(struct ath6kl *ar)
263{ 267{
@@ -284,9 +288,14 @@ void ath6kl_core_cleanup(struct ath6kl *ar)
284 288
285 ath6kl_cfg80211_cleanup(ar); 289 ath6kl_cfg80211_cleanup(ar);
286} 290}
291EXPORT_SYMBOL(ath6kl_core_cleanup);
287 292
288void ath6kl_core_destroy(struct ath6kl *ar) 293void ath6kl_core_destroy(struct ath6kl *ar)
289{ 294{
290 ath6kl_cfg80211_destroy(ar); 295 ath6kl_cfg80211_destroy(ar);
291} 296}
297EXPORT_SYMBOL(ath6kl_core_destroy);
292 298
299MODULE_AUTHOR("Qualcomm Atheros");
300MODULE_DESCRIPTION("Core module for AR600x SDIO and USB devices.");
301MODULE_LICENSE("Dual BSD/GPL");
diff --git a/drivers/net/wireless/ath/ath6kl/debug.c b/drivers/net/wireless/ath/ath6kl/debug.c
index 4ba6560f0bf3..6b546dc66728 100644
--- a/drivers/net/wireless/ath/ath6kl/debug.c
+++ b/drivers/net/wireless/ath/ath6kl/debug.c
@@ -54,6 +54,7 @@ int ath6kl_printk(const char *level, const char *fmt, ...)
54 54
55 return rtn; 55 return rtn;
56} 56}
57EXPORT_SYMBOL(ath6kl_printk);
57 58
58#ifdef CONFIG_ATH6KL_DEBUG 59#ifdef CONFIG_ATH6KL_DEBUG
59 60
@@ -74,6 +75,7 @@ void ath6kl_dbg(enum ATH6K_DEBUG_MASK mask, const char *fmt, ...)
74 75
75 va_end(args); 76 va_end(args);
76} 77}
78EXPORT_SYMBOL(ath6kl_dbg);
77 79
78void ath6kl_dbg_dump(enum ATH6K_DEBUG_MASK mask, 80void ath6kl_dbg_dump(enum ATH6K_DEBUG_MASK mask,
79 const char *msg, const char *prefix, 81 const char *msg, const char *prefix,
@@ -86,6 +88,7 @@ void ath6kl_dbg_dump(enum ATH6K_DEBUG_MASK mask,
86 print_hex_dump_bytes(prefix, DUMP_PREFIX_OFFSET, buf, len); 88 print_hex_dump_bytes(prefix, DUMP_PREFIX_OFFSET, buf, len);
87 } 89 }
88} 90}
91EXPORT_SYMBOL(ath6kl_dbg_dump);
89 92
90#define REG_OUTPUT_LEN_PER_LINE 25 93#define REG_OUTPUT_LEN_PER_LINE 25
91#define REGTYPE_STR_LEN 100 94#define REGTYPE_STR_LEN 100
diff --git a/drivers/net/wireless/ath/ath6kl/hif.c b/drivers/net/wireless/ath/ath6kl/hif.c
index 711886860b5d..d912da6ab0d1 100644
--- a/drivers/net/wireless/ath/ath6kl/hif.c
+++ b/drivers/net/wireless/ath/ath6kl/hif.c
@@ -15,6 +15,8 @@
15 */ 15 */
16#include "hif.h" 16#include "hif.h"
17 17
18#include <linux/export.h>
19
18#include "core.h" 20#include "core.h"
19#include "target.h" 21#include "target.h"
20#include "hif-ops.h" 22#include "hif-ops.h"
@@ -59,6 +61,8 @@ int ath6kl_hif_rw_comp_handler(void *context, int status)
59 61
60 return 0; 62 return 0;
61} 63}
64EXPORT_SYMBOL(ath6kl_hif_rw_comp_handler);
65
62#define REG_DUMP_COUNT_AR6003 60 66#define REG_DUMP_COUNT_AR6003 60
63#define REGISTER_DUMP_LEN_MAX 60 67#define REGISTER_DUMP_LEN_MAX 60
64 68
@@ -560,6 +564,7 @@ int ath6kl_hif_intr_bh_handler(struct ath6kl *ar)
560 564
561 return status; 565 return status;
562} 566}
567EXPORT_SYMBOL(ath6kl_hif_intr_bh_handler);
563 568
564static int ath6kl_hif_enable_intrs(struct ath6kl_device *dev) 569static int ath6kl_hif_enable_intrs(struct ath6kl_device *dev)
565{ 570{
diff --git a/drivers/net/wireless/ath/ath6kl/init.c b/drivers/net/wireless/ath/ath6kl/init.c
index b8252ced0968..167dc41af2de 100644
--- a/drivers/net/wireless/ath/ath6kl/init.c
+++ b/drivers/net/wireless/ath/ath6kl/init.c
@@ -17,8 +17,10 @@
17 17
18#include <linux/moduleparam.h> 18#include <linux/moduleparam.h>
19#include <linux/errno.h> 19#include <linux/errno.h>
20#include <linux/export.h>
20#include <linux/of.h> 21#include <linux/of.h>
21#include <linux/mmc/sdio_func.h> 22#include <linux/mmc/sdio_func.h>
23
22#include "core.h" 24#include "core.h"
23#include "cfg80211.h" 25#include "cfg80211.h"
24#include "target.h" 26#include "target.h"
@@ -1707,3 +1709,4 @@ void ath6kl_stop_txrx(struct ath6kl *ar)
1707 1709
1708 clear_bit(WLAN_ENABLED, &ar->flag); 1710 clear_bit(WLAN_ENABLED, &ar->flag);
1709} 1711}
1712EXPORT_SYMBOL(ath6kl_stop_txrx);