From owner-svn-src-head@FreeBSD.ORG Thu Mar 31 08:07:13 2011 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A8532106566C; Thu, 31 Mar 2011 08:07:13 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 962CC8FC15; Thu, 31 Mar 2011 08:07:13 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id p2V87DGs096069; Thu, 31 Mar 2011 08:07:13 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p2V87DHV096049; Thu, 31 Mar 2011 08:07:13 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201103310807.p2V87DHV096049@svn.freebsd.org> From: Adrian Chadd Date: Thu, 31 Mar 2011 08:07:13 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r220185 - in head/sys: amd64/conf arm/conf conf dev/ath i386/conf mips/conf modules modules/ath modules/ath_ahb modules/ath_pci pc98/conf sparc64/conf X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 31 Mar 2011 08:07:13 -0000 Author: adrian Date: Thu Mar 31 08:07:13 2011 New Revision: 220185 URL: http://svn.freebsd.org/changeset/base/220185 Log: Break out the ath PCI logic into a separate device/module. Introduce the AHB glue for Atheros embedded systems. Right now it's hard-coded for the AR9130 chip whose support isn't yet in this HAL; it'll be added in a subsequent commit. Kernel configuration files now need both 'ath' and 'ath_pci' devices; both modules need to be loaded for the ath device to work. Added: head/sys/dev/ath/if_ath_ahb.c (contents, props changed) head/sys/modules/ath_ahb/ head/sys/modules/ath_ahb/Makefile (contents, props changed) head/sys/modules/ath_pci/ head/sys/modules/ath_pci/Makefile (contents, props changed) Modified: head/sys/amd64/conf/GENERIC head/sys/arm/conf/AVILA head/sys/arm/conf/CAMBRIA head/sys/conf/files head/sys/dev/ath/if_ath.c head/sys/dev/ath/if_ath_pci.c head/sys/i386/conf/GENERIC head/sys/i386/conf/PAE head/sys/mips/conf/AR71XX head/sys/mips/conf/IDT head/sys/mips/conf/OCTEON1 head/sys/mips/conf/SENTRY5 head/sys/modules/Makefile head/sys/modules/ath/Makefile head/sys/pc98/conf/GENERIC head/sys/sparc64/conf/GENERIC Modified: head/sys/amd64/conf/GENERIC ============================================================================== --- head/sys/amd64/conf/GENERIC Thu Mar 31 06:30:59 2011 (r220184) +++ head/sys/amd64/conf/GENERIC Thu Mar 31 08:07:13 2011 (r220185) @@ -257,7 +257,8 @@ device wlan_ccmp # 802.11 CCMP support device wlan_tkip # 802.11 TKIP support device wlan_amrr # AMRR transmit rate control algorithm device an # Aironet 4500/4800 802.11 wireless NICs. -device ath # Atheros pci/cardbus NIC's +device ath # Atheros NIC's +device ath_pci # Atheros pci/cardbus glue device ath_hal # pci/cardbus chip support options AH_SUPPORT_AR5416 # enable AR5416 tx/rx descriptors device ath_rate_sample # SampleRate tx rate control for ath Modified: head/sys/arm/conf/AVILA ============================================================================== --- head/sys/arm/conf/AVILA Thu Mar 31 06:30:59 2011 (r220184) +++ head/sys/arm/conf/AVILA Thu Mar 31 08:07:13 2011 (r220185) @@ -120,7 +120,8 @@ device wlan_ccmp # 802.11 CCMP support device wlan_tkip # 802.11 TKIP support device wlan_xauth -device ath # Atheros pci/cardbus NIC's +device ath # Atheros NIC's +device ath_pci # Atheros pci/cardbus glue options ATH_DEBUG options ATH_DIAGAPI #options ATH_TX99_DIAG Modified: head/sys/arm/conf/CAMBRIA ============================================================================== --- head/sys/arm/conf/CAMBRIA Thu Mar 31 06:30:59 2011 (r220184) +++ head/sys/arm/conf/CAMBRIA Thu Mar 31 08:07:13 2011 (r220185) @@ -123,7 +123,8 @@ device wlan_ccmp # 802.11 CCMP support device wlan_tkip # 802.11 TKIP support device wlan_xauth -device ath # Atheros pci/cardbus NIC's +device ath # Atheros NIC's +device ath_pci # Atheros pci/cardbus glue options ATH_DEBUG options ATH_DIAGAPI #options ATH_TX99_DIAG Modified: head/sys/conf/files ============================================================================== --- head/sys/conf/files Thu Mar 31 06:30:59 2011 (r220184) +++ head/sys/conf/files Thu Mar 31 08:07:13 2011 (r220185) @@ -570,6 +570,12 @@ dev/ata/atapi-fd.c optional atapifd dev/ata/atapi-tape.c optional atapist dev/ata/atapi-cam.c optional atapicam # +dev/ath/if_ath_pci.c optional ath_pci pci \ + compile-with "${NORMAL_C} -I$S/dev/ath" +# +dev/ath/if_ath_ahb.c optional ath_ahb \ + compile-with "${NORMAL_C} -I$S/dev/ath" +# dev/ath/if_ath.c optional ath \ compile-with "${NORMAL_C} -I$S/dev/ath" dev/ath/if_ath_debug.c optional ath \ @@ -582,8 +588,6 @@ dev/ath/if_ath_tx_ht.c optional ath \ compile-with "${NORMAL_C} -I$S/dev/ath" dev/ath/if_ath_sysctl.c optional ath \ compile-with "${NORMAL_C} -I$S/dev/ath" -dev/ath/if_ath_pci.c optional ath pci \ - compile-with "${NORMAL_C} -I$S/dev/ath" dev/ath/ah_osdep.c optional ath \ compile-with "${NORMAL_C} -I$S/dev/ath" # Modified: head/sys/dev/ath/if_ath.c ============================================================================== --- head/sys/dev/ath/if_ath.c Thu Mar 31 06:30:59 2011 (r220184) +++ head/sys/dev/ath/if_ath.c Thu Mar 31 08:07:13 2011 (r220185) @@ -58,6 +58,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include @@ -5591,3 +5592,5 @@ ath_tdma_beacon_send(struct ath_softc *s } #endif /* IEEE80211_SUPPORT_TDMA */ +MODULE_VERSION(if_ath, 1); +MODULE_DEPEND(if_ath, wlan, 1, 1, 1); /* 802.11 media layer */ Added: head/sys/dev/ath/if_ath_ahb.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/dev/ath/if_ath_ahb.c Thu Mar 31 08:07:13 2011 (r220185) @@ -0,0 +1,287 @@ +/*- + * Copyright (c) 2002-2008 Sam Leffler, Errno Consulting + * Copyright (c) 2010-2011 Adrian Chadd, Xenion Pty Ltd + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer, + * without modification. + * 2. Redistributions in binary form must reproduce at minimum a disclaimer + * similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any + * redistribution must be conditioned upon including a substantially + * similar Disclaimer requirement for further binary redistribution. + * + * NO WARRANTY + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTIBILITY + * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL + * THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, + * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER + * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGES. + */ + +#include +__FBSDID("$FreeBSD$"); + +/* + * AHB bus front-end for the Atheros Wireless LAN controller driver. + */ + +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include + +/* + * bus glue. + */ + +/* number of 16 bit words */ +#define ATH_EEPROM_DATA_SIZE 2048 + +struct ath_ahb_softc { + struct ath_softc sc_sc; + struct resource *sc_sr; /* memory resource */ + struct resource *sc_irq; /* irq resource */ + struct resource *sc_eeprom; /* eeprom location */ + void *sc_ih; /* interrupt handler */ +}; + +#define VENDOR_ATHEROS 0x168c +#define AR9100_DEVID 0x000b + +static int +ath_ahb_probe(device_t dev) +{ + const char* devname; + + /* Atheros / ar9100 */ + devname = ath_hal_probe(VENDOR_ATHEROS, AR9100_DEVID); + + if (devname != NULL) { + device_set_desc(dev, devname); + return BUS_PROBE_DEFAULT; + } + return ENXIO; +} + +static int +ath_ahb_attach(device_t dev) +{ + struct ath_ahb_softc *psc = device_get_softc(dev); + struct ath_softc *sc = &psc->sc_sc; + int error = ENXIO; + int rid; + long eepromaddr; + uint8_t *p; + + sc->sc_dev = dev; + + rid = 0; + psc->sc_sr = bus_alloc_resource_any(dev, SYS_RES_MEMORY, &rid, RF_ACTIVE); + if (psc->sc_sr == NULL) { + device_printf(dev, "cannot map register space\n"); + goto bad; + } + + if (resource_long_value(device_get_name(dev), device_get_unit(dev), + "eepromaddr", &eepromaddr) != 0) { + device_printf(dev, "cannot fetch 'eepromaddr' from hints\n"); + goto bad0; + } + rid = 0; + device_printf(sc->sc_dev, "eeprom @ %p\n", (void *) eepromaddr); + psc->sc_eeprom = bus_alloc_resource(dev, SYS_RES_MEMORY, &rid, (uintptr_t) eepromaddr, + (uintptr_t) eepromaddr + (uintptr_t) ((ATH_EEPROM_DATA_SIZE * 2) - 1), 0, RF_ACTIVE); + if (psc->sc_sr == NULL) { + device_printf(dev, "cannot map eeprom space\n"); + goto bad0; + } + + /* XXX uintptr_t is a bandaid for ia64; to be fixed */ + sc->sc_st = (HAL_BUS_TAG)(uintptr_t) rman_get_bustag(psc->sc_sr); + sc->sc_sh = (HAL_BUS_HANDLE) rman_get_bushandle(psc->sc_sr); + /* + * Mark device invalid so any interrupts (shared or otherwise) + * that arrive before the HAL is setup are discarded. + */ + sc->sc_invalid = 1; + + /* Copy the EEPROM data out */ + sc->sc_eepromdata = malloc(ATH_EEPROM_DATA_SIZE * 2, M_TEMP, M_NOWAIT | M_ZERO); + device_printf(sc->sc_dev, "eeprom data @ %p\n", (void *) rman_get_bushandle(psc->sc_eeprom)); + /* XXX why doesn't this work? -adrian */ +#if 0 + bus_space_read_multi_1( + rman_get_bustag(psc->sc_eeprom), + rman_get_bushandle(psc->sc_eeprom), + 0, (u_int8_t *) sc->sc_eepromdata, ATH_EEPROM_DATA_SIZE * 2); +#endif + p = (void *) rman_get_bushandle(psc->sc_eeprom); + memcpy(sc->sc_eepromdata, p, ATH_EEPROM_DATA_SIZE * 2); + + /* + * Arrange interrupt line. + */ + rid = 0; + psc->sc_irq = bus_alloc_resource_any(dev, SYS_RES_IRQ, &rid, RF_SHAREABLE|RF_ACTIVE); + if (psc->sc_irq == NULL) { + device_printf(dev, "could not map interrupt\n"); + goto bad1; + } + if (bus_setup_intr(dev, psc->sc_irq, + INTR_TYPE_NET | INTR_MPSAFE, + NULL, ath_intr, sc, &psc->sc_ih)) { + device_printf(dev, "could not establish interrupt\n"); + goto bad2; + } + + /* + * Setup DMA descriptor area. + */ + if (bus_dma_tag_create(bus_get_dma_tag(dev), /* parent */ + 1, 0, /* alignment, bounds */ + BUS_SPACE_MAXADDR_32BIT, /* lowaddr */ + BUS_SPACE_MAXADDR, /* highaddr */ + NULL, NULL, /* filter, filterarg */ + 0x3ffff, /* maxsize XXX */ + ATH_MAX_SCATTER, /* nsegments */ + 0x3ffff, /* maxsegsize XXX */ + BUS_DMA_ALLOCNOW, /* flags */ + NULL, /* lockfunc */ + NULL, /* lockarg */ + &sc->sc_dmat)) { + device_printf(dev, "cannot allocate DMA tag\n"); + goto bad3; + } + + ATH_LOCK_INIT(sc); + + error = ath_attach(AR9100_DEVID, sc); + if (error == 0) /* success */ + return 0; + + ATH_LOCK_DESTROY(sc); + bus_dma_tag_destroy(sc->sc_dmat); +bad3: + bus_teardown_intr(dev, psc->sc_irq, psc->sc_ih); +bad2: + bus_release_resource(dev, SYS_RES_IRQ, 0, psc->sc_irq); +bad1: + bus_release_resource(dev, SYS_RES_MEMORY, 0, psc->sc_eeprom); +bad0: + bus_release_resource(dev, SYS_RES_MEMORY, 0, psc->sc_sr); +bad: + /* XXX?! */ + if (sc->sc_eepromdata) + free(sc->sc_eepromdata, M_TEMP); + return (error); +} + +static int +ath_ahb_detach(device_t dev) +{ + struct ath_ahb_softc *psc = device_get_softc(dev); + struct ath_softc *sc = &psc->sc_sc; + + /* check if device was removed */ + sc->sc_invalid = !bus_child_present(dev); + + ath_detach(sc); + + bus_generic_detach(dev); + bus_teardown_intr(dev, psc->sc_irq, psc->sc_ih); + bus_release_resource(dev, SYS_RES_IRQ, 0, psc->sc_irq); + + bus_dma_tag_destroy(sc->sc_dmat); + bus_release_resource(dev, SYS_RES_MEMORY, 0, psc->sc_sr); + bus_release_resource(dev, SYS_RES_MEMORY, 0, psc->sc_eeprom); + /* XXX?! */ + if (sc->sc_eepromdata) + free(sc->sc_eepromdata, M_TEMP); + + ATH_LOCK_DESTROY(sc); + + return (0); +} + +static int +ath_ahb_shutdown(device_t dev) +{ + struct ath_ahb_softc *psc = device_get_softc(dev); + + ath_shutdown(&psc->sc_sc); + return (0); +} + +static int +ath_ahb_suspend(device_t dev) +{ + struct ath_ahb_softc *psc = device_get_softc(dev); + + ath_suspend(&psc->sc_sc); + + return (0); +} + +static int +ath_ahb_resume(device_t dev) +{ + struct ath_ahb_softc *psc = device_get_softc(dev); + + ath_resume(&psc->sc_sc); + + return (0); +} + +static device_method_t ath_ahb_methods[] = { + /* Device interface */ + DEVMETHOD(device_probe, ath_ahb_probe), + DEVMETHOD(device_attach, ath_ahb_attach), + DEVMETHOD(device_detach, ath_ahb_detach), + DEVMETHOD(device_shutdown, ath_ahb_shutdown), + DEVMETHOD(device_suspend, ath_ahb_suspend), + DEVMETHOD(device_resume, ath_ahb_resume), + + { 0,0 } +}; +static driver_t ath_ahb_driver = { + "ath", + ath_ahb_methods, + sizeof (struct ath_ahb_softc) +}; +static devclass_t ath_devclass; +DRIVER_MODULE(ath, nexus, ath_ahb_driver, ath_devclass, 0, 0); +MODULE_VERSION(ath, 1); +MODULE_DEPEND(ath, wlan, 1, 1, 1); /* 802.11 media layer */ +MODULE_DEPEND(ath, if_ath, 1, 1, 1); /* if_ath driver */ Modified: head/sys/dev/ath/if_ath_pci.c ============================================================================== --- head/sys/dev/ath/if_ath_pci.c Thu Mar 31 06:30:59 2011 (r220184) +++ head/sys/dev/ath/if_ath_pci.c Thu Mar 31 08:07:13 2011 (r220185) @@ -250,6 +250,7 @@ static driver_t ath_pci_driver = { sizeof (struct ath_pci_softc) }; static devclass_t ath_devclass; -DRIVER_MODULE(ath, pci, ath_pci_driver, ath_devclass, 0, 0); -MODULE_VERSION(ath, 1); -MODULE_DEPEND(ath, wlan, 1, 1, 1); /* 802.11 media layer */ +DRIVER_MODULE(ath_pci, pci, ath_pci_driver, ath_devclass, 0, 0); +MODULE_VERSION(ath_pci, 1); +MODULE_DEPEND(ath_pci, wlan, 1, 1, 1); /* 802.11 media layer */ +MODULE_DEPEND(ath_pci, if_ath, 1, 1, 1); /* if_ath driver */ Modified: head/sys/i386/conf/GENERIC ============================================================================== --- head/sys/i386/conf/GENERIC Thu Mar 31 06:30:59 2011 (r220184) +++ head/sys/i386/conf/GENERIC Thu Mar 31 08:07:13 2011 (r220185) @@ -269,7 +269,8 @@ device wlan_ccmp # 802.11 CCMP support device wlan_tkip # 802.11 TKIP support device wlan_amrr # AMRR transmit rate control algorithm device an # Aironet 4500/4800 802.11 wireless NICs. -device ath # Atheros pci/cardbus NIC's +device ath # Atheros NIC's +device ath_pci # Atheros pci/cardbus glue device ath_hal # pci/cardbus chip support options AH_SUPPORT_AR5416 # enable AR5416 tx/rx descriptors device ath_rate_sample # SampleRate tx rate control for ath Modified: head/sys/i386/conf/PAE ============================================================================== --- head/sys/i386/conf/PAE Thu Mar 31 06:30:59 2011 (r220184) +++ head/sys/i386/conf/PAE Thu Mar 31 08:07:13 2011 (r220185) @@ -74,6 +74,7 @@ nodevice xe nodevice an nodevice ath # Atheros pci/cardbus NIC's +nodevice ath_pci nodevice ath_hal nodevice ath_rate_sample # SampleRate tx rate control for ath nodevice ral Modified: head/sys/mips/conf/AR71XX ============================================================================== --- head/sys/mips/conf/AR71XX Thu Mar 31 06:30:59 2011 (r220184) +++ head/sys/mips/conf/AR71XX Thu Mar 31 08:07:13 2011 (r220185) @@ -55,7 +55,8 @@ device wlan_wep # 802.11 WEP sup device wlan_ccmp # 802.11 CCMP support device wlan_tkip # 802.11 TKIP support -device ath # Atheros pci/cardbus NIC's +device ath # Atheros NIC's +device ath_pci # Atheros pci/cardbus glue options ATH_DEBUG device ath_hal option AH_SUPPORT_AR5416 Modified: head/sys/mips/conf/IDT ============================================================================== --- head/sys/mips/conf/IDT Thu Mar 31 06:30:59 2011 (r220184) +++ head/sys/mips/conf/IDT Thu Mar 31 08:07:13 2011 (r220185) @@ -44,7 +44,8 @@ device md device wlan # 802.11 support device wlan_wep # 802.11 WEP support device wlan_tkip # 802.11 TKIP support -device ath # Atheros pci/cardbus NIC's +device ath # Atheros NIC's +device ath_pci # Atheros pci/cardbus glue device ath_hal # pci/cardbus chip support options AH_SUPPORT_AR5416 # enable AR5416 tx/rx descriptors device ath_rate_sample # SampleRate tx rate control for ath Modified: head/sys/mips/conf/OCTEON1 ============================================================================== --- head/sys/mips/conf/OCTEON1 Thu Mar 31 06:30:59 2011 (r220184) +++ head/sys/mips/conf/OCTEON1 Thu Mar 31 08:07:13 2011 (r220185) @@ -237,7 +237,7 @@ device wlan_ccmp # 802.11 CCMP support device wlan_tkip # 802.11 TKIP support device wlan_amrr # AMRR transmit rate control algorithm device an # Aironet 4500/4800 802.11 wireless NICs. -device ath # Atheros pci/cardbus NIC's +device ath # Atheros NIC's device ath_hal # pci/cardbus chip support options AH_SUPPORT_AR5416 # enable AR5416 tx/rx descriptors device ath_rate_sample # SampleRate tx rate control for ath Modified: head/sys/mips/conf/SENTRY5 ============================================================================== --- head/sys/mips/conf/SENTRY5 Thu Mar 31 06:30:59 2011 (r220184) +++ head/sys/mips/conf/SENTRY5 Thu Mar 31 08:07:13 2011 (r220185) @@ -66,6 +66,7 @@ device pci # siba_pcib # pci devices # notyet: #device ath # in pci slot +#device ath_pci # Atheros pci/cardbus glue #device ath_hal # pci chip support #options AH_SUPPORT_AR5416 # enable AR5416 tx/rx descriptors Modified: head/sys/modules/Makefile ============================================================================== --- head/sys/modules/Makefile Thu Mar 31 06:30:59 2011 (r220184) +++ head/sys/modules/Makefile Thu Mar 31 08:07:13 2011 (r220185) @@ -35,6 +35,8 @@ SUBDIR= ${_3dfx} \ ${_asr} \ ata \ ath \ + ath_ahb \ + ath_pci \ ${_auxio} \ bce \ bfe \ Modified: head/sys/modules/ath/Makefile ============================================================================== --- head/sys/modules/ath/Makefile Thu Mar 31 06:30:59 2011 (r220184) +++ head/sys/modules/ath/Makefile Thu Mar 31 08:07:13 2011 (r220185) @@ -35,7 +35,7 @@ ATH_RATE?= sample # tx rate control alg .PATH: ${.CURDIR}/../../dev/ath/ath_hal KMOD= if_ath -SRCS= if_ath.c if_ath_pci.c if_ath_debug.c if_ath_keycache.c if_ath_sysctl.c +SRCS= if_ath.c if_ath_debug.c if_ath_keycache.c if_ath_sysctl.c SRCS+= if_ath_tx.c if_ath_tx_ht.c # NB: v3 eeprom support used by both AR5211 and AR5212; just include it SRCS+= ah_osdep.c ah.c ah_regdomain.c ah_eeprom_v3.c Added: head/sys/modules/ath_ahb/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/modules/ath_ahb/Makefile Thu Mar 31 08:07:13 2011 (r220185) @@ -0,0 +1,41 @@ +# +# Copyright (c) 2011 Adrian Chadd, Xenion Pty Ltd +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer, +# without modification. +# 2. Redistributions in binary form must reproduce at minimum a disclaimer +# similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any +# redistribution must be conditioned upon including a substantially +# similar Disclaimer requirement for further binary redistribution. +# +# NO WARRANTY +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTIBILITY +# AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL +# THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, +# OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER +# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +# THE POSSIBILITY OF SUCH DAMAGES. +# +# $FreeBSD$ +# + +.PATH: ${.CURDIR}/../../dev/ath +.PATH: ${.CURDIR}/../../dev/ath/ath_hal + +KMOD= if_ath_ahb +SRCS= if_ath_ahb.c +SRCS+= device_if.h bus_if.h + +CFLAGS+= -I. -I${.CURDIR}/../../dev/ath -I${.CURDIR}/../../dev/ath/ath_hal + +.include Added: head/sys/modules/ath_pci/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/modules/ath_pci/Makefile Thu Mar 31 08:07:13 2011 (r220185) @@ -0,0 +1,41 @@ +# +# Copyright (c) 2011 Adrian Chadd, Xenion Pty Ltd +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer, +# without modification. +# 2. Redistributions in binary form must reproduce at minimum a disclaimer +# similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any +# redistribution must be conditioned upon including a substantially +# similar Disclaimer requirement for further binary redistribution. +# +# NO WARRANTY +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTIBILITY +# AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL +# THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, +# OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER +# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +# THE POSSIBILITY OF SUCH DAMAGES. +# +# $FreeBSD$ +# + +.PATH: ${.CURDIR}/../../dev/ath +.PATH: ${.CURDIR}/../../dev/ath/ath_hal + +KMOD= if_ath_pci +SRCS= if_ath_pci.c +SRCS+= device_if.h bus_if.h pci_if.h + +CFLAGS+= -I. -I${.CURDIR}/../../dev/ath -I${.CURDIR}/../../dev/ath/ath_hal + +.include Modified: head/sys/pc98/conf/GENERIC ============================================================================== --- head/sys/pc98/conf/GENERIC Thu Mar 31 06:30:59 2011 (r220184) +++ head/sys/pc98/conf/GENERIC Thu Mar 31 08:07:13 2011 (r220185) @@ -221,7 +221,8 @@ device xe # Xircom pccard Ethernet #device wlan_tkip # 802.11 TKIP support #device wlan_amrr # AMRR transmit rate control algorithm #device an # Aironet 4500/4800 802.11 wireless NICs. -#device ath # Atheros pci/cardbus NIC's +#device ath # Atheros NIC's +#device ath_pci # Atheros pci/cardbus glue #device ath_hal # pci/cardbus chip support #options AH_SUPPORT_AR5416 # enable AR5416 tx/rx descriptors #device ath_rate_sample # SampleRate tx rate control for ath Modified: head/sys/sparc64/conf/GENERIC ============================================================================== --- head/sys/sparc64/conf/GENERIC Thu Mar 31 06:30:59 2011 (r220184) +++ head/sys/sparc64/conf/GENERIC Thu Mar 31 08:07:13 2011 (r220185) @@ -203,7 +203,8 @@ device wlan_wep # 802.11 WEP support device wlan_ccmp # 802.11 CCMP support device wlan_tkip # 802.11 TKIP support device wlan_amrr # AMRR transmit rate control algorithm -device ath # Atheros pci/cardbus NIC's +device ath # Atheros NIC's +device ath_pci # Atheros pci/cardbus glue device ath_hal # Atheros HAL (Hardware Access Layer) options AH_SUPPORT_AR5416 # enable AR5416 tx/rx descriptors device ath_rate_sample # SampleRate tx rate control for ath