svn commit: r185406 - in projects/ath_hal: . ar5210 ar5211 ar5212
ar5312 ar5416
Sam Leffler
sam at FreeBSD.org
Fri Nov 28 11:58:11 PST 2008
Author: sam
Date: Fri Nov 28 19:58:09 2008
New Revision: 185406
URL: http://svn.freebsd.org/changeset/base/185406
Log:
Replace most compile-time support options with linker sets for
chip and RF backend support:
o add OS_DATA_SET and OS_SET_DECLARE os requirements for setting
up linker sets
o add AH_CHIP macro for registering chip support (e.g. 5210)
o add AH_RF macro for registering RF support (e.g. 2413); note
this isn't required for single chip solutions where there's no
ambiguity (e.g. 5416/9160+2133) but for 5212 class parts it's
required because of the multi-chip solutions
o remove all uses of AH_SUPPORT_AR5210, AH_SUPPORT_AR5211, AH_SUPPORT_5212,
and AH_SUPPORT_AR9160; still need AH_SUPPORT_AR5416 to enable the 11n
descriptor formats and 5312 support is presently broken
o remove all uses of AH_SUPPORT_2133, AH_SUPPORT_2413, AH_SUPPORT_5111,
AH_SUPPORT_5112, AH_SUPPORT_2417, AH_SUPPORT_2425, and AH_SUPPORT_5413;
5312-related support still requires fixup
Remaining issues:
o fixup SoC attach
o ath_hal_attach uses a hack to probe w/o access to the vendorid
o fallback handling of parts w/o a macrev needs to be restored
Modified:
projects/ath_hal/ah.c
projects/ath_hal/ah_internal.h
projects/ath_hal/ar5210/ar5210.h
projects/ath_hal/ar5210/ar5210_attach.c
projects/ath_hal/ar5210/ar5210_beacon.c
projects/ath_hal/ar5210/ar5210_interrupts.c
projects/ath_hal/ar5210/ar5210_keycache.c
projects/ath_hal/ar5210/ar5210_misc.c
projects/ath_hal/ar5210/ar5210_phy.c
projects/ath_hal/ar5210/ar5210_power.c
projects/ath_hal/ar5210/ar5210_recv.c
projects/ath_hal/ar5210/ar5210_reset.c
projects/ath_hal/ar5210/ar5210_xmit.c
projects/ath_hal/ar5211/ar5211_attach.c
projects/ath_hal/ar5211/ar5211_beacon.c
projects/ath_hal/ar5211/ar5211_interrupts.c
projects/ath_hal/ar5211/ar5211_keycache.c
projects/ath_hal/ar5211/ar5211_misc.c
projects/ath_hal/ar5211/ar5211_phy.c
projects/ath_hal/ar5211/ar5211_power.c
projects/ath_hal/ar5211/ar5211_recv.c
projects/ath_hal/ar5211/ar5211_reset.c
projects/ath_hal/ar5211/ar5211_xmit.c
projects/ath_hal/ar5212/ar2316.c
projects/ath_hal/ar5212/ar2317.c
projects/ath_hal/ar5212/ar2413.c
projects/ath_hal/ar5212/ar2425.c
projects/ath_hal/ar5212/ar5111.c
projects/ath_hal/ar5212/ar5112.c
projects/ath_hal/ar5212/ar5212.h
projects/ath_hal/ar5212/ar5212_ani.c
projects/ath_hal/ar5212/ar5212_attach.c
projects/ath_hal/ar5212/ar5212_beacon.c
projects/ath_hal/ar5212/ar5212_eeprom.c
projects/ath_hal/ar5212/ar5212_gpio.c
projects/ath_hal/ar5212/ar5212_interrupts.c
projects/ath_hal/ar5212/ar5212_keycache.c
projects/ath_hal/ar5212/ar5212_misc.c
projects/ath_hal/ar5212/ar5212_phy.c
projects/ath_hal/ar5212/ar5212_power.c
projects/ath_hal/ar5212/ar5212_recv.c
projects/ath_hal/ar5212/ar5212_reset.c
projects/ath_hal/ar5212/ar5212_rfgain.c
projects/ath_hal/ar5212/ar5212_xmit.c
projects/ath_hal/ar5212/ar5413.c
projects/ath_hal/ar5312/ar5312_attach.c
projects/ath_hal/ar5416/ar2133.c
projects/ath_hal/ar5416/ar5416_ani.c
projects/ath_hal/ar5416/ar5416_attach.c
projects/ath_hal/ar5416/ar5416_beacon.c
projects/ath_hal/ar5416/ar5416_cal.c
projects/ath_hal/ar5416/ar5416_cal_adcdc.c
projects/ath_hal/ar5416/ar5416_cal_adcgain.c
projects/ath_hal/ar5416/ar5416_cal_iq.c
projects/ath_hal/ar5416/ar5416_eeprom.c
projects/ath_hal/ar5416/ar5416_gpio.c
projects/ath_hal/ar5416/ar5416_interrupts.c
projects/ath_hal/ar5416/ar5416_keycache.c
projects/ath_hal/ar5416/ar5416_misc.c
projects/ath_hal/ar5416/ar5416_phy.c
projects/ath_hal/ar5416/ar5416_power.c
projects/ath_hal/ar5416/ar5416_recv.c
projects/ath_hal/ar5416/ar5416_reset.c
projects/ath_hal/ar5416/ar5416_xmit.c
projects/ath_hal/ar5416/ar9160_attach.c
Modified: projects/ath_hal/ah.c
==============================================================================
--- projects/ath_hal/ah.c Fri Nov 28 19:35:48 2008 (r185405)
+++ projects/ath_hal/ah.c Fri Nov 28 19:58:09 2008 (r185406)
@@ -22,41 +22,10 @@
#include "ah_internal.h"
#include "ah_devid.h"
-#ifdef AH_SUPPORT_AR5210
-extern struct ath_hal *ar5210Attach(uint16_t, HAL_SOFTC,
- HAL_BUS_TAG, HAL_BUS_HANDLE, HAL_STATUS*);
-#endif
-#ifdef AH_SUPPORT_AR5211
-extern struct ath_hal *ar5211Attach(uint16_t, HAL_SOFTC,
- HAL_BUS_TAG, HAL_BUS_HANDLE, HAL_STATUS*);
-#endif
-#ifdef AH_SUPPORT_AR5212
-extern struct ath_hal *ar5212Attach(uint16_t, HAL_SOFTC,
- HAL_BUS_TAG, HAL_BUS_HANDLE, HAL_STATUS*);
-#endif
-#ifdef AH_SUPPORT_AR5312
-extern struct ath_hal *ar5312Attach(uint16_t, HAL_SOFTC,
- HAL_BUS_TAG, HAL_BUS_HANDLE, HAL_STATUS*);
-#endif
-#ifdef AH_SUPPORT_AR5416
-extern struct ath_hal *ar5416Attach(uint16_t, HAL_SOFTC,
- HAL_BUS_TAG, HAL_BUS_HANDLE, HAL_STATUS*);
-#endif
-#ifdef AH_SUPPORT_AR9160
-extern struct ath_hal *ar9160Attach(uint16_t, HAL_SOFTC,
- HAL_BUS_TAG, HAL_BUS_HANDLE, HAL_STATUS*);
-#endif
-#ifdef AH_SUPPORT_AR9280
-extern struct ath_hal *ar9280Attach(uint16_t, HAL_SOFTC,
- HAL_BUS_TAG, HAL_BUS_HANDLE, HAL_STATUS*);
-#endif
-#ifdef AH_SUPPORT_AR9285
-extern struct ath_hal *ar9285Attach(uint16_t, HAL_SOFTC,
- HAL_BUS_TAG, HAL_BUS_HANDLE, HAL_STATUS*);
-#endif
#include "version.h"
char ath_hal_version[] = ATH_HAL_VERSION;
+/* XXX chip+rf support no longer correct */
const char* ath_hal_buildopts[] = {
#ifdef AH_SUPPORT_AR5210
"AR5210",
@@ -148,66 +117,24 @@ const char* ath_hal_buildopts[] = {
AH_NULL
};
-static const char*
-ath_hal_devname(uint16_t devid)
-{
- switch (devid) {
- case AR5210_PROD:
- case AR5210_DEFAULT:
- return "Atheros 5210";
-
- case AR5211_DEVID:
- case AR5311_DEVID:
- case AR5211_DEFAULT:
- return "Atheros 5211";
- case AR5211_FPGA11B:
- return "Atheros 5211 (FPGA)";
-
- case AR5212_FPGA:
- return "Atheros 5212 (FPGA)";
- case AR5212_AR5312_REV2:
- case AR5212_AR5312_REV7:
- return "Atheros 5312 WiSoC";
- case AR5212_AR2315_REV6:
- case AR5212_AR2315_REV7:
- return "Atheros 2315 WiSoC";
- case AR5212_AR2317_REV1:
- return "Atheros 2317 WiSoC";
- case AR5212_AR2313_REV8:
- return "Atheros 2313 WiSoC";
- case AR5212_DEVID:
- case AR5212_DEVID_IBM:
- case AR5212_DEFAULT:
- return "Atheros 5212";
- case AR5212_AR2413:
- return "Atheros 2413";
- case AR5212_AR2417:
- return "Atheros 2417";
- case AR5212_AR5413:
- return "Atheros 5413";
- case AR5212_AR5424:
- return "Atheros 5424/2424";
- case AR5416_DEVID_PCI:
- case AR5416_DEVID_PCIE:
- return "Atheros 5416";
- case AR9160_DEVID_PCI:
- return "Atheros 9160";
- case AR9280_DEVID_PCI:
- case AR9280_DEVID_PCIE:
- return "Atheros 9280";
- case AR9285_DEVID_PCIE:
- return "Atheros 9285";
- }
- return AH_NULL;
-}
+/* linker set of registered chips */
+OS_SET_DECLARE(ah_chips, struct ath_hal_chip);
+/*
+ * Check the set of registered chips to see if any recognize
+ * the device as one they can support.
+ */
const char*
ath_hal_probe(uint16_t vendorid, uint16_t devid)
{
- return (vendorid == ATHEROS_VENDOR_ID ||
- vendorid == ATHEROS_3COM_VENDOR_ID ||
- vendorid == ATHEROS_3COM2_VENDOR_ID ?
- ath_hal_devname(devid) : 0);
+ struct ath_hal_chip **pchip;
+
+ SET_FOREACH(pchip, ah_chips) {
+ const char *name = (*pchip)->probe(vendorid, devid);
+ if (name != AH_NULL)
+ return name;
+ }
+ return AH_NULL;
}
/*
@@ -221,87 +148,50 @@ struct ath_hal*
ath_hal_attach(uint16_t devid, HAL_SOFTC sc,
HAL_BUS_TAG st, HAL_BUS_HANDLE sh, HAL_STATUS *error)
{
- struct ath_hal *ah=AH_NULL;
+ struct ath_hal_chip **pchip;
- switch (devid) {
-#ifdef AH_SUPPORT_AR5210
- case AR5210_AP:
- case AR5210_PROD:
- case AR5210_DEFAULT:
- ah = ar5210Attach(devid, sc, st, sh, error);
- break;
-#endif
-#ifdef AH_SUPPORT_AR5211
- case AR5211_DEVID:
- case AR5311_DEVID:
- case AR5211_FPGA11B:
- case AR5211_DEFAULT:
- ah = ar5211Attach(devid, sc, st, sh, error);
- break;
-#endif
-#ifdef AH_SUPPORT_AR5212
- case AR5212_DEVID_IBM:
- case AR5212_AR2413:
- case AR5212_AR2417:
- case AR5212_AR5413:
- case AR5212_AR5424:
- case AR5212_DEVID_FF19: /* XXX PCI Express extra */
- devid = AR5212_DEVID;
- /* fall thru... */
- case AR5212_DEVID:
- case AR5212_FPGA:
- case AR5212_DEFAULT:
- ah = ar5212Attach(devid, sc, st, sh, error);
- break;
-#endif
-#ifdef AH_SUPPORT_AR5312
- case AR5212_AR5312_REV2:
- case AR5212_AR5312_REV7:
- case AR5212_AR2313_REV8:
- case AR5212_AR2315_REV6:
- case AR5212_AR2315_REV7:
- case AR5212_AR2317_REV1:
- ah = ar5312Attach(devid, sc, st, sh, error);
- break;
-#endif
-#ifdef AH_SUPPORT_AR5416
- case AR5416_DEVID_PCI:
- case AR5416_DEVID_PCIE:
- ah = ar5416Attach(devid, sc, st, sh, error);
- break;
-#endif
-#ifdef AH_SUPPORT_AR9160
- case AR9160_DEVID_PCI:
- ah = ar9160Attach(devid, sc, st, sh, error);
- break;
-#endif
-#ifdef AH_SUPPORT_AR9280
- case AR9280_DEVID_PCI:
- case AR9280_DEVID_PCIE:
- ah = ar9280Attach(devid, sc, st, sh, error);
- break;
-#endif
-#ifdef AH_SUPPORT_AR9285
- case AR9285_DEVID_PCIE:
- ah = ar9285Attach(devid, sc, st, sh, error);
- break;
-#endif
- default:
- ah = AH_NULL;
- *error = HAL_ENXIO;
- break;
+ SET_FOREACH(pchip, ah_chips) {
+ struct ath_hal_chip *chip = *pchip;
+ struct ath_hal *ah;
+
+ /* XXX don't have vendorid, assume atheros one works */
+ if (chip->probe(ATHEROS_VENDOR_ID, devid) == AH_NULL)
+ continue;
+ ah = chip->attach(devid, sc, st, sh, error);
+ if (ah != AH_NULL) {
+ /* copy back private state to public area */
+ ah->ah_devid = AH_PRIVATE(ah)->ah_devid;
+ ah->ah_subvendorid = AH_PRIVATE(ah)->ah_subvendorid;
+ ah->ah_macVersion = AH_PRIVATE(ah)->ah_macVersion;
+ ah->ah_macRev = AH_PRIVATE(ah)->ah_macRev;
+ ah->ah_phyRev = AH_PRIVATE(ah)->ah_phyRev;
+ ah->ah_analog5GhzRev = AH_PRIVATE(ah)->ah_analog5GhzRev;
+ ah->ah_analog2GhzRev = AH_PRIVATE(ah)->ah_analog2GhzRev;
+ return ah;
+ }
}
- if (ah != AH_NULL) {
- /* copy back private state to public area */
- ah->ah_devid = AH_PRIVATE(ah)->ah_devid;
- ah->ah_subvendorid = AH_PRIVATE(ah)->ah_subvendorid;
- ah->ah_macVersion = AH_PRIVATE(ah)->ah_macVersion;
- ah->ah_macRev = AH_PRIVATE(ah)->ah_macRev;
- ah->ah_phyRev = AH_PRIVATE(ah)->ah_phyRev;
- ah->ah_analog5GhzRev = AH_PRIVATE(ah)->ah_analog5GhzRev;
- ah->ah_analog2GhzRev = AH_PRIVATE(ah)->ah_analog2GhzRev;
+ return AH_NULL;
+}
+
+/* linker set of registered RF backends */
+OS_SET_DECLARE(ah_rfs, struct ath_hal_rf);
+
+/*
+ * Check the set of registered RF backends to see if
+ * any recognize the device as one they can support.
+ */
+struct ath_hal_rf *
+ath_hal_rfprobe(struct ath_hal *ah, HAL_STATUS *ecode)
+{
+ struct ath_hal_rf **prf;
+
+ SET_FOREACH(prf, ah_rfs) {
+ struct ath_hal_rf *rf = *prf;
+ if (rf->probe(ah))
+ return rf;
}
- return ah;
+ *ecode = HAL_ENOTSUPP;
+ return AH_NULL;
}
/*
Modified: projects/ath_hal/ah_internal.h
==============================================================================
--- projects/ath_hal/ah_internal.h Fri Nov 28 19:35:48 2008 (r185405)
+++ projects/ath_hal/ah_internal.h Fri Nov 28 19:58:09 2008 (r185406)
@@ -83,6 +83,42 @@ typedef enum {
HAL_CAP_AR = 1, /* AR capability */
} HAL_PHYDIAG_CAPS;
+/*
+ * Each chip or class of chips registers to offer support.
+ */
+struct ath_hal_chip {
+ const char *(*probe)(uint16_t vendorid, uint16_t devid);
+ struct ath_hal *(*attach)(uint16_t devid, HAL_SOFTC,
+ HAL_BUS_TAG, HAL_BUS_HANDLE, HAL_STATUS *error);
+};
+#ifndef AH_CHIP
+#define AH_CHIP(name, _probe, _attach) \
+static struct ath_hal_chip name##_chip = { \
+ .probe = _probe, \
+ .attach = _attach \
+}; \
+OS_DATA_SET(ah_chips, name##_chip)
+#endif
+
+/*
+ * Each RF backend registers to offer support; this is mostly
+ * used by multi-chip 5212 solutions. Single-chip solutions
+ * have a fixed idea about which RF to use.
+ */
+struct ath_hal_rf {
+ HAL_BOOL (*probe)(struct ath_hal *ah);
+ HAL_BOOL (*attach)(struct ath_hal *ah, HAL_STATUS *ecode);
+};
+#ifndef AH_RF
+#define AH_RF(name, _probe, _attach) \
+static struct ath_hal_rf name##_rf = { \
+ .probe = _probe, \
+ .attach = _attach \
+}; \
+OS_DATA_SET(ah_rfs, name##_rf)
+#endif
+
+struct ath_hal_rf *ath_hal_rfprobe(struct ath_hal *ah, HAL_STATUS *ecode);
/*
* Internal form of a HAL_CHANNEL. Note that the structure
Modified: projects/ath_hal/ar5210/ar5210.h
==============================================================================
--- projects/ath_hal/ar5210/ar5210.h Fri Nov 28 19:35:48 2008 (r185405)
+++ projects/ath_hal/ar5210/ar5210.h Fri Nov 28 19:58:09 2008 (r185406)
@@ -126,10 +126,7 @@ struct ath_hal_5210 {
struct ath_hal;
-extern struct ath_hal *ar5210Attach(uint16_t, HAL_SOFTC,
- HAL_BUS_TAG, HAL_BUS_HANDLE, HAL_STATUS *);
-extern void ar5210Detach(struct ath_hal *);
-
+extern void ar5210Detach(struct ath_hal *ah);
extern HAL_BOOL ar5210Reset(struct ath_hal *, HAL_OPMODE,
HAL_CHANNEL *, HAL_BOOL bChannelChange, HAL_STATUS *);
extern void ar5210SetPCUConfig(struct ath_hal *);
Modified: projects/ath_hal/ar5210/ar5210_attach.c
==============================================================================
--- projects/ath_hal/ar5210/ar5210_attach.c Fri Nov 28 19:35:48 2008 (r185405)
+++ projects/ath_hal/ar5210/ar5210_attach.c Fri Nov 28 19:58:09 2008 (r185406)
@@ -18,10 +18,9 @@
*/
#include "opt_ah.h"
-#ifdef AH_SUPPORT_AR5210
-
#include "ah.h"
#include "ah_internal.h"
+#include "ah_devid.h"
#include "ar5210/ar5210.h"
#include "ar5210/ar5210reg.h"
@@ -170,8 +169,9 @@ static HAL_BOOL ar5210FillCapabilityInfo
/*
* Attach for an AR5210 part.
*/
-struct ath_hal *
-ar5210Attach(uint16_t devid, HAL_SOFTC sc, HAL_BUS_TAG st, HAL_BUS_HANDLE sh, HAL_STATUS *status)
+static struct ath_hal *
+ar5210Attach(uint16_t devid, HAL_SOFTC sc, HAL_BUS_TAG st, HAL_BUS_HANDLE sh,
+ HAL_STATUS *status)
{
#define N(a) (sizeof(a)/sizeof(a[0]))
struct ath_hal_5210 *ahp;
@@ -371,4 +371,13 @@ ar5210FillCapabilityInfo(struct ath_hal
ahpriv->ah_rxornIsFatal = AH_TRUE;
return AH_TRUE;
}
-#endif /* AH_SUPPORT_AR5210 */
+
+static const char*
+ar5210Probe(uint16_t vendorid, uint16_t devid)
+{
+ if (vendorid == ATHEROS_VENDOR_ID &&
+ (devid == AR5210_PROD || devid == AR5210_DEFAULT))
+ return "Atheros 5210";
+ return AH_NULL;
+}
+AH_CHIP(ar5210, ar5210Probe, ar5210Attach);
Modified: projects/ath_hal/ar5210/ar5210_beacon.c
==============================================================================
--- projects/ath_hal/ar5210/ar5210_beacon.c Fri Nov 28 19:35:48 2008 (r185405)
+++ projects/ath_hal/ar5210/ar5210_beacon.c Fri Nov 28 19:58:09 2008 (r185406)
@@ -18,8 +18,6 @@
*/
#include "opt_ah.h"
-#ifdef AH_SUPPORT_AR5210
-
#include "ah.h"
#include "ah_internal.h"
#include "ah_desc.h"
@@ -191,4 +189,3 @@ ar5210SetStaBeaconTimers(struct ath_hal
OS_REG_WRITE(ah, AR_RSSI_THR, ahp->ah_rssiThr);
#undef BMISS_MAX
}
-#endif /* AH_SUPPORT_AR5210 */
Modified: projects/ath_hal/ar5210/ar5210_interrupts.c
==============================================================================
--- projects/ath_hal/ar5210/ar5210_interrupts.c Fri Nov 28 19:35:48 2008 (r185405)
+++ projects/ath_hal/ar5210/ar5210_interrupts.c Fri Nov 28 19:58:09 2008 (r185406)
@@ -18,8 +18,6 @@
*/
#include "opt_ah.h"
-#ifdef AH_SUPPORT_AR5210
-
#include "ah.h"
#include "ah_internal.h"
@@ -134,4 +132,3 @@ ar5210SetInterrupts(struct ath_hal *ah,
return omask;
}
-#endif /* AH_SUPPORT_AR5210 */
Modified: projects/ath_hal/ar5210/ar5210_keycache.c
==============================================================================
--- projects/ath_hal/ar5210/ar5210_keycache.c Fri Nov 28 19:35:48 2008 (r185405)
+++ projects/ath_hal/ar5210/ar5210_keycache.c Fri Nov 28 19:58:09 2008 (r185406)
@@ -18,8 +18,6 @@
*/
#include "opt_ah.h"
-#ifdef AH_SUPPORT_AR5210
-
#include "ah.h"
#include "ah_internal.h"
@@ -156,4 +154,3 @@ ar5210SetKeyCacheEntry(struct ath_hal *a
OS_REG_WRITE(ah, AR_KEYTABLE_TYPE(entry), keyType);
return ar5210SetKeyCacheEntryMac(ah, entry, mac);
}
-#endif /* AH_SUPPORT_AR5210 */
Modified: projects/ath_hal/ar5210/ar5210_misc.c
==============================================================================
--- projects/ath_hal/ar5210/ar5210_misc.c Fri Nov 28 19:35:48 2008 (r185405)
+++ projects/ath_hal/ar5210/ar5210_misc.c Fri Nov 28 19:58:09 2008 (r185406)
@@ -18,8 +18,6 @@
*/
#include "opt_ah.h"
-#ifdef AH_SUPPORT_AR5210
-
#include "ah.h"
#include "ah_internal.h"
@@ -642,4 +640,3 @@ ar5210GetDiagState(struct ath_hal *ah, i
return ath_hal_getdiagstate(ah, request,
args, argsize, result, resultsize);
}
-#endif /* AH_SUPPORT_AR5210 */
Modified: projects/ath_hal/ar5210/ar5210_phy.c
==============================================================================
--- projects/ath_hal/ar5210/ar5210_phy.c Fri Nov 28 19:35:48 2008 (r185405)
+++ projects/ath_hal/ar5210/ar5210_phy.c Fri Nov 28 19:58:09 2008 (r185406)
@@ -18,8 +18,6 @@
*/
#include "opt_ah.h"
-#ifdef AH_SUPPORT_AR5210
-
#include "ah.h"
#include "ah_internal.h"
@@ -85,4 +83,3 @@ ar5210GetRateTable(struct ath_hal *ah, u
ath_hal_setupratetable(ah, rt);
return rt;
}
-#endif /* AH_SUPPORT_AR5210 */
Modified: projects/ath_hal/ar5210/ar5210_power.c
==============================================================================
--- projects/ath_hal/ar5210/ar5210_power.c Fri Nov 28 19:35:48 2008 (r185405)
+++ projects/ath_hal/ar5210/ar5210_power.c Fri Nov 28 19:58:09 2008 (r185406)
@@ -18,8 +18,6 @@
*/
#include "opt_ah.h"
-#ifdef AH_SUPPORT_AR5210
-
#include "ah.h"
#include "ah_internal.h"
@@ -134,4 +132,3 @@ ar5210GetPowerMode(struct ath_hal *ah)
/* Just so happens the h/w maps directly to the abstracted value */
return MS(OS_REG_READ(ah, AR_SCR), AR_SCR_SLE);
}
-#endif /* AH_SUPPORT_AR5210 */
Modified: projects/ath_hal/ar5210/ar5210_recv.c
==============================================================================
--- projects/ath_hal/ar5210/ar5210_recv.c Fri Nov 28 19:35:48 2008 (r185405)
+++ projects/ath_hal/ar5210/ar5210_recv.c Fri Nov 28 19:58:09 2008 (r185406)
@@ -18,8 +18,6 @@
*/
#include "opt_ah.h"
-#ifdef AH_SUPPORT_AR5210
-
#include "ah.h"
#include "ah_internal.h"
#include "ah_desc.h"
@@ -266,4 +264,3 @@ ar5210ProcRxDesc(struct ath_hal *ah, str
return HAL_OK;
}
-#endif /* AH_SUPPORT_AR5210 */
Modified: projects/ath_hal/ar5210/ar5210_reset.c
==============================================================================
--- projects/ath_hal/ar5210/ar5210_reset.c Fri Nov 28 19:35:48 2008 (r185405)
+++ projects/ath_hal/ar5210/ar5210_reset.c Fri Nov 28 19:58:09 2008 (r185406)
@@ -18,8 +18,6 @@
*/
#include "opt_ah.h"
-#ifdef AH_SUPPORT_AR5210
-
#include "ah.h"
#include "ah_internal.h"
@@ -1003,4 +1001,3 @@ ar5210GetRfgain(struct ath_hal *ah)
{
return HAL_RFGAIN_INACTIVE;
}
-#endif /* AH_SUPPORT_AR5210 */
Modified: projects/ath_hal/ar5210/ar5210_xmit.c
==============================================================================
--- projects/ath_hal/ar5210/ar5210_xmit.c Fri Nov 28 19:35:48 2008 (r185405)
+++ projects/ath_hal/ar5210/ar5210_xmit.c Fri Nov 28 19:58:09 2008 (r185406)
@@ -18,8 +18,6 @@
*/
#include "opt_ah.h"
-#ifdef AH_SUPPORT_AR5210
-
#include "ah.h"
#include "ah_internal.h"
#include "ah_desc.h"
@@ -623,4 +621,3 @@ ar5210GetTxIntrQueue(struct ath_hal *ah,
{
return;
}
-#endif /* AH_SUPPORT_AR5210 */
Modified: projects/ath_hal/ar5211/ar5211_attach.c
==============================================================================
--- projects/ath_hal/ar5211/ar5211_attach.c Fri Nov 28 19:35:48 2008 (r185405)
+++ projects/ath_hal/ar5211/ar5211_attach.c Fri Nov 28 19:58:09 2008 (r185406)
@@ -18,8 +18,6 @@
*/
#include "opt_ah.h"
-#ifdef AH_SUPPORT_AR5211
-
#include "ah.h"
#include "ah_internal.h"
#include "ah_devid.h"
@@ -502,4 +500,17 @@ ar5211FillCapabilityInfo(struct ath_hal
ahpriv->ah_rxornIsFatal = AH_TRUE;
return AH_TRUE;
}
-#endif /* AH_SUPPORT_AR5211 */
+
+static const char*
+ar5211Probe(uint16_t vendorid, uint16_t devid)
+{
+ if (vendorid == ATHEROS_VENDOR_ID) {
+ if (devid == AR5211_DEVID || devid == AR5311_DEVID ||
+ devid == AR5211_DEFAULT)
+ return "Atheros 5211";
+ if (devid == AR5211_FPGA11B)
+ return "Atheros 5211 (FPGA)";
+ }
+ return AH_NULL;
+}
+AH_CHIP(ar5211, ar5211Probe, ar5211Attach);
Modified: projects/ath_hal/ar5211/ar5211_beacon.c
==============================================================================
--- projects/ath_hal/ar5211/ar5211_beacon.c Fri Nov 28 19:35:48 2008 (r185405)
+++ projects/ath_hal/ar5211/ar5211_beacon.c Fri Nov 28 19:58:09 2008 (r185406)
@@ -18,8 +18,6 @@
*/
#include "opt_ah.h"
-#ifdef AH_SUPPORT_AR5211
-
#include "ah.h"
#include "ah_internal.h"
@@ -173,4 +171,3 @@ ar5211SetStaBeaconTimers(struct ath_hal
(bs->bs_sleepduration - SLEEP_SLOP) << 3);
#undef SLEEP_SLOP
}
-#endif /* AH_SUPPORT_AR5211 */
Modified: projects/ath_hal/ar5211/ar5211_interrupts.c
==============================================================================
--- projects/ath_hal/ar5211/ar5211_interrupts.c Fri Nov 28 19:35:48 2008 (r185405)
+++ projects/ath_hal/ar5211/ar5211_interrupts.c Fri Nov 28 19:58:09 2008 (r185406)
@@ -18,8 +18,6 @@
*/
#include "opt_ah.h"
-#ifdef AH_SUPPORT_AR5211
-
#include "ah.h"
#include "ah_internal.h"
@@ -160,4 +158,3 @@ ar5211SetInterrupts(struct ath_hal *ah,
return omask;
}
-#endif /* AH_SUPPORT_AR5211 */
Modified: projects/ath_hal/ar5211/ar5211_keycache.c
==============================================================================
--- projects/ath_hal/ar5211/ar5211_keycache.c Fri Nov 28 19:35:48 2008 (r185405)
+++ projects/ath_hal/ar5211/ar5211_keycache.c Fri Nov 28 19:58:09 2008 (r185406)
@@ -18,8 +18,6 @@
*/
#include "opt_ah.h"
-#ifdef AH_SUPPORT_AR5211
-
#include "ah.h"
#include "ah_internal.h"
@@ -178,4 +176,3 @@ ar5211SetKeyCacheEntry(struct ath_hal *a
OS_REG_WRITE(ah, AR_KEYTABLE_TYPE(entry), keyType);
return ar5211SetKeyCacheEntryMac(ah, entry, mac);
}
-#endif /* AH_SUPPORT_AR5211 */
Modified: projects/ath_hal/ar5211/ar5211_misc.c
==============================================================================
--- projects/ath_hal/ar5211/ar5211_misc.c Fri Nov 28 19:35:48 2008 (r185405)
+++ projects/ath_hal/ar5211/ar5211_misc.c Fri Nov 28 19:58:09 2008 (r185406)
@@ -18,8 +18,6 @@
*/
#include "opt_ah.h"
-#ifdef AH_SUPPORT_AR5211
-
#include "ah.h"
#include "ah_internal.h"
@@ -685,4 +683,3 @@ ar5211GetDiagState(struct ath_hal *ah, i
}
return AH_FALSE;
}
-#endif /* AH_SUPPORT_AR5211 */
Modified: projects/ath_hal/ar5211/ar5211_phy.c
==============================================================================
--- projects/ath_hal/ar5211/ar5211_phy.c Fri Nov 28 19:35:48 2008 (r185405)
+++ projects/ath_hal/ar5211/ar5211_phy.c Fri Nov 28 19:58:09 2008 (r185406)
@@ -18,8 +18,6 @@
*/
#include "opt_ah.h"
-#ifdef AH_SUPPORT_AR5211
-
#include "ah.h"
#include "ah_internal.h"
@@ -104,4 +102,3 @@ ar5211GetRateTable(struct ath_hal *ah, u
ath_hal_setupratetable(ah, rt);
return rt;
}
-#endif /* AH_SUPPORT_AR5211 */
Modified: projects/ath_hal/ar5211/ar5211_power.c
==============================================================================
--- projects/ath_hal/ar5211/ar5211_power.c Fri Nov 28 19:35:48 2008 (r185405)
+++ projects/ath_hal/ar5211/ar5211_power.c Fri Nov 28 19:58:09 2008 (r185406)
@@ -18,8 +18,6 @@
*/
#include "opt_ah.h"
-#ifdef AH_SUPPORT_AR5211
-
#include "ah.h"
#include "ah_internal.h"
@@ -136,4 +134,3 @@ ar5211GetPowerMode(struct ath_hal *ah)
/* Just so happens the h/w maps directly to the abstracted value */
return MS(OS_REG_READ(ah, AR_SCR), AR_SCR_SLE);
}
-#endif /* AH_SUPPORT_AR5211 */
Modified: projects/ath_hal/ar5211/ar5211_recv.c
==============================================================================
--- projects/ath_hal/ar5211/ar5211_recv.c Fri Nov 28 19:35:48 2008 (r185405)
+++ projects/ath_hal/ar5211/ar5211_recv.c Fri Nov 28 19:58:09 2008 (r185406)
@@ -18,8 +18,6 @@
*/
#include "opt_ah.h"
-#ifdef AH_SUPPORT_AR5211
-
#include "ah.h"
#include "ah_internal.h"
#include "ah_desc.h"
@@ -245,4 +243,3 @@ ar5211ProcRxDesc(struct ath_hal *ah, str
return HAL_OK;
}
-#endif /* AH_SUPPORT_AR5211 */
Modified: projects/ath_hal/ar5211/ar5211_reset.c
==============================================================================
--- projects/ath_hal/ar5211/ar5211_reset.c Fri Nov 28 19:35:48 2008 (r185405)
+++ projects/ath_hal/ar5211/ar5211_reset.c Fri Nov 28 19:58:09 2008 (r185406)
@@ -18,7 +18,6 @@
*/
#include "opt_ah.h"
-#ifdef AH_SUPPORT_AR5211
/*
* Chips specific device attachment and device info collection
* Connects Init Reg Vectors, EEPROM Data, and device Functions.
@@ -2137,4 +2136,3 @@ ar5211SetPCUConfig(struct ath_hal *ah)
{
ar5211SetOperatingMode(ah, AH_PRIVATE(ah)->ah_opmode);
}
-#endif /* AH_SUPPORT_AR5211 */
Modified: projects/ath_hal/ar5211/ar5211_xmit.c
==============================================================================
--- projects/ath_hal/ar5211/ar5211_xmit.c Fri Nov 28 19:35:48 2008 (r185405)
+++ projects/ath_hal/ar5211/ar5211_xmit.c Fri Nov 28 19:58:09 2008 (r185406)
@@ -18,8 +18,6 @@
*/
#include "opt_ah.h"
-#ifdef AH_SUPPORT_AR5211
-
#include "ah.h"
#include "ah_internal.h"
#include "ah_desc.h"
@@ -679,4 +677,3 @@ ar5211GetTxIntrQueue(struct ath_hal *ah,
{
return;
}
-#endif /* AH_SUPPORT_AR5211 */
Modified: projects/ath_hal/ar5212/ar2316.c
==============================================================================
--- projects/ath_hal/ar5212/ar2316.c Fri Nov 28 19:35:48 2008 (r185405)
+++ projects/ath_hal/ar5212/ar2316.c Fri Nov 28 19:58:09 2008 (r185406)
@@ -18,8 +18,6 @@
*/
#include "opt_ah.h"
-#ifdef AH_SUPPORT_2316
-
#include "ah.h"
#include "ah_internal.h"
@@ -727,7 +725,7 @@ ar2316RfDetach(struct ath_hal *ah)
* Allocate memory for private state.
* Scratch Buffer will be reinitialized every reset so no need to zero now
*/
-HAL_BOOL
+static HAL_BOOL
ar2316RfAttach(struct ath_hal *ah, HAL_STATUS *status)
{
struct ath_hal_5212 *ahp = AH5212(ah);
@@ -760,4 +758,10 @@ ar2316RfAttach(struct ath_hal *ah, HAL_S
return AH_TRUE;
}
-#endif /* AH_SUPPORT_2316 */
+
+static HAL_BOOL
+ar2316Probe(struct ath_hal *ah)
+{
+ return IS_2316(ah);
+}
+AH_RF(ar2316, ar2316Probe, ar2316RfAttach);
Modified: projects/ath_hal/ar5212/ar2317.c
==============================================================================
--- projects/ath_hal/ar5212/ar2317.c Fri Nov 28 19:35:48 2008 (r185405)
+++ projects/ath_hal/ar5212/ar2317.c Fri Nov 28 19:58:09 2008 (r185406)
@@ -18,8 +18,6 @@
*/
#include "opt_ah.h"
-#ifdef AH_SUPPORT_2317
-
#include "ah.h"
#include "ah_internal.h"
@@ -706,7 +704,7 @@ ar2317RfDetach(struct ath_hal *ah)
* Allocate memory for analog bank scratch buffers
* Scratch Buffer will be reinitialized every reset so no need to zero now
*/
-HAL_BOOL
+static HAL_BOOL
ar2317RfAttach(struct ath_hal *ah, HAL_STATUS *status)
{
struct ath_hal_5212 *ahp = AH5212(ah);
@@ -737,4 +735,10 @@ ar2317RfAttach(struct ath_hal *ah, HAL_S
return AH_TRUE;
}
-#endif /* AH_SUPPORT_2317 */
+
+static HAL_BOOL
+ar2317Probe(struct ath_hal *ah)
+{
+ return IS_2317(ah);
+}
+AH_RF(ar2317, ar2317Probe, ar2317RfAttach);
Modified: projects/ath_hal/ar5212/ar2413.c
==============================================================================
--- projects/ath_hal/ar5212/ar2413.c Fri Nov 28 19:35:48 2008 (r185405)
+++ projects/ath_hal/ar5212/ar2413.c Fri Nov 28 19:58:09 2008 (r185406)
@@ -18,8 +18,6 @@
*/
#include "opt_ah.h"
-#ifdef AH_SUPPORT_2413
-
#include "ah.h"
#include "ah_internal.h"
@@ -721,7 +719,7 @@ ar2413RfDetach(struct ath_hal *ah)
* Allocate memory for analog bank scratch buffers
* Scratch Buffer will be reinitialized every reset so no need to zero now
*/
-HAL_BOOL
+static HAL_BOOL
ar2413RfAttach(struct ath_hal *ah, HAL_STATUS *status)
{
struct ath_hal_5212 *ahp = AH5212(ah);
@@ -752,4 +750,10 @@ ar2413RfAttach(struct ath_hal *ah, HAL_S
return AH_TRUE;
}
-#endif /* AH_SUPPORT_2413 */
+
+static HAL_BOOL
+ar2413Probe(struct ath_hal *ah)
+{
+ return IS_2413(ah);
+}
+AH_RF(ar2413, ar2413Probe, ar2413RfAttach);
Modified: projects/ath_hal/ar5212/ar2425.c
==============================================================================
--- projects/ath_hal/ar5212/ar2425.c Fri Nov 28 19:35:48 2008 (r185405)
+++ projects/ath_hal/ar5212/ar2425.c Fri Nov 28 19:58:09 2008 (r185406)
@@ -18,8 +18,6 @@
*/
#include "opt_ah.h"
-#ifdef AH_SUPPORT_2425
-
#include "ah.h"
#include "ah_internal.h"
@@ -30,9 +28,7 @@
#include "ah_eeprom_v3.h"
#define AH_5212_2425
-#ifdef AH_SUPPORT_2417
#define AH_5212_2417
-#endif
#include "ar5212/ar5212.ini"
#define N(a) (sizeof(a)/sizeof(a[0]))
@@ -211,13 +207,11 @@ ar2425SetRfRegs(struct ath_hal *ah, HAL_
HAL_INI_WRITE_BANK(ah, ar5212Bank1_2425, priv->Bank1Data, regWrites);
HAL_INI_WRITE_BANK(ah, ar5212Bank2_2425, priv->Bank2Data, regWrites);
HAL_INI_WRITE_BANK(ah, ar5212Bank3_2425, priv->Bank3Data, regWrites);
-#ifdef AH_SUPPORT_2417
if (IS_2417(ah)) {
HALASSERT(N(ar5212Bank6_2425) == N(ar5212Bank6_2417));
HAL_INI_WRITE_BANK(ah, ar5212Bank6_2417, priv->Bank6Data,
regWrites);
} else
-#endif /* AH_SUPPORT_2417 */
HAL_INI_WRITE_BANK(ah, ar5212Bank6_2425, priv->Bank6Data,
regWrites);
HAL_INI_WRITE_BANK(ah, ar5212Bank7_2425, priv->Bank7Data, regWrites);
@@ -688,7 +682,7 @@ ar2425RfDetach(struct ath_hal *ah)
* Allocate memory for analog bank scratch buffers
* Scratch Buffer will be reinitialized every reset so no need to zero now
*/
-HAL_BOOL
+static HAL_BOOL
ar2425RfAttach(struct ath_hal *ah, HAL_STATUS *status)
{
struct ath_hal_5212 *ahp = AH5212(ah);
@@ -719,4 +713,10 @@ ar2425RfAttach(struct ath_hal *ah, HAL_S
return AH_TRUE;
}
-#endif /* AH_SUPPORT_2425 */
+
+static HAL_BOOL
+ar2425Probe(struct ath_hal *ah)
+{
+ return IS_2425(ah) || IS_2417(ah);
+}
+AH_RF(ar2425, ar2425Probe, ar2425RfAttach);
Modified: projects/ath_hal/ar5212/ar5111.c
==============================================================================
--- projects/ath_hal/ar5212/ar5111.c Fri Nov 28 19:35:48 2008 (r185405)
+++ projects/ath_hal/ar5212/ar5111.c Fri Nov 28 19:58:09 2008 (r185406)
@@ -18,8 +18,6 @@
*/
#include "opt_ah.h"
-#ifdef AH_SUPPORT_5111
-
#include "ah.h"
#include "ah_internal.h"
@@ -673,7 +671,7 @@ ar5111RfDetach(struct ath_hal *ah)
* Allocate memory for analog bank scratch buffers
* Scratch Buffer will be reinitialized every reset so no need to zero now
*/
-HAL_BOOL
+static HAL_BOOL
ar5111RfAttach(struct ath_hal *ah, HAL_STATUS *status)
{
struct ath_hal_5212 *ahp = AH5212(ah);
@@ -704,4 +702,10 @@ ar5111RfAttach(struct ath_hal *ah, HAL_S
return AH_TRUE;
}
-#endif /* AH_SUPPORT_5111 */
+
+static HAL_BOOL
+ar5111Probe(struct ath_hal *ah)
+{
+ return IS_RAD5111(ah);
+}
+AH_RF(ar5111, ar5111Probe, ar5111RfAttach);
Modified: projects/ath_hal/ar5212/ar5112.c
==============================================================================
--- projects/ath_hal/ar5212/ar5112.c Fri Nov 28 19:35:48 2008 (r185405)
+++ projects/ath_hal/ar5212/ar5112.c Fri Nov 28 19:58:09 2008 (r185406)
@@ -18,8 +18,6 @@
*/
#include "opt_ah.h"
-#ifdef AH_SUPPORT_5112
-
#include "ah.h"
#include "ah_internal.h"
@@ -843,7 +841,7 @@ ar5112RfDetach(struct ath_hal *ah)
* Allocate memory for analog bank scratch buffers
* Scratch Buffer will be reinitialized every reset so no need to zero now
*/
-HAL_BOOL
+static HAL_BOOL
ar5112RfAttach(struct ath_hal *ah, HAL_STATUS *status)
{
struct ath_hal_5212 *ahp = AH5212(ah);
@@ -874,4 +872,10 @@ ar5112RfAttach(struct ath_hal *ah, HAL_S
return AH_TRUE;
}
-#endif /* AH_SUPPORT_5112 */
+
+static HAL_BOOL
+ar5112Probe(struct ath_hal *ah)
+{
+ return IS_RAD5112(ah);
+}
+AH_RF(ar5112, ar5112Probe, ar5112RfAttach);
Modified: projects/ath_hal/ar5212/ar5212.h
==============================================================================
--- projects/ath_hal/ar5212/ar5212.h Fri Nov 28 19:35:48 2008 (r185405)
+++ projects/ath_hal/ar5212/ar5212.h Fri Nov 28 19:58:09 2008 (r185406)
@@ -408,21 +408,11 @@ struct ath_hal_5212 {
} \
} while (0)
-extern HAL_BOOL ar5111RfAttach(struct ath_hal *, HAL_STATUS *);
-extern HAL_BOOL ar5112RfAttach(struct ath_hal *, HAL_STATUS *);
-extern HAL_BOOL ar2413RfAttach(struct ath_hal *, HAL_STATUS *);
-extern HAL_BOOL ar5413RfAttach(struct ath_hal *, HAL_STATUS *);
-extern HAL_BOOL ar2316RfAttach(struct ath_hal *, HAL_STATUS *);
-extern HAL_BOOL ar2317RfAttach(struct ath_hal *, HAL_STATUS *);
-extern HAL_BOOL ar2425RfAttach(struct ath_hal *, HAL_STATUS *);
-
struct ath_hal;
extern uint32_t ar5212GetRadioRev(struct ath_hal *ah);
extern void ar5212InitState(struct ath_hal_5212 *, uint16_t devid, HAL_SOFTC,
HAL_BUS_TAG st, HAL_BUS_HANDLE sh, HAL_STATUS *status);
-extern struct ath_hal * ar5212Attach(uint16_t devid, HAL_SOFTC sc,
- HAL_BUS_TAG st, HAL_BUS_HANDLE sh, HAL_STATUS *status);
extern void ar5212Detach(struct ath_hal *ah);
extern HAL_BOOL ar5212ChipTest(struct ath_hal *ah);
extern HAL_BOOL ar5212GetChannelEdges(struct ath_hal *ah,
Modified: projects/ath_hal/ar5212/ar5212_ani.c
==============================================================================
--- projects/ath_hal/ar5212/ar5212_ani.c Fri Nov 28 19:35:48 2008 (r185405)
+++ projects/ath_hal/ar5212/ar5212_ani.c Fri Nov 28 19:58:09 2008 (r185406)
@@ -18,8 +18,6 @@
*/
#include "opt_ah.h"
-#ifdef AH_SUPPORT_AR5212
-
#include "ah.h"
#include "ah_internal.h"
#include "ah_desc.h"
@@ -1016,4 +1014,3 @@ ar5212AniPoll(struct ath_hal *ah, const
}
}
}
-#endif /* AH_SUPPORT_AR5212 */
Modified: projects/ath_hal/ar5212/ar5212_attach.c
==============================================================================
--- projects/ath_hal/ar5212/ar5212_attach.c Fri Nov 28 19:35:48 2008 (r185405)
+++ projects/ath_hal/ar5212/ar5212_attach.c Fri Nov 28 19:58:09 2008 (r185406)
@@ -18,16 +18,6 @@
*/
#include "opt_ah.h"
-#ifdef AH_SUPPORT_AR5212
-
-#if !defined(AH_SUPPORT_5112) && \
- !defined(AH_SUPPORT_5111) && \
- !defined(AH_SUPPORT_2413) && \
- !defined(AH_SUPPORT_5413) && \
- !defined(AH_SUPPORT_AR5312)
-#error "No 5212 RF support defined"
-#endif
-
#include "ah.h"
#include "ah_internal.h"
#include "ah_devid.h"
@@ -35,9 +25,6 @@
#include "ar5212/ar5212.h"
#include "ar5212/ar5212reg.h"
#include "ar5212/ar5212phy.h"
-#ifdef AH_SUPPORT_AR5311
-#include "ar5212/ar5311reg.h"
-#endif
#define AH_5212_COMMON
#include "ar5212/ar5212.ini"
@@ -334,7 +321,7 @@ ar5212IsMacSupported(uint8_t macVersion,
/*
* Attach for an AR5212 part.
*/
-struct ath_hal *
+static struct ath_hal *
ar5212Attach(uint16_t devid, HAL_SOFTC sc,
HAL_BUS_TAG st, HAL_BUS_HANDLE sh, HAL_STATUS *status)
{
@@ -342,10 +329,10 @@ ar5212Attach(uint16_t devid, HAL_SOFTC s
(IS_PCIE(ah) ? AR_EEPROM_PROTECT_PCIE : AR_EEPROM_PROTECT)
struct ath_hal_5212 *ahp;
struct ath_hal *ah;
+ struct ath_hal_rf *rf;
uint32_t val;
uint16_t eeval;
HAL_STATUS ecode;
- HAL_BOOL rfStatus;
HALDEBUG(AH_NULL, HAL_DEBUG_ATTACH, "%s: sc %p st %p sh %p\n",
__func__, sc, (void*) st, (void*) sh);
@@ -417,6 +404,11 @@ ar5212Attach(uint16_t devid, HAL_SOFTC s
/* Read Radio Chip Rev Extract */
AH_PRIVATE(ah)->ah_analog5GhzRev = ar5212GetRadioRev(ah);
+
+ rf = ath_hal_rfprobe(ah, &ecode);
+ if (rf == AH_NULL)
+ goto bad;
+
/* NB: silently accept anything in release code per Atheros */
switch (AH_PRIVATE(ah)->ah_analog5GhzRev & AR_RADIO_SREV_MAJOR) {
case AR_RAD5111_SREV_MAJOR:
@@ -554,39 +546,7 @@ ar5212Attach(uint16_t devid, HAL_SOFTC s
goto bad;
}
- rfStatus = AH_FALSE;
- if (IS_5413(ah)) {
-#ifdef AH_SUPPORT_5413
- rfStatus = ar5413RfAttach(ah, &ecode);
-#else
- ecode = HAL_ENOTSUPP;
*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
More information about the svn-src-projects
mailing list