Add a kernel 2.6 fixes patch, will hopefully close #104467
authorStefan Schweizer <genstef@gentoo.org>
Sat, 15 Oct 2005 13:03:47 +0000 (13:03 +0000)
committerStefan Schweizer <genstef@gentoo.org>
Sat, 15 Oct 2005 13:03:47 +0000 (13:03 +0000)
Package-Manager: portage-2.0.53_rc5

net-wireless/at76c503a/ChangeLog
net-wireless/at76c503a/Manifest
net-wireless/at76c503a/at76c503a-0.12_beta23-r1.ebuild [new file with mode: 0644]
net-wireless/at76c503a/files/at76c503a-kernel-2.6-fixes.diff [new file with mode: 0644]
net-wireless/at76c503a/files/digest-at76c503a-0.12_beta23-r1 [new file with mode: 0644]

index aef24cf17fbed2ec81f440f4e0da4c4e5bbbd706..a03cee32180be782da871cc64bf7fd4cf94adfc0 100644 (file)
@@ -1,6 +1,12 @@
 # ChangeLog for net-wireless/at76c503a
 # Copyright 1999-2005 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-wireless/at76c503a/ChangeLog,v 1.4 2005/08/09 18:01:39 dholm Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-wireless/at76c503a/ChangeLog,v 1.5 2005/10/15 13:03:47 genstef Exp $
+
+*at76c503a-0.12_beta23-r1 (15 Oct 2005)
+
+  15 Oct 2005; Stefan Schweizer <genstef@gentoo.org>
+  +files/at76c503a-kernel-2.6-fixes.diff, +at76c503a-0.12_beta23-r1.ebuild:
+  Add a kernel 2.6 fixes patch, will hopefully close #104467
 
   09 Aug 2005; David Holm <dholm@gentoo.org> at76c503a-0.12_beta23.ebuild:
   Added to ~ppc.
index 8ab1cfb8dfde56bb66c0d04843566c39016ca394..6bd6f96907505e347f3393e87eb070aca3c6f3db 100644 (file)
@@ -1,6 +1,9 @@
-MD5 5f0a599dae03dd245b3ade177647ce63 ChangeLog 761
+MD5 6b74d5ba7e7e730f2d56c6294761b780 ChangeLog 995
 MD5 56396ce73ba684e39c24a1c6731bae49 at76c503a-0.12_beta19.ebuild 1614
-MD5 19fd766bac8e110b4620363a1ace26dd metadata.xml 159
+MD5 90d64722fbfeb263bed2972d08ba3819 at76c503a-0.12_beta23-r1.ebuild 1674
 MD5 db84b769c8cfd2c6333467031343b4e3 at76c503a-0.12_beta23.ebuild 1617
+MD5 ff52dfd3c6d4b173384790d4cac67b85 files/at76c503a-kernel-2.6-fixes.diff 3603
 MD5 29b716c7fdd6c59a6a42452a905c6abf files/digest-at76c503a-0.12_beta19 151
 MD5 7f93eef31cc66db8c3da09629831fa49 files/digest-at76c503a-0.12_beta23 151
