mirror of
				git://git.openwrt.org/openwrt/openwrt.git
				synced 2025-10-31 05:54:26 -04:00 
			
		
		
		
	
		
			
				
	
	
		
			525 lines
		
	
	
		
			14 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			525 lines
		
	
	
		
			14 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| --- a/kernelversion.c
 | |
| +++ b/kernelversion.c
 | |
| @@ -10,7 +10,11 @@
 | |
|  
 | |
|  /* Linux 2.6.18+ uses <linux/utsrelease.h> */
 | |
|  #ifndef UTS_RELEASE
 | |
| -#include <linux/utsrelease.h>
 | |
| +  #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33)
 | |
| +    #include <generated/utsrelease.h>
 | |
| +  #else
 | |
| +    #include <linux/utsrelease.h>
 | |
| +  #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];
 |