From: Christian Lamparter <chunkeey@web.de>
To: Johannes Berg <johannes@sipsolutions.net>
Cc: linux-wireless@vger.kernel.org,
"John W. Linville" <linville@tuxdriver.com>,
"Luis R. Rodriguez" <lrodriguez@atheros.com>
Subject: [PATCH] ar9170: single module build
Date: Tue, 24 Mar 2009 16:21:55 +0100 [thread overview]
Message-ID: <200903241621.56084.chunkeey@web.de> (raw)
In-Reply-To: <1237880461.6147.24.camel@johannes.local>
This patch restores all-in-one module build procedure for ar9170.
Signed-off-by: Christian Lamparter <chunkeey@web.de>
---
On Tuesday 24 March 2009 08:41:01 Johannes Berg wrote:
> > And the ath5k<->ath9k merge could provide some "helper" function for this
> > driver as well... (wishful thinking, but anyway...)
>
> _Very_ wishful thinking -- only very small parts of the design are
> really shared, the PHY stuff, which happens to be relevant to the
> eeprom.
small? regd.c, eeprom.c, ani.c, calib.c, phy.c (including some register
definitions) and code for LED/Bluetooth Coex?/Rfkill?
that's nearly a third of ath9k. However: Agreed!
Lets wait and see what Atheros' is doing/planing.
> > Meanwhile, what about a config option that can be enabled to
> > integrate everything into the front-end module (ar9170usb)?
> > ( However, I don't think this config solution will stand a chance ;-)
> > and we all come to the same "all-in-one works best" conclusion. )
> This seems like a pointless option. Why not just change the Kconfig file
> to remove the common option and link both files into one binary,
> removing all EXPORT_SYMBOLs?
Done!
---
On Tuesday 24 March 2009 00:35:22 Luis R. Rodriguez wrote:
> The MACs are completely different so if there is some code sharing possible
> it may be difficult to find but it would certainly be welcomed!
MAC with its firmware is a zd12xx derivate, true...
the PHY chips are AR9101/AR9102/AR9104, right?
>Future Atheros 11n USB devices will use a different MAC and therefore expect
>them to be different. I am not sure if in the future we can share but
>I won't know for sure for a little while.
That's really good to hear!
---
diff --git a/drivers/net/wireless/Makefile b/drivers/net/wireless/Makefile
index 5e7c9ac..50e7fba 100644
--- a/drivers/net/wireless/Makefile
+++ b/drivers/net/wireless/Makefile
@@ -57,6 +57,6 @@ obj-$(CONFIG_P54_COMMON) += p54/
obj-$(CONFIG_ATH5K) += ath5k/
obj-$(CONFIG_ATH9K) += ath9k/
-obj-$(CONFIG_AR9170_COMMON) += ar9170/
+obj-$(CONFIG_AR9170_USB) += ar9170/
obj-$(CONFIG_MAC80211_HWSIM) += mac80211_hwsim.o
diff --git a/drivers/net/wireless/ar9170/Kconfig b/drivers/net/wireless/ar9170/Kconfig
index f661187..de4281f 100644
--- a/drivers/net/wireless/ar9170/Kconfig
+++ b/drivers/net/wireless/ar9170/Kconfig
@@ -1,17 +1,6 @@
-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
- tristate "Atheros AR9170 USB support"
- depends on AR9170_COMMON && USB
+ tristate "Atheros AR9170 802.11n USB support"
+ depends on USB && MAC80211 && WLAN_80211 && EXPERIMENTAL
select FW_LOADER
help
This is a driver for the Atheros "otus" 802.11n USB devices.
@@ -24,5 +13,5 @@ config AR9170_USB
config AR9170_LEDS
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
diff --git a/drivers/net/wireless/ar9170/Makefile b/drivers/net/wireless/ar9170/Makefile
index 59b174d..8d91c7e 100644
--- a/drivers/net/wireless/ar9170/Makefile
+++ b/drivers/net/wireless/ar9170/Makefile
@@ -1,5 +1,3 @@
-ar9170common-objs += main.o cmd.o mac.o phy.o led.o
-ar9170usb-objs += usb.o
+ar9170usb-objs := usb.o main.o cmd.o mac.o phy.o led.o
-obj-$(CONFIG_AR9170_COMMON) += ar9170common.o
obj-$(CONFIG_AR9170_USB) += ar9170usb.o
diff --git a/drivers/net/wireless/ar9170/cmd.c b/drivers/net/wireless/ar9170/cmd.c
index fd5625c..f57a620 100644
--- a/drivers/net/wireless/ar9170/cmd.c
+++ b/drivers/net/wireless/ar9170/cmd.c
@@ -127,4 +127,3 @@ int ar9170_echo_test(struct ar9170 *ar, u32 v)
return 0;
}
-EXPORT_SYMBOL_GPL(ar9170_echo_test);
diff --git a/drivers/net/wireless/ar9170/main.c b/drivers/net/wireless/ar9170/main.c
index f8c2357..5996ff9 100644
--- a/drivers/net/wireless/ar9170/main.c
+++ b/drivers/net/wireless/ar9170/main.c
@@ -37,14 +37,6 @@
* 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/module.h>
#include <linux/etherdevice.h>
@@ -56,9 +48,6 @@
static int modparam_nohwcrypt;
module_param_named(nohwcrypt, modparam_nohwcrypt, bool, S_IRUGO);
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) { \
.bitrate = (_bitrate), \
@@ -247,7 +236,6 @@ void ar9170_handle_tx_status(struct ar9170 *ar, struct sk_buff *skb,
skb_pull(skb, sizeof(struct ar9170_tx_control));
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,
const u8 *mac,
@@ -630,13 +618,6 @@ static void ar9170_handle_mpdu(struct ar9170 *ar, u8 *buf, int len)
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)
{
unsigned int i, tlen, resplen;
@@ -694,7 +675,6 @@ void ar9170_rx(struct ar9170 *ar, struct sk_buff *skb)
printk(KERN_ERR "%s: buffer remains!\n",
wiphy_name(ar->hw->wiphy));
}
-EXPORT_SYMBOL_GPL(ar9170_rx);
#define AR9170_FILL_QUEUE(queue, ai_fs, cwmin, cwmax, _txop) \
do { \
@@ -1582,7 +1562,6 @@ void *ar9170_alloc(size_t priv_size)
return ar;
}
-EXPORT_SYMBOL_GPL(ar9170_alloc);
static int ar9170_read_eeprom(struct ar9170 *ar)
{
@@ -1680,7 +1659,6 @@ err_unreg:
err_out:
return err;
}
-EXPORT_SYMBOL_GPL(ar9170_register);
void ar9170_unregister(struct ar9170 *ar)
{
@@ -1691,21 +1669,3 @@ void ar9170_unregister(struct ar9170 *ar)
ieee80211_unregister_hw(ar->hw);
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);
diff --git a/drivers/net/wireless/ar9170/usb.c b/drivers/net/wireless/ar9170/usb.c
index ede511e..ad29684 100644
--- a/drivers/net/wireless/ar9170/usb.c
+++ b/drivers/net/wireless/ar9170/usb.c
@@ -47,9 +47,10 @@
#include "hw.h"
#include "usb.h"
+MODULE_AUTHOR("Johannes Berg <johannes@sipsolutions.net>");
MODULE_AUTHOR("Christian Lamparter <chunkeey@web.de>");
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-2.fw");
prev parent reply other threads:[~2009-03-24 15:22 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-03-21 22:11 [PATCH 5/5] ar9170: update Makefile, Kconfig and MAINTAINERS Christian Lamparter
2009-03-23 14:29 ` Johannes Berg
2009-03-24 0:26 ` Christian Lamparter
2009-03-23 23:35 ` Luis R. Rodriguez
2009-03-24 7:41 ` Johannes Berg
2009-03-24 15:21 ` Christian Lamparter [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200903241621.56084.chunkeey@web.de \
--to=chunkeey@web.de \
--cc=johannes@sipsolutions.net \
--cc=linux-wireless@vger.kernel.org \
--cc=linville@tuxdriver.com \
--cc=lrodriguez@atheros.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).