+MD5 35f5c84feb2694bb071d04073ba6d6e5 files/digest-at76c503a-0.12_beta23-r1 151
+MD5 19fd766bac8e110b4620363a1ace26dd metadata.xml 159
diff --git a/net-wireless/at76c503a/at76c503a-0.12_beta23-r1.ebuild b/net-wireless/at76c503a/at76c503a-0.12_beta23-r1.ebuild
new file mode 100644 (file)
index 0000000..c125c47
--- /dev/null
@@ -0,0 +1,48 @@
+# Copyright 1999-2005 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-wireless/at76c503a/at76c503a-0.12_beta23-r1.ebuild,v 1.1 2005/10/15 13:03:47 genstef Exp $
+
+inherit linux-mod eutils
+
+MY_P=${PN}_${PV/_beta/.beta}
+SRC_PATCH="${MY_P}-1.diff"
+DESCRIPTION="at76c503 is a Linux driver for the wlan USB adapter based on the Atmel at76c503 chip. It currently supports ad-hoc mode, infrastructure mode, and WEP. It supports adapters from Atmel, the Belkin F5D6050, Netgear MA101, and others."
+HOMEPAGE="http://at76c503a.berlios.de"
+SRC_URI="mirror://debian/pool/contrib/a/at76c503a/${MY_P}.orig.tar.gz
+               mirror://debian/pool/contrib/a/at76c503a/${SRC_PATCH}.gz"
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE=""
+RDEPEND="net-wireless/atmel-firmware
+               >=sys-apps/hotplug-20040923
+               >=net-wireless/wireless-tools-26-r1"
+S=${WORKDIR}/${MY_P/_/-}.orig
+
+MODULE_NAMES="at76_usbdfu(net:) at76c503-i3861(net:) at76c503-i3863(net:)
+       at76c503-rfmd-acc(net:) at76c503-rfmd(net:) at76c503(net:) at76c505-rfmd(net:)
+       at76c505-rfmd2958(net:) at76c505a-rfmd2958(net:)"
+BUILD_TARGETS="all"
+
+CONFIG_CHECK="NET_RADIO"
+NET_RADIO_ERROR="${P} requires support for Wireless LAN drivers (non-hamradio) & Wireless Extensions (CONFIG_NET_RADIO)."
+
+pkg_setup() {
+       linux-mod_pkg_setup
+       BUILD_PARAMS="KSRC=${KV_DIR}"
+}
+
+src_unpack() {
+       unpack ${A}
+       cd ${S}
+       epatch ${WORKDIR}/${SRC_PATCH}
+       epatch ${FILESDIR}/at76c503a-kernel-2.6-fixes.diff
+       convert_to_m Makefile
+       sed -si "s:-cp \$(KERNEL_SRC)/.tmp_versions/\*.mod \$(MODVERDIR)::" Makefile
+}
+
+src_install() {
+       linux-mod_src_install
+
+       dodoc README COPYING CHANGELOG
+}
diff --git a/net-wireless/at76c503a/files/at76c503a-kernel-2.6-fixes.diff b/net-wireless/at76c503a/files/at76c503a-kernel-2.6-fixes.diff
new file mode 100644 (file)
index 0000000..383de6c
--- /dev/null
@@ -0,0 +1,101 @@
+This patch was taken from http://lists.berlios.de/pipermail/at76c503a-develop/2005-September/000235.html\r
+\r
+--- at76c503.c\r
++++ at76c503.c\r
+@@ -193,7 +193,7 @@ static inline void usb_set_intfdata(stru\r
+ # define eth_hdr(s) (s)->mac.ethernet\r
+ # define set_eth_hdr(s,p) (s)->mac.ethernet=(p)\r
+ #else\r
+-# define set_eth_hdr(s,p) (s)->mac.raw=(p)\r
++# define set_eth_hdr(s,p) (s)->mac.raw=(unsigned char *)(p)\r
+ #endif\r
+ \r
+ /* wireless extension level this source currently supports */\r
+@@ -205,7 +205,11 @@ static inline void usb_set_intfdata(stru\r
+ #endif\r
+ \r
+ #ifndef USB_ASYNC_UNLINK\r
++#ifdef URB_ASYNC_UNLINK\r
+ #define USB_ASYNC_UNLINK      URB_ASYNC_UNLINK\r
++#else\r
++#define USB_ASYNC_UNLINK      0\r
++#endif\r
+ #endif\r
+ \r
+ #ifndef FILL_BULK_URB\r
+@@ -3605,7 +3609,7 @@ static void rx_mgmt_beacon(struct at76c5\r
+       if (match == NULL) {\r
+               /* haven't found the bss in the list */\r
+               if ((match=kmalloc(sizeof(struct bss_info), GFP_ATOMIC)) == NULL) {\r
+-                      dbg(DBG_BSS_TABLE, "%s: cannot kmalloc new bss info (%d byte)",\r
++                      dbg(DBG_BSS_TABLE, "%s: cannot kmalloc new bss info (%zd byte)",\r
+                           dev->netdev->name, sizeof(struct bss_info));\r
+                       goto rx_mgmt_beacon_end;\r
+               }\r
+@@ -6699,7 +6703,9 @@ static const struct iw_handler_def at76c\r
+       .standard       = (iw_handler *) at76c503_handlers,\r
+       .private        = (iw_handler *) at76c503_priv_handlers,\r
+       .private_args   = (struct iw_priv_args *) at76c503_priv_args,\r
+-#if WIRELESS_EXT > 15\r
++#if WIRELESS_EXT > 16\r
++      .get_wireless_stats = at76c503_get_wireless_stats,\r
++#elif WIRELESS_EXT = 16\r
+       .spy_offset     = offsetof(struct at76c503, spy_data),\r
+ #endif // #if WIRELESS_EXT > 15\r
+ \r
+@@ -7354,7 +7360,7 @@ struct at76c503 *alloc_new_device(struct\r
+       dev->pm_mode = pm_mode;\r
+       dev->pm_period_us = pm_period;\r
+ \r
+-      strcpy(netdev->name, netdev_name);\r
++      dev_alloc_name(netdev, netdev_name);\r
+ \r
+       return dev;\r
+ } /* alloc_new_device */\r
+@@ -7456,7 +7462,15 @@ int init_new_device(struct at76c503 *dev\r
+       netdev->open = at76c503_open;\r
+       netdev->stop = at76c503_stop;\r
+       netdev->get_stats = at76c503_get_stats;\r
++\r
++#if WIRELESS_EXT > 16\r
++      /* Add pointers to enable iwspy support. */\r
++      dev->wireless_data.spy_data = &dev->spy_data;\r
++      netdev->wireless_data = &dev->wireless_data;\r
++#else  /* WIRELESS_EXT > 16 */\r
+       netdev->get_wireless_stats = at76c503_get_wireless_stats;\r
++#endif /* WIRELESS_EXT > 16 */\r
++\r
+       netdev->hard_start_xmit = at76c503_tx;\r
+       netdev->tx_timeout = at76c503_tx_timeout;\r
+       netdev->watchdog_timeo = 2 * HZ;\r
+@@ -7599,7 +7613,7 @@ int at76c503_do_probe(struct module *mod\r
+               }\r
+ \r
+               dbg(DBG_DEVSTART, "firmware board %u version %u.%u.%u#%u "\r
+-                  "(int %x:%x, ext %x:%x)",\r
++                  "(int %x:%tx, ext %x:%tx)",\r
+                   dev->board_type, version>>24,(version>>16)&0xff,\r
+                   (version>>8)&0xff, version&0xff,\r
+                   dev->intfw_size, dev->intfw-fw_data,\r
+@@ -7655,7 +7669,7 @@ int at76c503_do_probe(struct module *mod\r
+                               dbg(DBG_DEVSTART, "cannot get firmware (ret %d) or all zeros "\r
+                                   "- download external firmware", ret);\r
+                       dbg(DBG_DEVSTART, "firmware board %u version %u.%u.%u#%u "\r
+-                          "(int %x:%x, ext %x:%x)",\r
++                          "(int %x:%tx, ext %x:%tx)",\r
+                           dev->board_type, version>>24,(version>>16)&0xff,\r
+                           (version>>8)&0xff, version&0xff,\r
+                           dev->intfw_size, dev->intfw-fw_data,\r
+--- at76c503.h\r
++++ at76c503.h\r
+@@ -634,6 +634,10 @@\r
+ #endif\r
+ #endif\r
+ \r
++#if WIRELESS_EXT > 16\r
++      struct iw_public_data wireless_data;\r
++#endif /* WIRELESS_EXT > 16 */\r
++\r
+       /* These fields contain HW config provided by the device (not all of\r
+        * these fields are used by all board types) */\r
+       u8 mac_addr[ETH_ALEN];\r
diff --git a/net-wireless/at76c503a/files/digest-at76c503a-0.12_beta23-r1 b/net-wireless/at76c503a/files/digest-at76c503a-0.12_beta23-r1
new file mode 100644 (file)
index 0000000..6bab29b
--- /dev/null
@@ -0,0 +1,2 @@
+MD5 181db93685faef6fb66f223464529d64 at76c503a_0.12.beta23-1.diff.gz 4705
+MD5 e229684679a1d3926bbbf55100026d10 at76c503a_0.12.beta23.orig.tar.gz 89639