Author: sam
Date: Mon Dec  1 16:53:01 2008
New Revision: 185522
URL: http://svn.freebsd.org/changeset/base/185522

Log:
  Switch to ath hal source code. Note this removes the ath_hal
  module; the ath module now brings in the hal support.  Kernel
  config files are almost backwards compatible; supplying
  
  device ath_hal
  
  gives you the same chip support that the binary hal did but you
  must also include
  
  options AH_SUPPORT_AR5416
  
  to enable the extended format descriptors used by 11n parts.
  It is now possible to control the chip support included in a
  build by specifying exactly which chips are to be supported
  in the config file; consult ath_hal(4) for information.

Deleted:
  head/sys/contrib/dev/ath/
  head/sys/modules/ath_hal/
Modified:
  head/UPDATING
  head/share/man/man4/ath_hal.4
  head/sys/amd64/conf/GENERIC
  head/sys/amd64/conf/NOTES
  head/sys/arm/conf/AVILA
  head/sys/conf/files
  head/sys/conf/files.amd64
  head/sys/conf/files.arm
  head/sys/conf/files.i386
  head/sys/conf/files.mips
  head/sys/conf/files.pc98
  head/sys/conf/files.powerpc
  head/sys/conf/files.sparc64
  head/sys/conf/kern.pre.mk
  head/sys/conf/options
  head/sys/dev/ath/ah_osdep.c
  head/sys/dev/ath/ah_osdep.h
  head/sys/dev/ath/ath_rate/amrr/amrr.c
  head/sys/dev/ath/ath_rate/onoe/onoe.c
  head/sys/dev/ath/ath_rate/sample/sample.c
  head/sys/dev/ath/if_ath.c
  head/sys/dev/ath/if_ath_pci.c
  head/sys/dev/ath/if_athvar.h
  head/sys/i386/conf/GENERIC
  head/sys/i386/conf/NOTES
  head/sys/i386/conf/PAE
  head/sys/mips/conf/IDT
  head/sys/mips/conf/SENTRY5
  head/sys/modules/Makefile
  head/sys/modules/ath/Makefile
  head/sys/modules/ath_rate_amrr/Makefile
  head/sys/modules/ath_rate_onoe/Makefile
  head/sys/modules/ath_rate_sample/Makefile
  head/sys/pc98/conf/GENERIC
  head/sys/pc98/conf/NOTES
  head/sys/sparc64/conf/GENERIC
  head/sys/sys/param.h

Modified: head/UPDATING
==============================================================================
--- head/UPDATING       Mon Dec  1 16:43:08 2008        (r185521)
+++ head/UPDATING       Mon Dec  1 16:53:01 2008        (r185522)
@@ -22,6 +22,21 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 8.
        to maximize performance.  (To disable malloc debugging, run
        ln -s aj /etc/malloc.conf.)
 
+20081130:
+       __FreeBSD_version 800057 marks the switchover from the
+       binary ath hal to source code. Users must add the line:
+
+       options ATH_SUPPORT_AR5416
+
+       to their kernel config files when specifying:
+
+       device  ath_hal
+
+       The ath_hal module no longer exists; the code is now compiled
+       together with the driver in the ath module.  It is now
+       possible to tailor chip support (i.e. reduce the set of chips
+       and thereby the code size); consult ath_hal(4) for details.
+
 20081121:
        __FreeBSD_version 800054 adds memory barriers to 
        <machine/atomic.h>, new interfaces to ifnet to facilitate 

Modified: head/share/man/man4/ath_hal.4
==============================================================================
--- head/share/man/man4/ath_hal.4       Mon Dec  1 16:43:08 2008        
(r185521)
+++ head/share/man/man4/ath_hal.4       Mon Dec  1 16:53:01 2008        
(r185522)
@@ -1,5 +1,5 @@
 .\"-
-.\" Copyright (c) 2002, 2003 Sam Leffler, Errno Consulting
+.\" Copyright (c) 2002-2008 Sam Leffler, Errno Consulting
 .\" All rights reserved.
 .\""
 .\" Redistribution and use in source and binary forms, with or without
@@ -12,9 +12,6 @@
 .\"    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.
-.\" 3. Neither the names of the above-listed copyright holders nor the names
-.\"    of any contributors may be used to endorse or promote products derived
-.\"    from this software without specific prior written permission.
 .\"
 .\" NO WARRANTY
 .\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
@@ -31,7 +28,7 @@
 .\"
 .\" $FreeBSD$
 .\"/
-.Dd August 26, 2004
+.Dd November 30, 2008
 .Dt ATH_HAL 4
 .Os
 .Sh NAME
@@ -39,18 +36,44 @@
 .Nd "Atheros Hardware Access Layer (HAL)"
 .Sh SYNOPSIS
 .Cd "device ath_hal"
+.Cd "options AH_SUPPORT_AR5416"
+or
+.Cd "device ath_ar5210"
+.Cd "device ath_ar5211"
+.Cd "device ath_ar5212"
+.Cd "device ath_rf2413"
+.Cd "device ath_rf2417"
+.Cd "device ath_rf2425"
+.Cd "device ath_rf5111"
+.Cd "device ath_rf5112"
+.Cd "device ath_rf5413"
+.Cd "device ath_ar5416"
+.\".Cd "device ath_ar5312"
+.\".Cd "device ath_rf2136"
+.\".Cd "device ath_rf2137"
+.Cd "device ath_ar9160"
+.Cd "options AH_SUPPORT_AR5416"
 .Sh DESCRIPTION
-The
-.Nm
-module provides hardware support for wireless network adapters based on
-the Atheros AR5210, AR5211, and AR5212 chips.
-This module is required by the
+The hal provides hardware support for wireless network adapters based on
+the Atheros AR5210, AR5211, AR5212, AR5416, and AR9160 chips.
+This code is part of the
 .Xr ath 4
-driver.
-.Pp
-Devices supported by the
+driver but configured separately to allow fine-grained control
+over the set of chips supported.
+Selecting
 .Nm
-module come in either Cardbus or mini-PCI packages.
+enables support for all PCI and Cardbus devices.
+Note this includes AR5416 devices and must be accompanied by the
+AH_SUPPORT_AR5416
+option to enable the extended hardware descriptor format used by
+AR5416 and later devices.
+.Pp
+Devices supported come in either Cardbus or mini-PCI packages.
+.Pp
+Historically this code has been released in a binary-only form
+and packaged as a separate module.
+With the release of source code for the hal this is no longer true
+and the code is tightly integrated with the driver.
 .Sh HARDWARE
 The following cards are among those supported by the
 .Nm
@@ -105,16 +128,6 @@ The
 .Nm
 module first appeared in
 .Fx 5.2 .
-.Sh CAVEATS
-The
-.Nm
-module is constructed from a binary component and
-operating system-dependent source code.
-Redistribution and use in source and binary forms, without
-modification, are permitted provided that the conditions
-set forth in
-.Pa sys/contrib/dev/ath/COPYRIGHT
-are observed.
 .Sh BUGS
 See
 .Xr ath 4

