All of lore.kernel.org
 help / color / mirror / Atom feed
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");
 

      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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.