--- a/kernelversion.c +++ b/kernelversion.c @@ -10,7 +10,11 @@ /* Linux 2.6.18+ uses */ #ifndef UTS_RELEASE -#include + #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33) + #include + #else + #include + #endif #endif char *uts_release = UTS_RELEASE; --- a/ath/if_ath.c +++ b/ath/if_ath.c @@ -11580,227 +11580,231 @@ static int mincalibrate = 1; /* once a static int maxint = 0x7fffffff; /* 32-bit big */ static const ctl_table ath_sysctl_template[] = { - { .ctl_name = CTL_AUTO, + { CTLNAME(CTL_AUTO) .procname = "dev_vendor", .mode = 0644, .proc_handler = ath_sysctl_hwinfo, +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,33) .strategy = &sysctl_string, +#endif .data = "N/A", .maxlen = 1, .extra2 = (void *)ATH_CARD_VENDOR, }, - { .ctl_name = CTL_AUTO, + { CTLNAME(CTL_AUTO) .procname = "dev_name", .mode = 0644, .proc_handler = ath_sysctl_hwinfo, +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,33) .strategy = &sysctl_string, +#endif .data = "N/A", .maxlen = 1, .extra2 = (void *)ATH_CARD_NAME, }, - { .ctl_name = CTL_AUTO, + { CTLNAME(CTL_AUTO) .procname = "slottime", .mode = 0644, .proc_handler = ath_sysctl_halparam, .extra2 = (void *)ATH_SLOTTIME, }, - { .ctl_name = CTL_AUTO, + { CTLNAME(CTL_AUTO) .procname = "acktimeout", .mode = 0644, .proc_handler = ath_sysctl_halparam, .extra2 = (void *)ATH_ACKTIMEOUT, }, - { .ctl_name = CTL_AUTO, + { CTLNAME(CTL_AUTO) .procname = "ctstimeout", .mode = 0644, .proc_handler = ath_sysctl_halparam, .extra2 = (void *)ATH_CTSTIMEOUT, }, - { .ctl_name = CTL_AUTO, + { CTLNAME(CTL_AUTO) .procname = "distance", .mode = 0644, .proc_handler = ath_sysctl_halparam, .extra2 = (void *)ATH_DISTANCE, }, - { .ctl_name = CTL_AUTO, + { CTLNAME(CTL_AUTO) .procname = "silent", .mode = 0644, .proc_handler = ath_sysctl_halparam, .extra2 = (void *)ATH_SILENT, }, - { .ctl_name = CTL_AUTO, + { CTLNAME(CTL_AUTO) .procname = "softled", .mode = 0644, .proc_handler = ath_sysctl_halparam, .extra2 = (void *)ATH_SOFTLED, }, - { .ctl_name = CTL_AUTO, + { CTLNAME(CTL_AUTO) .procname = "ledpin", .mode = 0644, .proc_handler = ath_sysctl_halparam, .extra2 = (void *)ATH_LEDPIN, }, - { .ctl_name = CTL_AUTO, + { CTLNAME(CTL_AUTO) .procname = "countrycode", .mode = 0644, .proc_handler = ath_sysctl_halparam, .extra2 = (void *)ATH_COUNTRYCODE, }, - { .ctl_name = CTL_AUTO, + { CTLNAME(CTL_AUTO) .procname = "outdoor", .mode = 0644, .proc_handler = ath_sysctl_halparam, .extra2 = (void *)ATH_OUTDOOR, }, - { .ctl_name = CTL_AUTO, + { CTLNAME(CTL_AUTO) .procname = "regdomain", .mode = 0644, .proc_handler = ath_sysctl_halparam, .extra2 = (void *)ATH_REGDOMAIN, }, #ifdef AR_DEBUG - { .ctl_name = CTL_AUTO, + { CTLNAME(CTL_AUTO) .procname = "debug", .mode = 0644, .proc_handler = ath_sysctl_halparam, .extra2 = (void *)ATH_DEBUG, }, #endif - { .ctl_name = CTL_AUTO, + { CTLNAME(CTL_AUTO) .procname = "poweroffset", .mode = 0644, .proc_handler = ath_sysctl_halparam, .extra2 = (void *)ATH_POWEROFFSET, }, - { .ctl_name = CTL_AUTO, + { CTLNAME(CTL_AUTO) .procname = "txantenna", .mode = 0644, .proc_handler = ath_sysctl_halparam, .extra2 = (void *)ATH_TXANTENNA, }, - { .ctl_name = CTL_AUTO, + { CTLNAME(CTL_AUTO) .procname = "rxantenna", .mode = 0644, .proc_handler = ath_sysctl_halparam, .extra2 = (void *)ATH_RXANTENNA, }, - { .ctl_name = CTL_AUTO, + { CTLNAME(CTL_AUTO) .procname = "diversity", .mode = 0644, .proc_handler = ath_sysctl_halparam, .extra2 = (void *)ATH_DIVERSITY, }, - { .ctl_name = CTL_AUTO, + { CTLNAME(CTL_AUTO) .procname = "txintrperiod", .mode = 0644, .proc_handler = ath_sysctl_halparam, .extra2 = (void *)ATH_TXINTRPERIOD, }, - { .ctl_name = CTL_AUTO, + { CTLNAME(CTL_AUTO) .procname = "fftxqmin", .mode = 0644, .proc_handler = ath_sysctl_halparam, .extra2 = (void *)ATH_FFTXQMIN, }, #ifdef ATH_SUPERG_XR - { .ctl_name = CTL_AUTO, + { CTLNAME(CTL_AUTO) .procname = "xrpollperiod", .mode = 0644, .proc_handler = ath_sysctl_halparam, .extra2 = (void *)ATH_XR_POLL_PERIOD, }, - { .ctl_name = CTL_AUTO, + { CTLNAME(CTL_AUTO) .procname = "xrpollcount", .mode = 0644, .proc_handler = ath_sysctl_halparam, .extra2 = (void *)ATH_XR_POLL_COUNT, }, #endif - { .ctl_name = CTL_AUTO, + { CTLNAME(CTL_AUTO) .procname = "ackrate", .mode = 0644, .proc_handler = ath_sysctl_halparam, .extra2 = (void *)ATH_ACKRATE, }, - { .ctl_name = CTL_AUTO, + { CTLNAME(CTL_AUTO) .procname = "channelbw", .mode = 0644, .proc_handler = ath_sysctl_halparam, .extra2 = (void *)ATH_CHANBW, }, - { .ctl_name = CTL_AUTO, + { CTLNAME(CTL_AUTO) .procname = "rp", .mode = 0200, .proc_handler = ath_sysctl_halparam, .extra2 = (void *)ATH_RP, }, - { .ctl_name = CTL_AUTO, + { CTLNAME(CTL_AUTO) .procname = "radar_print", .mode = 0200, .proc_handler = ath_sysctl_halparam, .extra2 = (void *)ATH_RP_PRINT, }, - { .ctl_name = CTL_AUTO, + { CTLNAME(CTL_AUTO) .procname = "radar_print_all", .mode = 0200, .proc_handler = ath_sysctl_halparam, .extra2 = (void *)ATH_RP_PRINT_ALL, }, - { .ctl_name = CTL_AUTO, + { CTLNAME(CTL_AUTO) .procname = "radar_dump", .mode = 0200, .proc_handler = ath_sysctl_halparam, .extra2 = (void *)ATH_RP_PRINT_MEM, }, - { .ctl_name = CTL_AUTO, + { CTLNAME(CTL_AUTO) .procname = "radar_dump_all", .mode = 0200, .proc_handler = ath_sysctl_halparam, .extra2 = (void *)ATH_RP_PRINT_MEM_ALL, }, - { .ctl_name = CTL_AUTO, + { CTLNAME(CTL_AUTO) .procname = "rp_flush", .mode = 0200, .proc_handler = ath_sysctl_halparam, .extra2 = (void *)ATH_RP_FLUSH, }, - { .ctl_name = CTL_AUTO, + { CTLNAME(CTL_AUTO) .procname = "panic", .mode = 0200, .proc_handler = ath_sysctl_halparam, .extra2 = (void *)ATH_PANIC, }, - { .ctl_name = CTL_AUTO, + { CTLNAME(CTL_AUTO) .procname = "rp_ignored", .mode = 0644, .proc_handler = ath_sysctl_halparam, .extra2 = (void *)ATH_RP_IGNORED, }, - { .ctl_name = CTL_AUTO, + { CTLNAME(CTL_AUTO) .procname = "radar_ignored", .mode = 0644, .proc_handler = ath_sysctl_halparam, .extra2 = (void *)ATH_RADAR_IGNORED, }, - { .ctl_name = CTL_AUTO, + { CTLNAME(CTL_AUTO) .procname = "intmit", .mode = 0644, .proc_handler = ath_sysctl_halparam, .extra2 = (void *)ATH_INTMIT, }, - { .ctl_name = CTL_AUTO, + { CTLNAME(CTL_AUTO) .procname = "noise_immunity", .mode = 0644, .proc_handler = ath_sysctl_halparam, .extra2 = (void *)ATH_NOISE_IMMUNITY, }, - { .ctl_name = CTL_AUTO, + { CTLNAME(CTL_AUTO) .procname = "ofdm_weak_det", .mode = 0644, .proc_handler = ath_sysctl_halparam, .extra2 = (void *)ATH_OFDM_WEAK_DET, }, - { .ctl_name = CTL_AUTO, + { CTLNAME(CTL_AUTO) .procname = "cca_thresh", .mode = 0644, .proc_handler = ath_sysctl_halparam, @@ -11838,12 +11842,16 @@ ath_dynamic_sysctl_register(struct ath_s /* setup the table */ memset(sc->sc_sysctls, 0, space); +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,33) sc->sc_sysctls[0].ctl_name = CTL_DEV; +#endif sc->sc_sysctls[0].procname = "dev"; sc->sc_sysctls[0].mode = 0555; sc->sc_sysctls[0].child = &sc->sc_sysctls[2]; /* [1] is NULL terminator */ +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,33) sc->sc_sysctls[2].ctl_name = CTL_AUTO; +#endif sc->sc_sysctls[2].procname = dev_name; sc->sc_sysctls[2].mode = 0555; sc->sc_sysctls[2].child = &sc->sc_sysctls[4]; @@ -11966,7 +11974,7 @@ ath_announce(struct net_device *dev) */ static ctl_table ath_static_sysctls[] = { #ifdef AR_DEBUG - { .ctl_name = CTL_AUTO, + { CTLNAME(CTL_AUTO) .procname = "debug", .mode = 0644, .data = &ath_debug, @@ -11974,14 +11982,14 @@ static ctl_table ath_static_sysctls[] = .proc_handler = proc_dointvec }, #endif - { .ctl_name = CTL_AUTO, + { CTLNAME(CTL_AUTO) .procname = "xchanmode", .mode = 0444, .data = &ath_xchanmode, .maxlen = sizeof(ath_xchanmode), .proc_handler = proc_dointvec }, - { .ctl_name = CTL_AUTO, + { CTLNAME(CTL_AUTO) .procname = "calibrate", .mode = 0644, .data = &ath_calinterval, @@ -11993,14 +12001,14 @@ static ctl_table ath_static_sysctls[] = { 0 } }; static ctl_table ath_ath_table[] = { - { .ctl_name = DEV_ATH, + { CTLNAME(DEV_ATH) .procname = "ath", .mode = 0555, .child = ath_static_sysctls }, { 0 } }; static ctl_table ath_root_table[] = { - { .ctl_name = CTL_DEV, + { CTLNAME(CTL_DEV) .procname = "dev", .mode = 0555, .child = ath_ath_table --- a/ath/if_ath_ahb.h +++ b/ath/if_ath_ahb.h @@ -112,7 +112,11 @@ do { (void) (start); (void) (size); } while (0) #endif +#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,9) +#define bus_dma_sync_single dma_sync_single_for_cpu +#else #define bus_dma_sync_single dma_sync_single +#endif #define bus_map_single dma_map_single #define bus_unmap_single dma_unmap_single #define bus_alloc_consistent(_hwdev, _sz, _hdma) \ --- a/ath_hal/ah_os.c +++ b/ath_hal/ah_os.c @@ -518,7 +518,7 @@ EXPORT_SYMBOL(ath_hal_memcmp); static ctl_table ath_hal_sysctls[] = { #ifdef AH_DEBUG - { .ctl_name = CTL_AUTO, + { CTLNAME(CTL_AUTO) .procname = "debug", .mode = 0644, .data = &ath_hal_debug, @@ -526,21 +526,21 @@ static ctl_table ath_hal_sysctls[] = { .proc_handler = proc_dointvec }, #endif - { .ctl_name = CTL_AUTO, + { CTLNAME(CTL_AUTO) .procname = "dma_beacon_response_time", .data = &ath_hal_dma_beacon_response_time, .maxlen = sizeof(ath_hal_dma_beacon_response_time), .mode = 0644, .proc_handler = proc_dointvec }, - { .ctl_name = CTL_AUTO, + { CTLNAME(CTL_AUTO) .procname = "sw_beacon_response_time", .mode = 0644, .data = &ath_hal_sw_beacon_response_time, .maxlen = sizeof(ath_hal_sw_beacon_response_time), .proc_handler = proc_dointvec }, - { .ctl_name = CTL_AUTO, + { CTLNAME(CTL_AUTO) .procname = "swba_backoff", .mode = 0644, .data = &ath_hal_additional_swba_backoff, @@ -548,19 +548,19 @@ static ctl_table ath_hal_sysctls[] = { .proc_handler = proc_dointvec }, #ifdef AH_DEBUG_ALQ - { .ctl_name = CTL_AUTO, + { CTLNAME(CTL_AUTO) .procname = "alq", .mode = 0644, .proc_handler = sysctl_hw_ath_hal_log }, - { .ctl_name = CTL_AUTO, + { CTLNAME(CTL_AUTO) .procname = "alq_size", .mode = 0644, .data = &ath_hal_alq_qsize, .maxlen = sizeof(ath_hal_alq_qsize), .proc_handler = proc_dointvec }, - { .ctl_name = CTL_AUTO, + { CTLNAME(CTL_AUTO) .procname = "alq_lost", .mode = 0644, .data = &ath_hal_alq_lost, @@ -571,21 +571,21 @@ static ctl_table ath_hal_sysctls[] = { { 0 } }; static ctl_table ath_hal_table[] = { - { .ctl_name = CTL_AUTO, + { CTLNAME(CTL_AUTO) .procname = "hal", .mode = 0555, .child = ath_hal_sysctls }, { 0 } }; static ctl_table ath_ath_table[] = { - { .ctl_name = DEV_ATH, + { CTLNAME(DEV_ATH) .procname = "ath", .mode = 0555, .child = ath_hal_table }, { 0 } }; static ctl_table ath_root_table[] = { - { .ctl_name = CTL_DEV, + { CTLNAME(CTL_DEV) .procname = "dev", .mode = 0555, .child = ath_ath_table --- a/include/compat.h +++ b/include/compat.h @@ -193,6 +193,12 @@ static inline int timeval_compare(struct #define __skb_queue_after(_list, _old, _new) __skb_append(_old, _new, _list) #endif +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,33) +#define CTLNAME(x) .ctl_name = x, +#else +#define CTLNAME(x) +#endif + #endif /* __KERNEL__ */ #endif /* _ATH_COMPAT_H_ */ --- a/net80211/ieee80211_linux.c +++ b/net80211/ieee80211_linux.c @@ -699,39 +699,39 @@ IEEE80211_SYSCTL_DECL(ieee80211_sysctl_m static const ctl_table ieee80211_sysctl_template[] = { #ifdef IEEE80211_DEBUG - { .ctl_name = CTL_AUTO, + { CTLNAME(CTL_AUTO) .procname = "debug", .mode = 0644, .proc_handler = ieee80211_sysctl_debug }, #endif - { .ctl_name = CTL_AUTO, + { CTLNAME(CTL_AUTO) .procname = "dev_type", .mode = 0644, .proc_handler = ieee80211_sysctl_dev_type }, - { .ctl_name = CTL_AUTO, + { CTLNAME(CTL_AUTO) .procname = "monitor_nods_only", .mode = 0644, .proc_handler = ieee80211_sysctl_monitor_nods_only }, - { .ctl_name = CTL_AUTO, + { CTLNAME(CTL_AUTO) .procname = "monitor_txf_len", .mode = 0644, .proc_handler = ieee80211_sysctl_monitor_txf_len }, - { .ctl_name = CTL_AUTO, + { CTLNAME(CTL_AUTO) .procname = "monitor_phy_errors", .mode = 0644, .proc_handler = ieee80211_sysctl_monitor_phy_errors }, - { .ctl_name = CTL_AUTO, + { CTLNAME(CTL_AUTO) .procname = "monitor_crc_errors", .mode = 0644, .proc_handler = ieee80211_sysctl_monitor_crc_errors }, /* NB: must be last entry before NULL */ - { .ctl_name = CTL_AUTO, + { CTLNAME(CTL_AUTO) .procname = "%parent", .maxlen = IFNAMSIZ, .mode = 0444, @@ -786,12 +786,16 @@ ieee80211_virtfs_latevattach(struct ieee /* setup the table */ memset(vap->iv_sysctls, 0, space); +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,33) vap->iv_sysctls[0].ctl_name = CTL_NET; +#endif vap->iv_sysctls[0].procname = "net"; vap->iv_sysctls[0].mode = 0555; vap->iv_sysctls[0].child = &vap->iv_sysctls[2]; /* [1] is NULL terminator */ +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,33) vap->iv_sysctls[2].ctl_name = CTL_AUTO; +#endif vap->iv_sysctls[2].procname = devname; /* XXX bad idea? */ vap->iv_sysctls[2].mode = 0555; vap->iv_sysctls[2].child = &vap->iv_sysctls[4];