Modified: head/sys/amd64/conf/GENERIC
==============================================================================
--- head/sys/amd64/conf/GENERIC Mon Dec  1 16:43:08 2008        (r185521)
+++ head/sys/amd64/conf/GENERIC Mon Dec  1 16:53:01 2008        (r185522)
@@ -249,7 +249,8 @@ 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_hal         # Atheros HAL (Hardware Access Layer)
+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
 device         ral             # Ralink Technology RT2500 wireless NICs.
 device         wi              # WaveLAN/Intersil/Symbol 802.11 wireless NICs.

Modified: head/sys/amd64/conf/NOTES
==============================================================================
--- head/sys/amd64/conf/NOTES   Mon Dec  1 16:43:08 2008        (r185521)
+++ head/sys/amd64/conf/NOTES   Mon Dec  1 16:53:01 2008        (r185522)
@@ -258,7 +258,6 @@ options     DRM_DEBUG       # Include debug print
 # Network interfaces:
 #
 
-# ath:  Atheros a/b/g WiFi adapters (requires ath_hal and wlan)
 # ed:   Western Digital and SMC 80xx; Novell NE1000 and NE2000; 3Com 3C503
 #       HP PC Lan+, various PC Card devices
 #       (requires miibus)
@@ -284,12 +283,12 @@ device            ral
 device         ural
 device         wpi
 
-device         ath
-device         ath_hal         # Atheros HAL (includes binary component)
-#device                ath_rate_amrr   # AMRR rate control for ath driver
-#device                ath_rate_onoe   # Onoe rate control for ath driver
-device         ath_rate_sample # SampleRate rate control for the ath driver
-#device                wlan            # 802.11 layer
+device         ath                     # Atheros pci/cardbus 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
+#device                ath_rate_amrr           # AMRR rate control for ath 
driver
+#device                ath_rate_onoe           # Onoe rate control for ath 
driver
 
 #
 #XXX this stores pointers in a 32bit field that is defined by the hardware

Modified: head/sys/arm/conf/AVILA
==============================================================================
--- head/sys/arm/conf/AVILA     Mon Dec  1 16:43:08 2008        (r185521)
+++ head/sys/arm/conf/AVILA     Mon Dec  1 16:53:01 2008        (r185522)
@@ -128,6 +128,7 @@ device              wlan_tkip       # 802.11 TKIP support
 device         wlan_xauth
 device         ath             # Atheros pci/cardbus NIC's
 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
 options        ATH_DEBUG
 

Modified: head/sys/conf/files
==============================================================================
--- head/sys/conf/files Mon Dec  1 16:43:08 2008        (r185521)
+++ head/sys/conf/files Mon Dec  1 16:53:01 2008        (r185522)
@@ -503,18 +503,179 @@ dev/ata/atapi-fd.c               optional atapifd
 dev/ata/atapi-tape.c           optional atapist
 dev/ata/atapi-cam.c            optional atapicam
 #
-dev/ath/ah_osdep.c optional ath_hal \
+dev/ath/if_ath.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"
+dev/ath/ath_hal/ah.c           optional ath \
+       compile-with "${NORMAL_C} -I$S/dev/ath"
+dev/ath/ath_hal/ah_eeprom_v1.c optional ath_hal | ath_ar5210 \
+       compile-with "${NORMAL_C} -I$S/dev/ath"
+dev/ath/ath_hal/ah_eeprom_v3.c optional ath_hal | ath_ar5211 | ath_ar5212 \
        compile-with "${NORMAL_C} -I$S/dev/ath"
