提交 de00c04e 编写于 作者: C Christian Lamparter 提交者: John W. Linville

ar9170: single module build

This patch restores all-in-one module build procedure for ar9170.
Signed-off-by: NChristian Lamparter <chunkeey@web.de>
Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
上级 051b9191
...@@ -57,6 +57,6 @@ obj-$(CONFIG_P54_COMMON) += p54/ ...@@ -57,6 +57,6 @@ obj-$(CONFIG_P54_COMMON) += p54/
obj-$(CONFIG_ATH5K) += ath5k/ obj-$(CONFIG_ATH5K) += ath5k/
obj-$(CONFIG_ATH9K) += ath9k/ obj-$(CONFIG_ATH9K) += ath9k/
obj-$(CONFIG_AR9170_COMMON) += ar9170/ obj-$(CONFIG_AR9170_USB) += ar9170/
obj-$(CONFIG_MAC80211_HWSIM) += mac80211_hwsim.o obj-$(CONFIG_MAC80211_HWSIM) += mac80211_hwsim.o
config AR9170_COMMON
tristate "Atheros AR9170 support"
depends on WLAN_80211 && MAC80211 && EXPERIMENTAL
help
This is common code for AR9170 based devices.
This module does nothing by itself - the USB/(SPI) frontends
also need to be enabled in order to support any devices.
Say Y if you have the hardware, or M to build a module called
ar9170common.
config AR9170_USB config AR9170_USB
tristate "Atheros AR9170 USB support" tristate "Atheros AR9170 802.11n USB support"
depends on AR9170_COMMON && USB depends on USB && MAC80211 && WLAN_80211 && EXPERIMENTAL
select FW_LOADER select FW_LOADER
help help
This is a driver for the Atheros "otus" 802.11n USB devices. This is a driver for the Atheros "otus" 802.11n USB devices.
...@@ -24,5 +13,5 @@ config AR9170_USB ...@@ -24,5 +13,5 @@ config AR9170_USB
config AR9170_LEDS config AR9170_LEDS
bool bool
depends on AR9170_COMMON && MAC80211_LEDS && (LEDS_CLASS = y || LEDS_CLASS = AR9170_COMMON) depends on AR9170_USB && MAC80211_LEDS && (LEDS_CLASS = y || LEDS_CLASS = AR9170_USB)
default y default y
ar9170common-objs += main.o cmd.o mac.o phy.o led.o ar9170usb-objs := usb.o main.o cmd.o mac.o phy.o led.o
ar9170usb-objs += usb.o
obj-$(CONFIG_AR9170_COMMON) += ar9170common.o
obj-$(CONFIG_AR9170_USB) += ar9170usb.o obj-$(CONFIG_AR9170_USB) += ar9170usb.o
...@@ -127,4 +127,3 @@ int ar9170_echo_test(struct ar9170 *ar, u32 v) ...@@ -127,4 +127,3 @@ int ar9170_echo_test(struct ar9170 *ar, u32 v)
return 0; return 0;
} }
EXPORT_SYMBOL_GPL(ar9170_echo_test);
...@@ -37,14 +37,6 @@ ...@@ -37,14 +37,6 @@
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/ */
/*
* BIG FAT TODO:
*
* By the looks of things: these devices share a lot of things like
* EEPROM layout/design and PHY code with other Atheros WIFI products.
* So this driver/library will eventually become ath9k code... or vice versa ;-)
*/
#include <linux/init.h> #include <linux/init.h>
#include <linux/module.h> #include <linux/module.h>
#include <linux/etherdevice.h> #include <linux/etherdevice.h>
...@@ -56,9 +48,6 @@ ...@@ -56,9 +48,6 @@
static int modparam_nohwcrypt; static int modparam_nohwcrypt;
module_param_named(nohwcrypt, modparam_nohwcrypt, bool, S_IRUGO); module_param_named(nohwcrypt, modparam_nohwcrypt, bool, S_IRUGO);
MODULE_PARM_DESC(nohwcrypt, "Disable hardware encryption."); MODULE_PARM_DESC(nohwcrypt, "Disable hardware encryption.");
MODULE_AUTHOR("Johannes Berg <johannes@sipsolutions.net>");
MODULE_LICENSE("GPL");
MODULE_DESCRIPTION("Atheros shared code for AR9170 wireless devices");
#define RATE(_bitrate, _hw_rate, _txpidx, _flags) { \ #define RATE(_bitrate, _hw_rate, _txpidx, _flags) { \
.bitrate = (_bitrate), \ .bitrate = (_bitrate), \
...@@ -247,7 +236,6 @@ void ar9170_handle_tx_status(struct ar9170 *ar, struct sk_buff *skb, ...@@ -247,7 +236,6 @@ void ar9170_handle_tx_status(struct ar9170 *ar, struct sk_buff *skb,
skb_pull(skb, sizeof(struct ar9170_tx_control)); skb_pull(skb, sizeof(struct ar9170_tx_control));
ieee80211_tx_status_irqsafe(ar->hw, skb); ieee80211_tx_status_irqsafe(ar->hw, skb);
} }
EXPORT_SYMBOL_GPL(ar9170_handle_tx_status);
static struct sk_buff *ar9170_find_skb_in_queue(struct ar9170 *ar, static struct sk_buff *ar9170_find_skb_in_queue(struct ar9170 *ar,
const u8 *mac, const u8 *mac,
...@@ -630,13 +618,6 @@ static void ar9170_handle_mpdu(struct ar9170 *ar, u8 *buf, int len) ...@@ -630,13 +618,6 @@ static void ar9170_handle_mpdu(struct ar9170 *ar, u8 *buf, int len)
ieee80211_rx_irqsafe(ar->hw, skb, &status); ieee80211_rx_irqsafe(ar->hw, skb, &status);
} }
/*
* TODO:
* It looks like AR9170 supports more than just the USB transport interface.
* Unfortunately, there is no available information what parts of the
* precendent and following code fragments is device specific and what not.
* For now, everything stays here, until some SPI chips pop up.
*/
void ar9170_rx(struct ar9170 *ar, struct sk_buff *skb) void ar9170_rx(struct ar9170 *ar, struct sk_buff *skb)
{ {
unsigned int i, tlen, resplen; unsigned int i, tlen, resplen;
...@@ -694,7 +675,6 @@ void ar9170_rx(struct ar9170 *ar, struct sk_buff *skb) ...@@ -694,7 +675,6 @@ void ar9170_rx(struct ar9170 *ar, struct sk_buff *skb)
printk(KERN_ERR "%s: buffer remains!\n", printk(KERN_ERR "%s: buffer remains!\n",
wiphy_name(ar->hw->wiphy)); wiphy_name(ar->hw->wiphy));
} }
EXPORT_SYMBOL_GPL(ar9170_rx);
#define AR9170_FILL_QUEUE(queue, ai_fs, cwmin, cwmax, _txop) \ #define AR9170_FILL_QUEUE(queue, ai_fs, cwmin, cwmax, _txop) \
do { \ do { \
...@@ -1582,7 +1562,6 @@ void *ar9170_alloc(size_t priv_size) ...@@ -1582,7 +1562,6 @@ void *ar9170_alloc(size_t priv_size)
return ar; return ar;
} }
EXPORT_SYMBOL_GPL(ar9170_alloc);
static int ar9170_read_eeprom(struct ar9170 *ar) static int ar9170_read_eeprom(struct ar9170 *ar)
{ {
...@@ -1680,7 +1659,6 @@ int ar9170_register(struct ar9170 *ar, struct device *pdev) ...@@ -1680,7 +1659,6 @@ int ar9170_register(struct ar9170 *ar, struct device *pdev)
err_out: err_out:
return err; return err;
} }
EXPORT_SYMBOL_GPL(ar9170_register);
void ar9170_unregister(struct ar9170 *ar) void ar9170_unregister(struct ar9170 *ar)
{ {
...@@ -1691,21 +1669,3 @@ void ar9170_unregister(struct ar9170 *ar) ...@@ -1691,21 +1669,3 @@ void ar9170_unregister(struct ar9170 *ar)
ieee80211_unregister_hw(ar->hw); ieee80211_unregister_hw(ar->hw);
mutex_destroy(&ar->mutex); mutex_destroy(&ar->mutex);
} }
EXPORT_SYMBOL_GPL(ar9170_unregister);
static int __init ar9170_init(void)
{
if (modparam_nohwcrypt)
printk(KERN_INFO "ar9170: cryptographic acceleration "
"disabled.\n");
return 0;
}
static void __exit ar9170_exit(void)
{
}
module_init(ar9170_init);
module_exit(ar9170_exit);
...@@ -47,9 +47,10 @@ ...@@ -47,9 +47,10 @@
#include "hw.h" #include "hw.h"
#include "usb.h" #include "usb.h"
MODULE_AUTHOR("Johannes Berg <johannes@sipsolutions.net>");
MODULE_AUTHOR("Christian Lamparter <chunkeey@web.de>"); MODULE_AUTHOR("Christian Lamparter <chunkeey@web.de>");
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_DESCRIPTION("USB Driver for Atheros AR9170 based devices"); MODULE_DESCRIPTION("Atheros AR9170 802.11n USB wireless");
MODULE_FIRMWARE("ar9170-1.fw"); MODULE_FIRMWARE("ar9170-1.fw");
MODULE_FIRMWARE("ar9170-2.fw"); MODULE_FIRMWARE("ar9170-2.fw");
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册