linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* compat-2.6: ath9k driver
@ 2008-08-22 20:24 Howard Chu
  2008-08-28  7:37 ` [PATCH] compat-2.6: enable ath9k Howard Chu
  0 siblings, 1 reply; 3+ messages in thread
From: Howard Chu @ 2008-08-22 20:24 UTC (permalink / raw)
  To: Luis R. Rodriguez; +Cc: linux-wireless

I just got a new HP dv5z laptop with a/b/g/n wifi adapter; it claims to be an 
AR5009. Googling for the PCI ID (0x002a) matched it up with AR9280, which led 
me to the ath9k driver. It's not currently provided with the compat-2.6 tree 
but I pulled a copy from the wireless-testing branch and added it to my compat 
tree.

It needed 3-4 definitions to be added to <linux/list.h> but otherwise compiled 
OK and it's now working fine for me in 2.6.26.3. Did you already have plans to 
include this driver, should I post my diffs?
-- 
   -- Howard Chu
   CTO, Symas Corp.           http://www.symas.com
   Director, Highland Sun     http://highlandsun.com/hyc/
   Chief Architect, OpenLDAP  http://www.openldap.org/project/

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [PATCH] compat-2.6: enable ath9k
  2008-08-22 20:24 compat-2.6: ath9k driver Howard Chu
@ 2008-08-28  7:37 ` Howard Chu
  2008-08-28 21:25   ` Luis R. Rodriguez
  0 siblings, 1 reply; 3+ messages in thread
From: Howard Chu @ 2008-08-28  7:37 UTC (permalink / raw)
  To: Luis R. Rodriguez; +Cc: linux-wireless

This patch enables building the wireless-testing ath9k driver with the 
compat-wireless tarball at 
http://www.orbit-lab.org/kernel/compat-wireless-2.6/2008/08/compat-wireless-2008-08-06.tar.bz2

In addition to applying this patch, you must also copy the 
drivers/net/wireless/ath9k directory from the wireless-testing image into the 
compat-wireless tree. Just posting this for posterity since it seems that it 
won't be needed for much longer.

Signed-off-by: Howard Chu <hyc@symas.com>
---

diff -wur compat-wireless-2008-08-06/config.mk 
compat-wireless-2008-08-06.N/config.mk
--- compat-wireless-2008-08-06/config.mk	2008-07-17 21:11:03.000000000 -0700
+++ compat-wireless-2008-08-06.N/config.mk	2008-08-27 23:17:22.000000000 -0700
@@ -72,6 +72,8 @@
  CONFIG_ATH5K=m
  CONFIG_ATH5K_DEBUG=n
  +CONFIG_ATH9K=m
+
  # Required for older kernels which still use this flag.
  CONFIG_IWLWIFI=m
  Only in compat-wireless-2008-08-06.N/drivers/net/wireless: ath9k
diff -wur compat-wireless-2008-08-06/drivers/net/wireless/Makefile 
compat-wireless-2008-08-06.N/drivers/net/wireless/Makefile
--- compat-wireless-2008-08-06/drivers/net/wireless/Makefile	2008-07-29 
21:11:04.000000000 -0700
+++ compat-wireless-2008-08-06.N/drivers/net/wireless/Makefile	2008-08-27 
23:17:48.000000000 -0700
@@ -29,5 +29,6 @@
  obj-$(CONFIG_P54_COMMON)	+= p54/
   obj-$(CONFIG_ATH5K)	+= ath5k/
+obj-$(CONFIG_ATH9K)	+= ath9k/
   obj-$(CONFIG_MAC80211_HWSIM)	+= mac80211_hwsim.o
diff -wur compat-wireless-2008-08-06/include/net/compat.h 
compat-wireless-2008-08-06.N/include/net/compat.h
--- compat-wireless-2008-08-06/include/net/compat.h	2008-08-05 
16:47:29.000000000 -0700
+++ compat-wireless-2008-08-06.N/include/net/compat.h	2008-08-27 
23:57:32.000000000 -0700
@@ -784,6 +784,53 @@
  int register_rfkill_notifier(struct notifier_block *nb);
  int unregister_rfkill_notifier(struct notifier_block *nb);
  +/* From include/linux/list.h */
+static inline void __list_cut_position(struct list_head *list,
+		struct list_head *head, struct list_head *entry)
+{
+	struct list_head *new_first = entry->next;
+	list->next = head->next;
+	list->next->prev = list;
+	list->prev = entry;
+	entry->next = list;
+	head->next = new_first;
+	new_first->prev = head;
+}
+static inline void list_cut_position(struct list_head *list,
+		struct list_head *head, struct list_head *entry)
+{
+	if (list_empty(head))
+		return;
+	if (list_is_singular(head) &&
+		(head->next != entry && head != entry))
+		return;
+	if (entry == head)
+		INIT_LIST_HEAD(list);
+	else
+		__list_cut_position(list, head, entry);
+}
+static inline void __list_splice2(const struct list_head *list,
+				 struct list_head *prev,
+				 struct list_head *next)
+{
+	struct list_head *first = list->next;
+	struct list_head *last = list->prev;
+
+	first->prev = prev;
+	prev->next = first;
+
+	last->next = next;
+	next->prev = last;
+}
+static inline void list_splice_tail_init(struct list_head *list,
+					 struct list_head *head)
+{
+	if (!list_empty(list)) {
+		__list_splice2(list, head->prev, head);
+		INIT_LIST_HEAD(list);
+	}
+}
+
  #endif /* (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,27)) */
   #endif /* LINUX_26_COMPAT_H */

-- 
    -- Howard Chu
    CTO, Symas Corp.           http://www.symas.com
    Director, Highland Sun     http://highlandsun.com/hyc/
    Chief Architect, OpenLDAP  http://www.openldap.org/project/


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] compat-2.6: enable ath9k
  2008-08-28  7:37 ` [PATCH] compat-2.6: enable ath9k Howard Chu
@ 2008-08-28 21:25   ` Luis R. Rodriguez
  0 siblings, 0 replies; 3+ messages in thread
From: Luis R. Rodriguez @ 2008-08-28 21:25 UTC (permalink / raw)
  To: Howard Chu; +Cc: Luis R. Rodriguez, linux-wireless@vger.kernel.org

On Thu, Aug 28, 2008 at 12:37:44AM -0700, Howard Chu wrote:
> This patch enables building the wireless-testing ath9k driver with the
> compat-wireless tarball at
> http://www.orbit-lab.org/kernel/compat-wireless-2.6/2008/08/compat-wireless-2008-08-06.tar.bz2

Thanks. We can fork wireless-testing for old kernels based on this for
compat-wireless. Problem is updates. I suppose each driver maintainer
can supply updates when they want. For that please use compat-masters
list.

I'll create a new tree for this when I get a chance. The list.h changes
should have what we have in the kernel. Although list_splice2() is
functionally equivalent I rather use what the kernel is using the name
will be different though of course.

  Luis

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2008-08-28 21:25 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-08-22 20:24 compat-2.6: ath9k driver Howard Chu
2008-08-28  7:37 ` [PATCH] compat-2.6: enable ath9k Howard Chu
2008-08-28 21:25   ` Luis R. Rodriguez

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).