+dev/ath/ath_hal/ah_eeprom_v14.c optional ath_hal | ath_ar5416 | ath_ar9160 \
+       compile-with "${NORMAL_C} -I$S/dev/ath"
+dev/ath/ath_hal/ah_regdomain.c optional ath \
+       compile-with "${NORMAL_C} -I$S/dev/ath"
+dev/ath/ath_hal/ar5210/ar5210_attach.c         optional ath_hal | ath_ar5210 \
+       compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
+dev/ath/ath_hal/ar5210/ar5210_beacon.c         optional ath_hal | ath_ar5210 \
+       compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
+dev/ath/ath_hal/ar5210/ar5210_interrupts.c     optional ath_hal | ath_ar5210 \
+       compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
+dev/ath/ath_hal/ar5210/ar5210_keycache.c       optional ath_hal | ath_ar5210 \
+       compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
+dev/ath/ath_hal/ar5210/ar5210_misc.c           optional ath_hal | ath_ar5210 \
+       compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
+dev/ath/ath_hal/ar5210/ar5210_phy.c            optional ath_hal | ath_ar5210 \
+       compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
+dev/ath/ath_hal/ar5210/ar5210_power.c          optional ath_hal | ath_ar5210 \
+       compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
+dev/ath/ath_hal/ar5210/ar5210_recv.c           optional ath_hal | ath_ar5210 \
+       compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
+dev/ath/ath_hal/ar5210/ar5210_reset.c          optional ath_hal | ath_ar5210 \
+       compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
+dev/ath/ath_hal/ar5210/ar5210_xmit.c           optional ath_hal | ath_ar5210 \
+       compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
+dev/ath/ath_hal/ar5211/ar5211_attach.c         optional ath_hal | ath_ar5211 \
+       compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
+dev/ath/ath_hal/ar5211/ar5211_beacon.c         optional ath_hal | ath_ar5211 \
+       compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
+dev/ath/ath_hal/ar5211/ar5211_interrupts.c     optional ath_hal | ath_ar5211 \
+       compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
+dev/ath/ath_hal/ar5211/ar5211_keycache.c       optional ath_hal | ath_ar5211 \
+       compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
+dev/ath/ath_hal/ar5211/ar5211_misc.c           optional ath_hal | ath_ar5211 \
+       compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
+dev/ath/ath_hal/ar5211/ar5211_phy.c            optional ath_hal | ath_ar5211 \
+       compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
+dev/ath/ath_hal/ar5211/ar5211_power.c          optional ath_hal | ath_ar5211 \
+       compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
+dev/ath/ath_hal/ar5211/ar5211_recv.c           optional ath_hal | ath_ar5211 \
+       compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
+dev/ath/ath_hal/ar5211/ar5211_reset.c          optional ath_hal | ath_ar5211 \
+       compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
+dev/ath/ath_hal/ar5211/ar5211_xmit.c           optional ath_hal | ath_ar5211 \
+       compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
+dev/ath/ath_hal/ar5212/ar5212_ani.c \
+       optional ath_hal | ath_ar5212 | ath_ar5416 | ath_ar9160 \
+       compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
+dev/ath/ath_hal/ar5212/ar5212_attach.c \
+       optional ath_hal | ath_ar5212 | ath_ar5416 | ath_ar9160 \
+       compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
+dev/ath/ath_hal/ar5212/ar5212_beacon.c \
+       optional ath_hal | ath_ar5212 | ath_ar5416 | ath_ar9160 \
+       compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
+dev/ath/ath_hal/ar5212/ar5212_eeprom.c \
+       optional ath_hal | ath_ar5212 | ath_ar5416 | ath_ar9160 \
+       compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
+dev/ath/ath_hal/ar5212/ar5212_gpio.c \
+       optional ath_hal | ath_ar5212 | ath_ar5416 | ath_ar9160 \
+       compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
+dev/ath/ath_hal/ar5212/ar5212_interrupts.c \
+       optional ath_hal | ath_ar5212 | ath_ar5416 | ath_ar9160 \
+       compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
+dev/ath/ath_hal/ar5212/ar5212_keycache.c \
+       optional ath_hal | ath_ar5212 | ath_ar5416 | ath_ar9160 \
+       compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
+dev/ath/ath_hal/ar5212/ar5212_misc.c \
+       optional ath_hal | ath_ar5212 | ath_ar5416 | ath_ar9160 \
+       compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
+dev/ath/ath_hal/ar5212/ar5212_phy.c \
+       optional ath_hal | ath_ar5212 | ath_ar5416 | ath_ar9160 \
+       compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
+dev/ath/ath_hal/ar5212/ar5212_power.c \
+       optional ath_hal | ath_ar5212 | ath_ar5416 | ath_ar9160 \
+       compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
+dev/ath/ath_hal/ar5212/ar5212_recv.c \
+       optional ath_hal | ath_ar5212 | ath_ar5416 | ath_ar9160 \
+       compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
+dev/ath/ath_hal/ar5212/ar5212_reset.c \
+       optional ath_hal | ath_ar5212 | ath_ar5416 | ath_ar9160 \
+       compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
+dev/ath/ath_hal/ar5212/ar5212_rfgain.c \
+       optional ath_hal | ath_ar5212 | ath_ar5416 | ath_ar9160 \
+       compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
+dev/ath/ath_hal/ar5212/ar5212_xmit.c \
+       optional ath_hal | ath_ar5212 | ath_ar5416 | ath_ar9160 \
+       compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
+dev/ath/ath_hal/ar5212/ar2316.c        optional ath_rf2316 \
+       compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
+dev/ath/ath_hal/ar5212/ar2317.c        optional ath_rf2317 \
+       compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
+dev/ath/ath_hal/ar5212/ar2413.c        optional ath_hal | ath_rf2413 \
+       compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
+dev/ath/ath_hal/ar5212/ar2425.c        optional ath_hal | ath_rf2425 | 
ath_rf2417 \
+       compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
+dev/ath/ath_hal/ar5212/ar5111.c        optional ath_hal | ath_rf5111 \
+       compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
+dev/ath/ath_hal/ar5212/ar5112.c        optional ath_hal | ath_rf5112 \
+       compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
+dev/ath/ath_hal/ar5212/ar5413.c        optional ath_hal | ath_rf5413 \
+       compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
+dev/ath/ath_hal/ar5416/ar2133.c        optional ath_hal | ath_ar5416 | 
ath_ar9160 \
+       compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
+dev/ath/ath_hal/ar5416/ar5416_ani.c \
+       optional ath_hal | ath_ar5416 | ath_ar9160 \
+       compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
+dev/ath/ath_hal/ar5416/ar5416_attach.c \
+       optional ath_hal | ath_ar5416 | ath_ar9160 \
+       compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
+dev/ath/ath_hal/ar5416/ar5416_beacon.c \
+       optional ath_hal | ath_ar5416 | ath_ar9160 \
+       compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
+dev/ath/ath_hal/ar5416/ar5416_cal.c \
+       optional ath_hal | ath_ar5416 | ath_ar9160 \
+       compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
+dev/ath/ath_hal/ar5416/ar5416_cal_iq.c \
+       optional ath_hal | ath_ar5416 | ath_ar9160 \
+       compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
+dev/ath/ath_hal/ar5416/ar5416_cal_adcgain.c \
+       optional ath_hal | ath_ar5416 | ath_ar9160 \
+       compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
+dev/ath/ath_hal/ar5416/ar5416_cal_adcdc.c \
+       optional ath_hal | ath_ar5416 | ath_ar9160 \
+       compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
+dev/ath/ath_hal/ar5416/ar5416_eeprom.c \
+       optional ath_hal | ath_ar5416 | ath_ar9160 \
+       compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
+dev/ath/ath_hal/ar5416/ar5416_gpio.c \
+       optional ath_hal | ath_ar5416 | ath_ar9160 \
+       compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
+dev/ath/ath_hal/ar5416/ar5416_interrupts.c \
+       optional ath_hal | ath_ar5416 | ath_ar9160 \
+       compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
+dev/ath/ath_hal/ar5416/ar5416_keycache.c \
+       optional ath_hal | ath_ar5416 | ath_ar9160 \
+       compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
+dev/ath/ath_hal/ar5416/ar5416_misc.c \
+       optional ath_hal | ath_ar5416 | ath_ar9160 \
+       compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
+dev/ath/ath_hal/ar5416/ar5416_phy.c \
+       optional ath_hal | ath_ar5416 | ath_ar9160 \
+       compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
+dev/ath/ath_hal/ar5416/ar5416_power.c \
+       optional ath_hal | ath_ar5416 | ath_ar9160 \
+       compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
+dev/ath/ath_hal/ar5416/ar5416_recv.c \
+       optional ath_hal | ath_ar5416 | ath_ar9160 \
+       compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
+dev/ath/ath_hal/ar5416/ar5416_reset.c \
+       optional ath_hal | ath_ar5416 | ath_ar9160 \
+       compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
+dev/ath/ath_hal/ar5416/ar5416_xmit.c \
+       optional ath_hal | ath_ar5416 | ath_ar9160 \
+       compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
+dev/ath/ath_hal/ar5416/ar9160_attach.c optional ath_hal | ath_ar9160 \
+       compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
 dev/ath/ath_rate/amrr/amrr.c   optional ath_rate_amrr \
        compile-with "${NORMAL_C} -I$S/dev/ath"
 dev/ath/ath_rate/onoe/onoe.c   optional ath_rate_onoe \
        compile-with "${NORMAL_C} -I$S/dev/ath"
 dev/ath/ath_rate/sample/sample.c       optional ath_rate_sample \
        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_pci.c           optional ath pci \
-       compile-with "${NORMAL_C} -I$S/dev/ath"
 dev/bce/if_bce.c               optional bce
 dev/bfe/if_bfe.c               optional bfe
 dev/bge/if_bge.c               optional bge

Modified: head/sys/conf/files.amd64
==============================================================================
--- head/sys/conf/files.amd64   Mon Dec  1 16:43:08 2008        (r185521)
+++ head/sys/conf/files.amd64   Mon Dec  1 16:53:01 2008        (r185522)
@@ -47,16 +47,6 @@ ukbdmap.h                    optional        
ukbd_dflt_keymap        \
        no-obj no-implicit-rule before-depend                           \
        clean           "ukbdmap.h"
 #
-hal.o                          optional        ath_hal                 \
-       dependency      "$S/contrib/dev/ath/public/x86_64-elf.hal.o.uu" \
-       compile-with    "uudecode < 
$S/contrib/dev/ath/public/x86_64-elf.hal.o.uu" \
-       no-implicit-rule
-opt_ah.h                       optional        ath_hal                 \
-       dependency      "$S/contrib/dev/ath/public/x86_64-elf.opt_ah.h" \
-       compile-with    "rm -f opt_ah.h; cp 
$S/contrib/dev/ath/public/x86_64-elf.opt_ah.h opt_ah.h" \
-       no-obj no-implicit-rule before-depend                           \
-       clean           "opt_ah.h"
-#
 nvenetlib.o                    optional        nve pci                 \
        dependency      "$S/contrib/dev/nve/amd64/nvenetlib.o.bz2.uu"   \
        compile-with    "uudecode $S/contrib/dev/nve/amd64/nvenetlib.o.bz2.uu ; 
