From dd92df842018d135adefd90cf8cc13f8fbd41922 Mon Sep 17 00:00:00 2001 From: Stefan Schweizer Date: Sat, 15 Oct 2005 13:03:47 +0000 Subject: [PATCH] Add a kernel 2.6 fixes patch, will hopefully close #104467 Package-Manager: portage-2.0.53_rc5 --- net-wireless/at76c503a/ChangeLog | 8 +- net-wireless/at76c503a/Manifest | 7 +- .../at76c503a/at76c503a-0.12_beta23-r1.ebuild | 48 +++++++++ .../files/at76c503a-kernel-2.6-fixes.diff | 101 ++++++++++++++++++ .../files/digest-at76c503a-0.12_beta23-r1 | 2 + 5 files changed, 163 insertions(+), 3 deletions(-) create mode 100644 net-wireless/at76c503a/at76c503a-0.12_beta23-r1.ebuild create mode 100644 net-wireless/at76c503a/files/at76c503a-kernel-2.6-fixes.diff create mode 100644 net-wireless/at76c503a/files/digest-at76c503a-0.12_beta23-r1 diff --git a/net-wireless/at76c503a/ChangeLog b/net-wireless/at76c503a/ChangeLog index aef24cf17fbe..a03cee32180b 100644 --- a/net-wireless/at76c503a/ChangeLog +++ b/net-wireless/at76c503a/ChangeLog @@ -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 + +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 at76c503a-0.12_beta23.ebuild: Added to ~ppc. diff --git a/net-wireless/at76c503a/Manifest b/net-wireless/at76c503a/Manifest index 8ab1cfb8dfde..6bd6f9690750 100644 --- a/net-wireless/at76c503a/Manifest +++ b/net-wireless/at76c503a/Manifest @@ -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 index 000000000000..c125c470f6d8 --- /dev/null +++ b/net-wireless/at76c503a/at76c503a-0.12_beta23-r1.ebuild @@ -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 index 000000000000..383de6c6d2ba --- /dev/null +++ b/net-wireless/at76c503a/files/at76c503a-kernel-2.6-fixes.diff @@ -0,0 +1,101 @@ +This patch was taken from http://lists.berlios.de/pipermail/at76c503a-develop/2005-September/000235.html + +--- at76c503.c ++++ at76c503.c +@@ -193,7 +193,7 @@ static inline void usb_set_intfdata(stru + # define eth_hdr(s) (s)->mac.ethernet + # define set_eth_hdr(s,p) (s)->mac.ethernet=(p) + #else +-# define set_eth_hdr(s,p) (s)->mac.raw=(p) ++# define set_eth_hdr(s,p) (s)->mac.raw=(unsigned char *)(p) + #endif + + /* wireless extension level this source currently supports */ +@@ -205,7 +205,11 @@ static inline void usb_set_intfdata(stru + #endif + + #ifndef USB_ASYNC_UNLINK ++#ifdef URB_ASYNC_UNLINK + #define USB_ASYNC_UNLINK URB_ASYNC_UNLINK ++#else ++#define USB_ASYNC_UNLINK 0 ++#endif + #endif + + #ifndef FILL_BULK_URB +@@ -3605,7 +3609,7 @@ static void rx_mgmt_beacon(struct at76c5 + if (match == NULL) { + /* haven't found the bss in the list */ + if ((match=kmalloc(sizeof(struct bss_info), GFP_ATOMIC)) == NULL) { +- dbg(DBG_BSS_TABLE, "%s: cannot kmalloc new bss info (%d byte)", ++ dbg(DBG_BSS_TABLE, "%s: cannot kmalloc new bss info (%zd byte)", + dev->netdev->name, sizeof(struct bss_info)); + goto rx_mgmt_beacon_end; + } +@@ -6699,7 +6703,9 @@ static const struct iw_handler_def at76c + .standard = (iw_handler *) at76c503_handlers, + .private = (iw_handler *) at76c503_priv_handlers, + .private_args = (struct iw_priv_args *) at76c503_priv_args, +-#if WIRELESS_EXT > 15 ++#if WIRELESS_EXT > 16 ++ .get_wireless_stats = at76c503_get_wireless_stats, ++#elif WIRELESS_EXT = 16 + .spy_offset = offsetof(struct at76c503, spy_data), + #endif // #if WIRELESS_EXT > 15 + +@@ -7354,7 +7360,7 @@ struct at76c503 *alloc_new_device(struct + dev->pm_mode = pm_mode; + dev->pm_period_us = pm_period; + +- strcpy(netdev->name, netdev_name); ++ dev_alloc_name(netdev, netdev_name); + + return dev; + } /* alloc_new_device */ +@@ -7456,7 +7462,15 @@ int init_new_device(struct at76c503 *dev + netdev->open = at76c503_open; + netdev->stop = at76c503_stop; + netdev->get_stats = at76c503_get_stats; ++ ++#if WIRELESS_EXT > 16 ++ /* Add pointers to enable iwspy support. */ ++ dev->wireless_data.spy_data = &dev->spy_data; ++ netdev->wireless_data = &dev->wireless_data; ++#else /* WIRELESS_EXT > 16 */ + netdev->get_wireless_stats = at76c503_get_wireless_stats; ++#endif /* WIRELESS_EXT > 16 */ ++ + netdev->hard_start_xmit = at76c503_tx; + netdev->tx_timeout = at76c503_tx_timeout; + netdev->watchdog_timeo = 2 * HZ; +@@ -7599,7 +7613,7 @@ int at76c503_do_probe(struct module *mod + } + + dbg(DBG_DEVSTART, "firmware board %u version %u.%u.%u#%u " +- "(int %x:%x, ext %x:%x)", ++ "(int %x:%tx, ext %x:%tx)", + dev->board_type, version>>24,(version>>16)&0xff, + (version>>8)&0xff, version&0xff, + dev->intfw_size, dev->intfw-fw_data, +@@ -7655,7 +7669,7 @@ int at76c503_do_probe(struct module *mod + dbg(DBG_DEVSTART, "cannot get firmware (ret %d) or all zeros " + "- download external firmware", ret); + dbg(DBG_DEVSTART, "firmware board %u version %u.%u.%u#%u " +- "(int %x:%x, ext %x:%x)", ++ "(int %x:%tx, ext %x:%tx)", + dev->board_type, version>>24,(version>>16)&0xff, + (version>>8)&0xff, version&0xff, + dev->intfw_size, dev->intfw-fw_data, +--- at76c503.h ++++ at76c503.h +@@ -634,6 +634,10 @@ + #endif + #endif + ++#if WIRELESS_EXT > 16 ++ struct iw_public_data wireless_data; ++#endif /* WIRELESS_EXT > 16 */ ++ + /* These fields contain HW config provided by the device (not all of + * these fields are used by all board types) */ + u8 mac_addr[ETH_ALEN]; 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 index 000000000000..6bab29bf5dc6 --- /dev/null +++ b/net-wireless/at76c503a/files/digest-at76c503a-0.12_beta23-r1 @@ -0,0 +1,2 @@ +MD5 181db93685faef6fb66f223464529d64 at76c503a_0.12.beta23-1.diff.gz 4705 +MD5 e229684679a1d3926bbbf55100026d10 at76c503a_0.12.beta23.orig.tar.gz 89639 -- 2.26.2