bzip2 -df nvenetlib.o.bz2" \

Modified: head/sys/conf/files.arm
==============================================================================
--- head/sys/conf/files.arm     Mon Dec  1 16:43:08 2008        (r185521)
+++ head/sys/conf/files.arm     Mon Dec  1 16:53:01 2008        (r185522)
@@ -51,13 +51,6 @@ geom/geom_bsd.c                      optional        geom_bsd
 geom/geom_bsd_enc.c            optional        geom_bsd
 geom/geom_mbr.c                        optional        geom_mbr
 geom/geom_mbr_enc.c            optional        geom_mbr
-hal.o                          optional        ath_hal         \
-       compile-with            "ATH_HAL_CPU=`echo ${CONF_CFLAGS}|sed 
's/.*-mcpu=\([a-zA-Z0-9]*\).*/\1/'`; ATH_ENDIAN=`if (echo ${CC}|grep 
mbig-endian>/dev/null); then echo be; else echo le; fi;`; uudecode < 
$S/contrib/dev/ath/public/$$ATH_HAL_CPU-$$ATH_ENDIAN-elf.hal.o.uu" \
-       no-implicit-rule
-opt_ah.h                       optional        ath_hal         \
-       compile-with            "ATH_HAL_CPU=`echo ${CONF_CFLAGS}|sed 
's/.*-mcpu=\([a-zA-Z0-9]*\).*/\1/'`; ATH_ENDIAN=`if (echo ${CC}|grep 
mbig-endian>/dev/null); then echo be; else echo le; fi;`; rm -f opt_ah.h; cp 
$S/contrib/dev/ath/public/$$ATH_HAL_CPU-$$ATH_ENDIAN-elf.opt_ah.h opt_ah.h" \
-       no-obj no-implicit-rule before-depend                   \
-       clean           "opt_ah.h"
 libkern/arm/divsi3.S           standard
 libkern/arm/ffs.S              standard
 libkern/arm/muldi3.c           standard

Modified: head/sys/conf/files.i386
==============================================================================
--- head/sys/conf/files.i386    Mon Dec  1 16:43:08 2008        (r185521)
+++ head/sys/conf/files.i386    Mon Dec  1 16:53:01 2008        (r185522)
@@ -46,16 +46,6 @@ ukbdmap.h                    optional        
ukbd_dflt_keymap        \
        no-obj no-implicit-rule before-depend                           \
        clean           "ukbdmap.h"
 #
-hal.o                          optional        ath_hal                 \
-       dependency      "$S/contrib/dev/ath/public/i386-elf.hal.o.uu"   \
-       compile-with    "uudecode < 
$S/contrib/dev/ath/public/i386-elf.hal.o.uu" \
-       no-implicit-rule
-opt_ah.h                       optional        ath_hal                 \
-       dependency      "$S/contrib/dev/ath/public/i386-elf.opt_ah.h"   \
-       compile-with    "rm -f opt_ah.h; cp 
$S/contrib/dev/ath/public/i386-elf.opt_ah.h opt_ah.h" \
-       no-obj no-implicit-rule before-depend                           \
-       clean           "opt_ah.h"
-#
 nvenetlib.o                    optional        nve pci                 \
        dependency      "$S/contrib/dev/nve/i386/nvenetlib.o.bz2.uu"    \
        compile-with    "uudecode $S/contrib/dev/nve/i386/nvenetlib.o.bz2.uu ; 
bzip2 -df nvenetlib.o.bz2" \

Modified: head/sys/conf/files.mips
==============================================================================
--- head/sys/conf/files.mips    Mon Dec  1 16:43:08 2008        (r185521)
+++ head/sys/conf/files.mips    Mon Dec  1 16:53:01 2008        (r185522)
@@ -75,13 +75,6 @@ geom/geom_bsd.c                      optional        geom_bsd
 geom/geom_bsd_enc.c            optional        geom_bsd
 geom/geom_mbr.c                        optional        geom_mbr
 geom/geom_mbr_enc.c            optional        geom_mbr
-hal.o                          optional        ath_hal         \
-       compile-with            "ATH_HAL_CPU=mips; ATH_ENDIAN=`if ([ 
x${TARGET_BIG_ENDIAN} = x ]); then echo le; else echo be; fi;`; uudecode < 
$S/contrib/dev/ath/public/$$ATH_HAL_CPU-$$ATH_ENDIAN-elf.hal.o.uu" \
-       no-implicit-rule
-opt_ah.h                       optional        ath_hal         \
-       compile-with            "ATH_HAL_CPU=mips; ATH_ENDIAN=`if ([ 
x${TARGET_BIG_ENDIAN} = x ]); then echo le; else echo be; fi;`; rm -f opt_ah.h; 
cp $S/contrib/dev/ath/public/$$ATH_HAL_CPU-$$ATH_ENDIAN-elf.opt_ah.h opt_ah.h" \
-       no-obj no-implicit-rule before-depend                   \
-       clean           "opt_ah.h"
 libkern/ashldi3.c              standard
 libkern/ashrdi3.c              standard
 libkern/divdi3.c               standard

Modified: head/sys/conf/files.pc98
==============================================================================
--- head/sys/conf/files.pc98    Mon Dec  1 16:43:08 2008        (r185521)
+++ head/sys/conf/files.pc98    Mon Dec  1 16:53:01 2008        (r185522)
@@ -38,16 +38,6 @@ ukbdmap.h                    optional        
ukbd_dflt_keymap        \
        no-obj no-implicit-rule before-depend                           \
        clean           "ukbdmap.h"
 #
-hal.o                          optional        ath_hal                 \
-       dependency      "$S/contrib/dev/ath/public/i386-elf.hal.o.uu"   \
-       compile-with    "uudecode < 
$S/contrib/dev/ath/public/i386-elf.hal.o.uu" \
-       no-implicit-rule
-opt_ah.h                       optional        ath_hal                 \
-       dependency      "$S/contrib/dev/ath/public/i386-elf.opt_ah.h"   \
-       compile-with    "rm -f opt_ah.h; cp 
$S/contrib/dev/ath/public/i386-elf.opt_ah.h opt_ah.h" \
-       no-obj no-implicit-rule before-depend                           \
-       clean           "opt_ah.h"
-#
 compat/linprocfs/linprocfs.c   optional linprocfs
 compat/linsysfs/linsysfs.c     optional linsysfs
 compat/linux/linux_emul.c      optional compat_linux

Modified: head/sys/conf/files.powerpc
==============================================================================
--- head/sys/conf/files.powerpc Mon Dec  1 16:43:08 2008        (r185521)
+++ head/sys/conf/files.powerpc Mon Dec  1 16:53:01 2008        (r185522)
@@ -14,16 +14,6 @@ font.h                               optional        sc      
                \
        no-obj no-implicit-rule before-depend                           \
        clean   "font.h ${SC_DFLT_FONT}-8x14 ${SC_DFLT_FONT}-8x16 
${SC_DFLT_FONT}-8x8"
 #
-hal.o                          optional        ath_hal                 \
-       dependency      "$S/contrib/dev/ath/public/powerpc-be-elf.hal.o.uu"     
\
-       compile-with    "uudecode < 
$S/contrib/dev/ath/public/powerpc-be-elf.hal.o.uu" \
-       no-implicit-rule
-opt_ah.h                       optional        ath_hal                 \
-       dependency      "$S/contrib/dev/ath/public/powerpc-be-elf.opt_ah.h"     
\
-       compile-with    "rm -f opt_ah.h; cp 
$S/contrib/dev/ath/public/powerpc-be-elf.opt_ah.h opt_ah.h" \
-       no-obj no-implicit-rule before-depend                           \
-       clean           "opt_ah.h"
-#
 
 crypto/blowfish/bf_enc.c       optional        crypto | ipsec
 crypto/des/des_enc.c           optional        crypto | ipsec | netsmb

Modified: head/sys/conf/files.sparc64
==============================================================================
--- head/sys/conf/files.sparc64 Mon Dec  1 16:43:08 2008        (r185521)
+++ head/sys/conf/files.sparc64 Mon Dec  1 16:53:01 2008        (r185522)
@@ -22,16 +22,6 @@ ukbdmap.h                    optional        
ukbd_dflt_keymap        \
        no-obj no-implicit-rule before-depend                           \
        clean           "ukbdmap.h"
 #
-hal.o                          optional        ath_hal                 \
-       dependency      "$S/contrib/dev/ath/public/sparc64-be-elf.hal.o.uu"     
\
-       compile-with    "uudecode < 
$S/contrib/dev/ath/public/sparc64-be-elf.hal.o.uu" \
-       no-implicit-rule
-opt_ah.h                       optional        ath_hal                 \
-       dependency      "$S/contrib/dev/ath/public/sparc64-be-elf.opt_ah.h"     
\
-       compile-with    "rm -f opt_ah.h; cp 
$S/contrib/dev/ath/public/sparc64-be-elf.opt_ah.h opt_ah.h" \
-       no-obj no-implicit-rule before-depend                           \
-       clean           "opt_ah.h"
-#
 crypto/blowfish/bf_enc.c       optional        crypto | ipsec 
 crypto/des/des_enc.c           optional        crypto | ipsec | netsmb
 dev/atkbdc/atkbd.c             optional        atkbd atkbdc

Modified: head/sys/conf/kern.pre.mk
==============================================================================
--- head/sys/conf/kern.pre.mk   Mon Dec  1 16:43:08 2008        (r185521)
+++ head/sys/conf/kern.pre.mk   Mon Dec  1 16:53:01 2008        (r185522)
@@ -66,8 +66,8 @@ INCLUDES+= -I$S/contrib/ipfilter
 # ... and the same for pf
 INCLUDES+= -I$S/contrib/pf
 
-# ... and the same for Atheros HAL
-INCLUDES+= -I$S/dev/ath
+# ... and the same for ath
+INCLUDES+= -I$S/dev/ath -I$S/dev/ath/ath_hal
 
 # ... and the same for the NgATM stuff
 INCLUDES+= -I$S/contrib/ngatm

Modified: head/sys/conf/options
==============================================================================
--- head/sys/conf/options       Mon Dec  1 16:43:08 2008        (r185521)
+++ head/sys/conf/options       Mon Dec  1 16:53:01 2008        (r185522)
@@ -740,6 +740,21 @@ ATH_RXBUF          opt_ath.h
 ATH_DIAGAPI            opt_ath.h
 ATH_TX99_DIAG          opt_ath.h
 
+# options for the Atheros hal
+AH_SUPPORT_AR5416      opt_ah.h
+
+AH_DEBUG               opt_ah.h
+AH_ASSERT              opt_ah.h
+AH_DEBUG_ALQ           opt_ah.h
+AH_REGOPS_FUNC         opt_ah.h
+AH_WRITE_REGDOMAIN     opt_ah.h
+AH_DEBUG_COUNTRY       opt_ah.h
+AH_WRITE_EEPROM                opt_ah.h
+AH_PRIVATE_DIAG                opt_ah.h
+AH_NEED_DESC_SWAP      opt_ah.h
+AH_USE_INIPDGAIN       opt_ah.h
+AH_SUPPORT_11D         opt_ah.h
+
 # options for the Marvell 8335 wireless driver
 MALO_DEBUG             opt_malo.h
 MALO_TXBUF             opt_malo.h

Modified: head/sys/dev/ath/ah_osdep.c
==============================================================================
--- head/sys/dev/ath/ah_osdep.c Mon Dec  1 16:43:08 2008        (r185521)
+++ head/sys/dev/ath/ah_osdep.c Mon Dec  1 16:53:01 2008        (r185522)
@@ -43,7 +43,7 @@
 
 #include <net/ethernet.h>              /* XXX for ether_sprintf */
 
-#include <contrib/dev/ath/ah.h>
+#include <dev/ath/ath_hal/ah.h>
 
 /*
  * WiSoC boards overload the bus tag with information about the
@@ -56,7 +56,7 @@
 #define        BUSTAG(ah) \
        ((bus_space_tag_t) ((struct ar531x_config *)((ah)->ah_st))->tag)
 #else
-#define        BUSTAG(ah)      ((bus_space_tag_t) (ah)->ah_st)
+#define        BUSTAG(ah)      ((ah)->ah_st)
 #endif
 
 extern void ath_hal_printf(struct ath_hal *, const char*, ...)
@@ -90,9 +90,6 @@ SYSCTL_INT(_hw_ath_hal, OID_AUTO, debug,
 TUNABLE_INT("hw.ath.hal.debug", &ath_hal_debug);
 #endif /* AH_DEBUG */
 
-SYSCTL_STRING(_hw_ath_hal, OID_AUTO, version, CTLFLAG_RD, ath_hal_version, 0,
-       "Atheros HAL version");
-
 /* NB: these are deprecated; they exist for now for compatibility */
 int    ath_hal_dma_beacon_response_time = 2;   /* in TU's */
 SYSCTL_INT(_hw_ath_hal, OID_AUTO, dma_brt, CTLFLAG_RW,
@@ -195,7 +192,7 @@ HALDEBUGn(struct ath_hal *ah, u_int leve
  */
 #include <sys/alq.h>
 #include <sys/pcpu.h>
-#include <contrib/dev/ath/ah_decode.h>
+#include <dev/ath/ath_hal/ah_decode.h>
 
 static struct alq *ath_hal_alq;
 static int ath_hal_alq_emitdev;        /* need to emit DEVICE record */
@@ -273,7 +270,7 @@ void
 ath_hal_reg_write(struct ath_hal *ah, u_int32_t reg, u_int32_t val)
 {
        bus_space_tag_t tag = BUSTAG(ah);
-       bus_space_handle_t h = (bus_space_handle_t) ah->ah_sh;
+       bus_space_handle_t h = ah->ah_sh;
 
        if (ath_hal_alq) {
                struct ale *ale = ath_hal_alq_get(ah);
@@ -297,7 +294,7 @@ u_int32_t
 ath_hal_reg_read(struct ath_hal *ah, u_int32_t reg)
 {
        bus_space_tag_t tag = BUSTAG(ah);
-       bus_space_handle_t h = (bus_space_handle_t) ah->ah_sh;
+       bus_space_handle_t h = ah->ah_sh;
        u_int32_t val;
 
 #if _BYTE_ORDER == _BIG_ENDIAN
@@ -349,7 +346,7 @@ void
 ath_hal_reg_write(struct ath_hal *ah, u_int32_t reg, u_int32_t val)
 {
        bus_space_tag_t tag = BUSTAG(ah);
-       bus_space_handle_t h = (bus_space_handle_t) ah->ah_sh;
+       bus_space_handle_t h = ah->ah_sh;
 
 #if _BYTE_ORDER == _BIG_ENDIAN
        if (reg >= 0x4000 && reg < 0x5000)
@@ -363,7 +360,7 @@ u_int32_t
 ath_hal_reg_read(struct ath_hal *ah, u_int32_t reg)
 {
        bus_space_tag_t tag = BUSTAG(ah);
-       bus_space_handle_t h = (bus_space_handle_t) ah->ah_sh;
+       bus_space_handle_t h = ah->ah_sh;
        u_int32_t val;
 
 #if _BYTE_ORDER == _BIG_ENDIAN
@@ -415,37 +412,3 @@ ath_hal_memcpy(void *dst, const void *sr
 {
        return memcpy(dst, src, n);
 }
-
-/*
- * Module glue.
- */
-
-static int
-ath_hal_modevent(module_t mod, int type, void *unused)
-{
-       const char *sep;
-       int i;
-
-       switch (type) {
-       case MOD_LOAD:
-               printf("ath_hal: %s (", ath_hal_version);
-               sep = "";
-               for (i = 0; ath_hal_buildopts[i] != NULL; i++) {
-                       printf("%s%s", sep, ath_hal_buildopts[i]);
-                       sep = ", ";
-               }
-               printf(")\n");
-               return 0;
-       case MOD_UNLOAD:
-               return 0;
-       }
-       return EINVAL;
-}
-
-static moduledata_t ath_hal_mod = {
-       "ath_hal",
-       ath_hal_modevent,
-       0
-};
-DECLARE_MODULE(ath_hal, ath_hal_mod, SI_SUB_DRIVERS, SI_ORDER_ANY);
-MODULE_VERSION(ath_hal, 1);

Modified: head/sys/dev/ath/ah_osdep.h
==============================================================================
--- head/sys/dev/ath/ah_osdep.h Mon Dec  1 16:43:08 2008        (r185521)
+++ head/sys/dev/ath/ah_osdep.h Mon Dec  1 16:53:01 2008        (r185522)
@@ -33,13 +33,29 @@
 /*
  * Atheros Hardware Access Layer (HAL) OS Dependent Definitions.
  */
+#include <sys/cdefs.h>
 #include <sys/param.h>
 #include <sys/systm.h>
 #include <sys/endian.h>
+#include <sys/linker_set.h>
 
 #include <machine/bus.h>
 
 /*
+ * Bus i/o type definitions.
+ */
+typedef void *HAL_SOFTC;
+typedef bus_space_tag_t HAL_BUS_TAG;
+typedef bus_space_handle_t HAL_BUS_HANDLE;
+
+/*
+ * Linker set writearounds for chip and RF backend registration.
+ */
+#define        OS_DATA_SET(set, item)  DATA_SET(set, item)
+#define        OS_SET_DECLARE(set, ptype)      SET_DECLARE(set, ptype)
+#define        OS_SET_FOREACH(pvar, set)       SET_FOREACH(pvar, set)
+
+/*
  * Delay n microseconds.
  */
 extern void ath_hal_delay(int);

Modified: head/sys/dev/ath/ath_rate/amrr/amrr.c
==============================================================================
--- head/sys/dev/ath/ath_rate/amrr/amrr.c       Mon Dec  1 16:43:08 2008        
(r185521)
+++ head/sys/dev/ath/ath_rate/amrr/amrr.c       Mon Dec  1 16:53:01 2008        
(r185522)
@@ -78,7 +78,7 @@ __FBSDID("$FreeBSD$");
 
 #include <dev/ath/if_athvar.h>
 #include <dev/ath/ath_rate/amrr/amrr.h>
-#include <contrib/dev/ath/ah_desc.h>
+#include <dev/ath/ath_hal/ah_desc.h>
 
 static int ath_rateinterval = 1000;            /* rate ctl interval (ms)  */
 static int ath_rate_max_success_threshold = 10;

Modified: head/sys/dev/ath/ath_rate/onoe/onoe.c
==============================================================================
--- head/sys/dev/ath/ath_rate/onoe/onoe.c       Mon Dec  1 16:43:08 2008        
(r185521)
+++ head/sys/dev/ath/ath_rate/onoe/onoe.c       Mon Dec  1 16:53:01 2008        
(r185522)
@@ -67,7 +67,7 @@ __FBSDID("$FreeBSD$");
 
 #include <dev/ath/if_athvar.h>
 #include <dev/ath/ath_rate/onoe/onoe.h>
-#include <contrib/dev/ath/ah_desc.h>
+#include <dev/ath/ath_hal/ah_desc.h>
 
 /*
  * Default parameters for the rate control algorithm.  These are

Modified: head/sys/dev/ath/ath_rate/sample/sample.c
==============================================================================
--- head/sys/dev/ath/ath_rate/sample/sample.c   Mon Dec  1 16:43:08 2008        
(r185521)
+++ head/sys/dev/ath/ath_rate/sample/sample.c   Mon Dec  1 16:53:01 2008        
(r185522)
@@ -75,7 +75,7 @@ __FBSDID("$FreeBSD$");
 
 #include <dev/ath/if_athvar.h>
 #include <dev/ath/ath_rate/sample/sample.h>
-#include <contrib/dev/ath/ah_desc.h>
+#include <dev/ath/ath_hal/ah_desc.h>
 
 /*
  * This file is an implementation of the SampleRate algorithm
@@ -1018,5 +1018,4 @@ static moduledata_t sample_mod = {
 };
 DECLARE_MODULE(ath_rate, sample_mod, SI_SUB_DRIVERS, SI_ORDER_FIRST);
 MODULE_VERSION(ath_rate, 1);
-MODULE_DEPEND(ath_rate, ath_hal, 1, 1, 1);     /* Atheros HAL */
 MODULE_DEPEND(ath_rate, wlan, 1, 1, 1);

Modified: head/sys/dev/ath/if_ath.c
==============================================================================
--- head/sys/dev/ath/if_ath.c   Mon Dec  1 16:43:08 2008        (r185521)
+++ head/sys/dev/ath/if_ath.c   Mon Dec  1 16:53:01 2008        (r185522)
@@ -77,8 +77,7 @@ __FBSDID("$FreeBSD$");
 #endif
 
 #include <dev/ath/if_athvar.h>
-#include <contrib/dev/ath/ah_desc.h>
-#include <contrib/dev/ath/ah_devid.h>          /* XXX for softled */
+#include <dev/ath/ath_hal/ah_devid.h>          /* XXX for softled */
 
 #ifdef ATH_TX99_DIAG
 #include <dev/ath/ath_tx99/ath_tx99.h>

Modified: head/sys/dev/ath/if_ath_pci.c
==============================================================================
--- head/sys/dev/ath/if_ath_pci.c       Mon Dec  1 16:43:08 2008        
(r185521)
+++ head/sys/dev/ath/if_ath_pci.c       Mon Dec  1 16:53:01 2008        
(r185522)
@@ -56,7 +56,6 @@ __FBSDID("$FreeBSD$");
 #include <net80211/ieee80211_var.h>
 
 #include <dev/ath/if_athvar.h>
-#include <contrib/dev/ath/ah.h>
 
 #include <dev/pci/pcivar.h>
 #include <dev/pci/pcireg.h>
@@ -254,6 +253,5 @@ static      devclass_t ath_devclass;
 DRIVER_MODULE(if_ath, pci, ath_pci_driver, ath_devclass, 0, 0);
 DRIVER_MODULE(if_ath, cardbus, ath_pci_driver, ath_devclass, 0, 0);
 MODULE_VERSION(if_ath, 1);
-MODULE_DEPEND(if_ath, ath_hal, 1, 1, 1);       /* Atheros HAL */
 MODULE_DEPEND(if_ath, wlan, 1, 1, 1);          /* 802.11 media layer */
 MODULE_DEPEND(if_ath, ath_rate, 1, 1, 1);      /* rate control algorithm */

Modified: head/sys/dev/ath/if_athvar.h
==============================================================================
--- head/sys/dev/ath/if_athvar.h        Mon Dec  1 16:43:08 2008        
(r185521)
+++ head/sys/dev/ath/if_athvar.h        Mon Dec  1 16:53:01 2008        
(r185522)
@@ -35,8 +35,8 @@
 #ifndef _DEV_ATH_ATHVAR_H
 #define _DEV_ATH_ATHVAR_H
 
-#include <contrib/dev/ath/ah.h>
-#include <contrib/dev/ath/ah_desc.h>
+#include <dev/ath/ath_hal/ah.h>
+#include <dev/ath/ath_hal/ah_desc.h>
 #include <net80211/ieee80211_radiotap.h>
 #include <dev/ath/if_athioctl.h>
 #include <dev/ath/if_athrate.h>

Modified: head/sys/i386/conf/GENERIC
==============================================================================
--- head/sys/i386/conf/GENERIC  Mon Dec  1 16:43:08 2008        (r185521)
+++ head/sys/i386/conf/GENERIC  Mon Dec  1 16:53:01 2008        (r185522)
@@ -264,10 +264,11 @@ 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_hal         # Atheros HAL (Hardware Access Layer)
+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
 device         ral             # Ralink Technology RT2500 wireless NICs.
-device         wi              # WaveLAN/Intersil/Symbol 802.11 wireless NICs.
+#device                wi              # WaveLAN/Intersil/Symbol 802.11 
wireless NICs.
 #device                wl              # Older non 802.11 Wavelan wireless NIC.
 
 # Pseudo devices.

Modified: head/sys/i386/conf/NOTES
==============================================================================
--- head/sys/i386/conf/NOTES    Mon Dec  1 16:43:08 2008        (r185521)
+++ head/sys/i386/conf/NOTES    Mon Dec  1 16:53:01 2008        (r185522)
@@ -565,6 +565,20 @@ hint.ar.0.at="isa"
 hint.ar.0.port="0x300"
 hint.ar.0.irq="10"
 hint.ar.0.maddr="0xd0000"
+device         ath             # Atheros pci/cardbus NIC's
+device         ath_hal         # pci/cardbus chip support
+#device                ath_ar5210      # AR5210 chips
+#device                ath_ar5211      # AR5211 chips
+#device                ath_ar5212      # AR5212 chips
+#device                ath_rf2413
+#device                ath_rf2417
+#device                ath_rf2425
+#device                ath_rf5111
+#device                ath_rf5112
+#device                ath_rf5413
+#device                ath_ar5416      # AR5416 chips
+options                AH_SUPPORT_AR5416       # enable AR5416 tx/rx 
descriptors
+device         ath_rate_sample # SampleRate tx rate control for ath
 device         ce
 device         cp
 device         cs
@@ -617,13 +631,6 @@ options    WLCACHE         # enables the signal-s
 options        WLDEBUG         # enables verbose debugging output
 device         wpi
 
-device         ath
-device         ath_hal         # Atheros HAL (includes binary component)
-#device                ath_rate_amrr   # AMRR rate control for ath driver
-#device                ath_rate_onoe   # Onoe rate control for ath driver
-device         ath_rate_sample # SampleRate rate control for the ath driver
-#device                wlan            # 802.11 layer
-
 #
 # ATA raid adapters
 #

Modified: head/sys/i386/conf/PAE
==============================================================================
--- head/sys/i386/conf/PAE      Mon Dec  1 16:43:08 2008        (r185521)
+++ head/sys/i386/conf/PAE      Mon Dec  1 16:53:01 2008        (r185522)
@@ -78,7 +78,7 @@ nodevice      xe
 
 nodevice       an
 nodevice       ath             # Atheros pci/cardbus NIC's
-nodevice       ath_hal         # Atheros HAL (Hardware Access Layer)
+nodevice       ath_hal
 nodevice       ath_rate_sample # SampleRate tx rate control for ath
 nodevice       ral
 nodevice       wi

Modified: head/sys/mips/conf/IDT
==============================================================================
--- head/sys/mips/conf/IDT      Mon Dec  1 16:43:08 2008        (r185521)
+++ head/sys/mips/conf/IDT      Mon Dec  1 16:53:01 2008        (r185522)
@@ -44,7 +44,8 @@ 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_hal         # Atheros HAL (Hardware Access Layer)
+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
 options                ATH_DEBUG
 

Modified: head/sys/mips/conf/SENTRY5
==============================================================================
--- head/sys/mips/conf/SENTRY5  Mon Dec  1 16:43:08 2008        (r185521)
+++ head/sys/mips/conf/SENTRY5  Mon Dec  1 16:53:01 2008        (r185522)
@@ -79,7 +79,8 @@ device                miibus                  # attachments
 # pci devices
 # notyet:
 #device                ath                     # in pci slot
-#device                ath_hal                 # in pci slot
+#device                ath_hal                 # pci chip support
+#options               AH_SUPPORT_AR5416       # enable AR5416 tx/rx 
descriptors
 
 device         usb                     # USB Bus (required)
 device         uhci                    # UHCI PCI->USB interface

Modified: head/sys/modules/Makefile
==============================================================================
--- head/sys/modules/Makefile   Mon Dec  1 16:43:08 2008        (r185521)
+++ head/sys/modules/Makefile   Mon Dec  1 16:53:01 2008        (r185522)
@@ -29,11 +29,10 @@ SUBDIR=     ${_3dfx} \
        ${_asmc} \
        ${_asr} \
        ata \
-       ${_ath} \
-       ${_ath_hal} \
-       ${_ath_rate_amrr} \
-       ${_ath_rate_onoe} \
-       ${_ath_rate_sample} \
+       ath \
+       ath_rate_amrr \
+       ath_rate_onoe \
+       ath_rate_sample \
        aue \
        ${_auxio} \
        axe \
@@ -376,11 +375,6 @@ _aout=             aout
 _apm=          apm
 _ar=           ar
 _arcnet=       arcnet
-_ath=          ath
-_ath_hal=      ath_hal
-_ath_rate_amrr=        ath_rate_amrr
-_ath_rate_onoe=        ath_rate_onoe
-_ath_rate_sample=ath_rate_sample
 _bktr=         bktr
 _cardbus=      cardbus
 _cbb=          cbb
@@ -513,11 +507,6 @@ _agp=              agp
 _an=           an
 _arcmsr=       arcmsr
 _asmc=         asmc
-_ath=          ath
-_ath_hal=      ath_hal
-_ath_rate_amrr=        ath_rate_amrr
-_ath_rate_onoe=        ath_rate_onoe
-_ath_rate_sample=ath_rate_sample
 _cardbus=      cardbus
 _cbb=          cbb
 _cmx=          cmx
@@ -625,11 +614,6 @@ _xe=               xe
 
 .if ${MACHINE_ARCH} == "powerpc"
 _an=           an
-_ath=          ath
-_ath_hal=      ath_hal
-_ath_rate_amrr=        ath_rate_amrr
-_ath_rate_onoe=        ath_rate_onoe
-_ath_rate_sample=ath_rate_sample
 _bm=           bm
 _nvram=                powermac_nvram
 _smbfs=                smbfs
@@ -637,11 +621,6 @@ _upgt=             upgt
 .endif
 
 .if ${MACHINE_ARCH} == "sparc64"
-_ath=          ath
-_ath_hal=      ath_hal
-_ath_rate_amrr=        ath_rate_amrr
-_ath_rate_onoe=        ath_rate_onoe
-_ath_rate_sample=ath_rate_sample
 _auxio=                auxio
 _em=           em
 _i2c=          i2c

Modified: head/sys/modules/ath/Makefile
==============================================================================
--- head/sys/modules/ath/Makefile       Mon Dec  1 16:43:08 2008        
(r185521)
+++ head/sys/modules/ath/Makefile       Mon Dec  1 16:53:01 2008        
(r185522)
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2002, 2003 Sam Leffler, Errno Consulting
+# Copyright (c) 2002-2008 Sam Leffler, Errno Consulting
 # All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
@@ -12,13 +12,6 @@
 #    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.
-# 3. Neither the names of the above-listed copyright holders nor the names
-#    of any contributors may be used to endorse or promote products derived
-#    from this software without specific prior written permission.
-#
-# Alternatively, this software may be distributed under the terms of the
-# GNU General Public License ("GPL") version 2 as published by the Free
-# Software Foundation.
 #
 # NO WARRANTY
 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
@@ -36,30 +29,48 @@
 # $FreeBSD$
 #
 
-.PATH: ${.CURDIR}/../../dev/ath
+.PATH: ${.CURDIR}/../../dev/ath \
+       ${.CURDIR}/../../dev/ath/ath_hal \
+       ${.CURDIR}/../../dev/ath/ath_hal/ar5210 \
+       ${.CURDIR}/../../dev/ath/ath_hal/ar5211 \
+       ${.CURDIR}/../../dev/ath/ath_hal/ar5212 \
+       ${.CURDIR}/../../dev/ath/ath_hal/ar5416
+
+AR5210_SRCS=ah_eeprom_v1.c \
+       ar5210_attach.c ar5210_beacon.c ar5210_interrupts.c \
+       ar5210_keycache.c ar5210_misc.c ar5210_phy.c ar5210_power.c \
+       ar5210_recv.c ar5210_reset.c ar5210_xmit.c
+AR5211_SRCS=ar5211_attach.c ar5211_beacon.c ar5211_interrupts.c \
+       ar5211_keycache.c ar5211_misc.c ar5211_phy.c ar5211_power.c \
+       ar5211_recv.c ar5211_reset.c ar5211_xmit.c
+AR5212_SRCS=ar5212_ani.c ar5212_attach.c ar5212_beacon.c ar5212_eeprom.c \
+       ar5212_gpio.c ar5212_interrupts.c ar5212_keycache.c ar5212_misc.c \
+       ar5212_phy.c ar5212_power.c ar5212_recv.c ar5212_reset.c \
+       ar5212_rfgain.c ar5212_xmit.c \
+       ar2413.c ar2425.c ar5111.c ar5112.c ar5413.c
+AR5416_SRCS=ah_eeprom_v14.c \
+       ar5416_ani.c ar5416_attach.c ar5416_beacon.c ar5416_cal.c \
+       ar5416_cal_iq.c ar5416_cal_adcgain.c ar5416_cal_adcdc.c \
+       ar5416_eeprom.c ar5416_gpio.c ar5416_interrupts.c ar5416_keycache.c \
+       ar5416_misc.c ar5416_phy.c ar5416_power.c ar5416_recv.c \
+       ar5416_reset.c ar5416_xmit.c \
+       ar2133.c
+AR9160_SRCS=ar9160_attach.c
 
 KMOD=  if_ath
 SRCS=  if_ath.c if_ath_pci.c
-SRCS+= device_if.h bus_if.h pci_if.h opt_inet.h opt_ath.h opt_ah.h
-
-HAL=   ${.CURDIR}/../../contrib/dev/ath
-CFLAGS+=  -I. -I${.CURDIR}/../../dev/ath -I${HAL}
-
-opt_ath.h:
-       echo > $@
+# 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
+SRCS+= ${AR5210_SRCS}
+SRCS+= ${AR5211_SRCS}
+SRCS+= ${AR5212_SRCS}
+SRCS+= ${AR5416_SRCS}
+SRCS+= ${AR9160_SRCS}
+SRCS+= device_if.h bus_if.h pci_if.h opt_inet.h opt_route.h opt_ath.h opt_ah.h
 
-# patch for hal naming difference
-.if ${MACHINE_ARCH} == "amd64"
-ATH_MODULE_ARCH=x86_64
-.elif ${MACHINE_ARCH} == "sparc64"
-ATH_MODULE_ARCH=sparc64-be
-.elif ${MACHINE_ARCH} == "powerpc"
-ATH_MODULE_ARCH=powerpc-be
-.else
-ATH_MODULE_ARCH=${MACHINE_ARCH}
-.endif
+CFLAGS+=  -I. -I${.CURDIR}/../../dev/ath -I${.CURDIR}/../../dev/ath/ath_hal
 
-opt_ah.h: ${HAL}/public/${ATH_MODULE_ARCH}-elf.opt_ah.h
-       cp ${HAL}/public/${ATH_MODULE_ARCH}-elf.opt_ah.h ${.TARGET}
+opt_ah.h:
+       echo '#define AH_SUPPORT_AR5416 1' > $@
 
 .include <bsd.kmod.mk>

Modified: head/sys/modules/ath_rate_amrr/Makefile
==============================================================================
--- head/sys/modules/ath_rate_amrr/Makefile     Mon Dec  1 16:43:08 2008        
(r185521)
+++ head/sys/modules/ath_rate_amrr/Makefile     Mon Dec  1 16:53:01 2008        
(r185522)
@@ -1,5 +1,5 @@

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to