| 1 | --- a/kernelversion.c |
| 2 | +++ b/kernelversion.c |
| 3 | @@ -10,7 +10,11 @@ |
| 4 | |
| 5 | /* Linux 2.6.18+ uses <linux/utsrelease.h> */ |
| 6 | #ifndef UTS_RELEASE |
| 7 | -#include <linux/utsrelease.h> |
| 8 | + #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33) |
| 9 | + #include <generated/utsrelease.h> |
| 10 | + #else |
| 11 | + #include <linux/utsrelease.h> |
| 12 | + #endif |
| 13 | #endif |
| 14 | |
| 15 | char *uts_release = UTS_RELEASE; |
| 16 | --- a/ath/if_ath.c |
| 17 | +++ b/ath/if_ath.c |
| 18 | @@ -11580,227 +11580,231 @@ static int mincalibrate = 1; /* once a |
| 19 | static int maxint = 0x7fffffff; /* 32-bit big */ |
| 20 | |
| 21 | static const ctl_table ath_sysctl_template[] = { |
| 22 | - { .ctl_name = CTL_AUTO, |
| 23 | + { CTLNAME(CTL_AUTO) |
| 24 | .procname = "dev_vendor", |
| 25 | .mode = 0644, |
| 26 | .proc_handler = ath_sysctl_hwinfo, |
| 27 | +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,33) |
| 28 | .strategy = &sysctl_string, |
| 29 | +#endif |
| 30 | .data = "N/A", |
| 31 | .maxlen = 1, |
| 32 | .extra2 = (void *)ATH_CARD_VENDOR, |
| 33 | }, |
| 34 | - { .ctl_name = CTL_AUTO, |
| 35 | + { CTLNAME(CTL_AUTO) |
| 36 | .procname = "dev_name", |
| 37 | .mode = 0644, |
| 38 | .proc_handler = ath_sysctl_hwinfo, |
| 39 | +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,33) |
| 40 | .strategy = &sysctl_string, |
| 41 | +#endif |
| 42 | .data = "N/A", |
| 43 | .maxlen = 1, |
| 44 | .extra2 = (void *)ATH_CARD_NAME, |
| 45 | }, |
| 46 | - { .ctl_name = CTL_AUTO, |
| 47 | + { CTLNAME(CTL_AUTO) |
| 48 | .procname = "slottime", |
| 49 | .mode = 0644, |
| 50 | .proc_handler = ath_sysctl_halparam, |
| 51 | .extra2 = (void *)ATH_SLOTTIME, |
| 52 | }, |
| 53 | - { .ctl_name = CTL_AUTO, |
| 54 | + { CTLNAME(CTL_AUTO) |
| 55 | .procname = "acktimeout", |
| 56 | .mode = 0644, |
| 57 | .proc_handler = ath_sysctl_halparam, |
| 58 | .extra2 = (void *)ATH_ACKTIMEOUT, |
| 59 | }, |
| 60 | - { .ctl_name = CTL_AUTO, |
| 61 | + { CTLNAME(CTL_AUTO) |
| 62 | .procname = "ctstimeout", |
| 63 | .mode = 0644, |
| 64 | .proc_handler = ath_sysctl_halparam, |
| 65 | .extra2 = (void *)ATH_CTSTIMEOUT, |
| 66 | }, |
| 67 | - { .ctl_name = CTL_AUTO, |
| 68 | + { CTLNAME(CTL_AUTO) |
| 69 | .procname = "distance", |
| 70 | .mode = 0644, |
| 71 | .proc_handler = ath_sysctl_halparam, |
| 72 | .extra2 = (void *)ATH_DISTANCE, |
| 73 | }, |
| 74 | - { .ctl_name = CTL_AUTO, |
| 75 | + { CTLNAME(CTL_AUTO) |
| 76 | .procname = "silent", |
| 77 | .mode = 0644, |
| 78 | .proc_handler = ath_sysctl_halparam, |
| 79 | .extra2 = (void *)ATH_SILENT, |
| 80 | }, |
| 81 | - { .ctl_name = CTL_AUTO, |
| 82 | + { CTLNAME(CTL_AUTO) |
| 83 | .procname = "softled", |
| 84 | .mode = 0644, |
| 85 | .proc_handler = ath_sysctl_halparam, |
| 86 | .extra2 = (void *)ATH_SOFTLED, |
| 87 | }, |
| 88 | - { .ctl_name = CTL_AUTO, |
| 89 | + { CTLNAME(CTL_AUTO) |
| 90 | .procname = "ledpin", |
| 91 | .mode = 0644, |
| 92 | .proc_handler = ath_sysctl_halparam, |
| 93 | .extra2 = (void *)ATH_LEDPIN, |
| 94 | }, |
| 95 | - { .ctl_name = CTL_AUTO, |
| 96 | + { CTLNAME(CTL_AUTO) |
| 97 | .procname = "countrycode", |
| 98 | .mode = 0644, |
| 99 | .proc_handler = ath_sysctl_halparam, |
| 100 | .extra2 = (void *)ATH_COUNTRYCODE, |
| 101 | }, |
| 102 | - { .ctl_name = CTL_AUTO, |
| 103 | + { CTLNAME(CTL_AUTO) |
| 104 | .procname = "outdoor", |
| 105 | .mode = 0644, |
| 106 | .proc_handler = ath_sysctl_halparam, |
| 107 | .extra2 = (void *)ATH_OUTDOOR, |
| 108 | }, |
| 109 | - { .ctl_name = CTL_AUTO, |
| 110 | + { CTLNAME(CTL_AUTO) |
| 111 | .procname = "regdomain", |
| 112 | .mode = 0644, |
| 113 | .proc_handler = ath_sysctl_halparam, |
| 114 | .extra2 = (void *)ATH_REGDOMAIN, |
| 115 | }, |
| 116 | #ifdef AR_DEBUG |
| 117 | - { .ctl_name = CTL_AUTO, |
| 118 | + { CTLNAME(CTL_AUTO) |
| 119 | .procname = "debug", |
| 120 | .mode = 0644, |
| 121 | .proc_handler = ath_sysctl_halparam, |
| 122 | .extra2 = (void *)ATH_DEBUG, |
| 123 | }, |
| 124 | #endif |
| 125 | - { .ctl_name = CTL_AUTO, |
| 126 | + { CTLNAME(CTL_AUTO) |
| 127 | .procname = "poweroffset", |
| 128 | .mode = 0644, |
| 129 | .proc_handler = ath_sysctl_halparam, |
| 130 | .extra2 = (void *)ATH_POWEROFFSET, |
| 131 | }, |
| 132 | - { .ctl_name = CTL_AUTO, |
| 133 | + { CTLNAME(CTL_AUTO) |
| 134 | .procname = "txantenna", |
| 135 | .mode = 0644, |
| 136 | .proc_handler = ath_sysctl_halparam, |
| 137 | .extra2 = (void *)ATH_TXANTENNA, |
| 138 | }, |
| 139 | - { .ctl_name = CTL_AUTO, |
| 140 | + { CTLNAME(CTL_AUTO) |
| 141 | .procname = "rxantenna", |
| 142 | .mode = 0644, |
| 143 | .proc_handler = ath_sysctl_halparam, |
| 144 | .extra2 = (void *)ATH_RXANTENNA, |
| 145 | }, |
| 146 | - { .ctl_name = CTL_AUTO, |
| 147 | + { CTLNAME(CTL_AUTO) |
| 148 | .procname = "diversity", |
| 149 | .mode = 0644, |
| 150 | .proc_handler = ath_sysctl_halparam, |
| 151 | .extra2 = (void *)ATH_DIVERSITY, |
| 152 | }, |
| 153 | - { .ctl_name = CTL_AUTO, |
| 154 | + { CTLNAME(CTL_AUTO) |
| 155 | .procname = "txintrperiod", |
| 156 | .mode = 0644, |
| 157 | .proc_handler = ath_sysctl_halparam, |
| 158 | .extra2 = (void *)ATH_TXINTRPERIOD, |
| 159 | }, |
| 160 | - { .ctl_name = CTL_AUTO, |
| 161 | + { CTLNAME(CTL_AUTO) |
| 162 | .procname = "fftxqmin", |
| 163 | .mode = 0644, |
| 164 | .proc_handler = ath_sysctl_halparam, |
| 165 | .extra2 = (void *)ATH_FFTXQMIN, |
| 166 | }, |
| 167 | #ifdef ATH_SUPERG_XR |
| 168 | - { .ctl_name = CTL_AUTO, |
| 169 | + { CTLNAME(CTL_AUTO) |
| 170 | .procname = "xrpollperiod", |
| 171 | .mode = 0644, |
| 172 | .proc_handler = ath_sysctl_halparam, |
| 173 | .extra2 = (void *)ATH_XR_POLL_PERIOD, |
| 174 | }, |
| 175 | - { .ctl_name = CTL_AUTO, |
| 176 | + { CTLNAME(CTL_AUTO) |
| 177 | .procname = "xrpollcount", |
| 178 | .mode = 0644, |
| 179 | .proc_handler = ath_sysctl_halparam, |
| 180 | .extra2 = (void *)ATH_XR_POLL_COUNT, |
| 181 | }, |
| 182 | #endif |
| 183 | - { .ctl_name = CTL_AUTO, |
| 184 | + { CTLNAME(CTL_AUTO) |
| 185 | .procname = "ackrate", |
| 186 | .mode = 0644, |
| 187 | .proc_handler = ath_sysctl_halparam, |
| 188 | .extra2 = (void *)ATH_ACKRATE, |
| 189 | }, |
| 190 | - { .ctl_name = CTL_AUTO, |
| 191 | + { CTLNAME(CTL_AUTO) |
| 192 | .procname = "channelbw", |
| 193 | .mode = 0644, |
| 194 | .proc_handler = ath_sysctl_halparam, |
| 195 | .extra2 = (void *)ATH_CHANBW, |
| 196 | }, |
| 197 | - { .ctl_name = CTL_AUTO, |
| 198 | + { CTLNAME(CTL_AUTO) |
| 199 | .procname = "rp", |
| 200 | .mode = 0200, |
| 201 | .proc_handler = ath_sysctl_halparam, |
| 202 | .extra2 = (void *)ATH_RP, |
| 203 | }, |
| 204 | - { .ctl_name = CTL_AUTO, |
| 205 | + { CTLNAME(CTL_AUTO) |
| 206 | .procname = "radar_print", |
| 207 | .mode = 0200, |
| 208 | .proc_handler = ath_sysctl_halparam, |
| 209 | .extra2 = (void *)ATH_RP_PRINT, |
| 210 | }, |
| 211 | - { .ctl_name = CTL_AUTO, |
| 212 | + { CTLNAME(CTL_AUTO) |
| 213 | .procname = "radar_print_all", |
| 214 | .mode = 0200, |
| 215 | .proc_handler = ath_sysctl_halparam, |
| 216 | .extra2 = (void *)ATH_RP_PRINT_ALL, |
| 217 | }, |
| 218 | - { .ctl_name = CTL_AUTO, |
| 219 | + { CTLNAME(CTL_AUTO) |
| 220 | .procname = "radar_dump", |
| 221 | .mode = 0200, |
| 222 | .proc_handler = ath_sysctl_halparam, |
| 223 | .extra2 = (void *)ATH_RP_PRINT_MEM, |
| 224 | }, |
| 225 | - { .ctl_name = CTL_AUTO, |
| 226 | + { CTLNAME(CTL_AUTO) |
| 227 | .procname = "radar_dump_all", |
| 228 | .mode = 0200, |
| 229 | .proc_handler = ath_sysctl_halparam, |
| 230 | .extra2 = (void *)ATH_RP_PRINT_MEM_ALL, |
| 231 | }, |
| 232 | - { .ctl_name = CTL_AUTO, |
| 233 | + { CTLNAME(CTL_AUTO) |
| 234 | .procname = "rp_flush", |
| 235 | .mode = 0200, |
| 236 | .proc_handler = ath_sysctl_halparam, |
| 237 | .extra2 = (void *)ATH_RP_FLUSH, |
| 238 | }, |
| 239 | - { .ctl_name = CTL_AUTO, |
| 240 | + { CTLNAME(CTL_AUTO) |
| 241 | .procname = "panic", |
| 242 | .mode = 0200, |
| 243 | .proc_handler = ath_sysctl_halparam, |
| 244 | .extra2 = (void *)ATH_PANIC, |
| 245 | }, |
| 246 | - { .ctl_name = CTL_AUTO, |
| 247 | + { CTLNAME(CTL_AUTO) |
| 248 | .procname = "rp_ignored", |
| 249 | .mode = 0644, |
| 250 | .proc_handler = ath_sysctl_halparam, |
| 251 | .extra2 = (void *)ATH_RP_IGNORED, |
| 252 | }, |
| 253 | - { .ctl_name = CTL_AUTO, |
| 254 | + { CTLNAME(CTL_AUTO) |
| 255 | .procname = "radar_ignored", |
| 256 | .mode = 0644, |
| 257 | .proc_handler = ath_sysctl_halparam, |
| 258 | .extra2 = (void *)ATH_RADAR_IGNORED, |
| 259 | }, |
| 260 | - { .ctl_name = CTL_AUTO, |
| 261 | + { CTLNAME(CTL_AUTO) |
| 262 | .procname = "intmit", |
| 263 | .mode = 0644, |
| 264 | .proc_handler = ath_sysctl_halparam, |
| 265 | .extra2 = (void *)ATH_INTMIT, |
| 266 | }, |
| 267 | - { .ctl_name = CTL_AUTO, |
| 268 | + { CTLNAME(CTL_AUTO) |
| 269 | .procname = "noise_immunity", |
| 270 | .mode = 0644, |
| 271 | .proc_handler = ath_sysctl_halparam, |
| 272 | .extra2 = (void *)ATH_NOISE_IMMUNITY, |
| 273 | }, |
| 274 | - { .ctl_name = CTL_AUTO, |
| 275 | + { CTLNAME(CTL_AUTO) |
| 276 | .procname = "ofdm_weak_det", |
| 277 | .mode = 0644, |
| 278 | .proc_handler = ath_sysctl_halparam, |
| 279 | .extra2 = (void *)ATH_OFDM_WEAK_DET, |
| 280 | }, |
| 281 | - { .ctl_name = CTL_AUTO, |
| 282 | + { CTLNAME(CTL_AUTO) |
| 283 | .procname = "cca_thresh", |
| 284 | .mode = 0644, |
| 285 | .proc_handler = ath_sysctl_halparam, |
| 286 | @@ -11838,12 +11842,16 @@ ath_dynamic_sysctl_register(struct ath_s |
| 287 | |
| 288 | /* setup the table */ |
| 289 | memset(sc->sc_sysctls, 0, space); |
| 290 | +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,33) |
| 291 | sc->sc_sysctls[0].ctl_name = CTL_DEV; |
| 292 | +#endif |
| 293 | sc->sc_sysctls[0].procname = "dev"; |
| 294 | sc->sc_sysctls[0].mode = 0555; |
| 295 | sc->sc_sysctls[0].child = &sc->sc_sysctls[2]; |
| 296 | /* [1] is NULL terminator */ |
| 297 | +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,33) |
| 298 | sc->sc_sysctls[2].ctl_name = CTL_AUTO; |
| 299 | +#endif |
| 300 | sc->sc_sysctls[2].procname = dev_name; |
| 301 | sc->sc_sysctls[2].mode = 0555; |
| 302 | sc->sc_sysctls[2].child = &sc->sc_sysctls[4]; |
| 303 | @@ -11966,7 +11974,7 @@ ath_announce(struct net_device *dev) |
| 304 | */ |
| 305 | static ctl_table ath_static_sysctls[] = { |
| 306 | #ifdef AR_DEBUG |
| 307 | - { .ctl_name = CTL_AUTO, |
| 308 | + { CTLNAME(CTL_AUTO) |
| 309 | .procname = "debug", |
| 310 | .mode = 0644, |
| 311 | .data = &ath_debug, |
| 312 | @@ -11974,14 +11982,14 @@ static ctl_table ath_static_sysctls[] = |
| 313 | .proc_handler = proc_dointvec |
| 314 | }, |
| 315 | #endif |
| 316 | - { .ctl_name = CTL_AUTO, |
| 317 | + { CTLNAME(CTL_AUTO) |
| 318 | .procname = "xchanmode", |
| 319 | .mode = 0444, |
| 320 | .data = &ath_xchanmode, |
| 321 | .maxlen = sizeof(ath_xchanmode), |
| 322 | .proc_handler = proc_dointvec |
| 323 | }, |
| 324 | - { .ctl_name = CTL_AUTO, |
| 325 | + { CTLNAME(CTL_AUTO) |
| 326 | .procname = "calibrate", |
| 327 | .mode = 0644, |
| 328 | .data = &ath_calinterval, |
| 329 | @@ -11993,14 +12001,14 @@ static ctl_table ath_static_sysctls[] = |
| 330 | { 0 } |
| 331 | }; |
| 332 | static ctl_table ath_ath_table[] = { |
| 333 | - { .ctl_name = DEV_ATH, |
| 334 | + { CTLNAME(DEV_ATH) |
| 335 | .procname = "ath", |
| 336 | .mode = 0555, |
| 337 | .child = ath_static_sysctls |
| 338 | }, { 0 } |
| 339 | }; |
| 340 | static ctl_table ath_root_table[] = { |
| 341 | - { .ctl_name = CTL_DEV, |
| 342 | + { CTLNAME(CTL_DEV) |
| 343 | .procname = "dev", |
| 344 | .mode = 0555, |
| 345 | .child = ath_ath_table |
| 346 | --- a/ath/if_ath_ahb.h |
| 347 | +++ b/ath/if_ath_ahb.h |
| 348 | @@ -112,7 +112,11 @@ |
| 349 | do { (void) (start); (void) (size); } while (0) |
| 350 | #endif |
| 351 | |
| 352 | +#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,9) |
| 353 | +#define bus_dma_sync_single dma_sync_single_for_cpu |
| 354 | +#else |
| 355 | #define bus_dma_sync_single dma_sync_single |
| 356 | +#endif |
| 357 | #define bus_map_single dma_map_single |
| 358 | #define bus_unmap_single dma_unmap_single |
| 359 | #define bus_alloc_consistent(_hwdev, _sz, _hdma) \ |
| 360 | --- a/ath_hal/ah_os.c |
| 361 | +++ b/ath_hal/ah_os.c |
| 362 | @@ -518,7 +518,7 @@ EXPORT_SYMBOL(ath_hal_memcmp); |
| 363 | |
| 364 | static ctl_table ath_hal_sysctls[] = { |
| 365 | #ifdef AH_DEBUG |
| 366 | - { .ctl_name = CTL_AUTO, |
| 367 | + { CTLNAME(CTL_AUTO) |
| 368 | .procname = "debug", |
| 369 | .mode = 0644, |
| 370 | .data = &ath_hal_debug, |
| 371 | @@ -526,21 +526,21 @@ static ctl_table ath_hal_sysctls[] = { |
| 372 | .proc_handler = proc_dointvec |
| 373 | }, |
| 374 | #endif |
| 375 | - { .ctl_name = CTL_AUTO, |
| 376 | + { CTLNAME(CTL_AUTO) |
| 377 | .procname = "dma_beacon_response_time", |
| 378 | .data = &ath_hal_dma_beacon_response_time, |
| 379 | .maxlen = sizeof(ath_hal_dma_beacon_response_time), |
| 380 | .mode = 0644, |
| 381 | .proc_handler = proc_dointvec |
| 382 | }, |
| 383 | - { .ctl_name = CTL_AUTO, |
| 384 | + { CTLNAME(CTL_AUTO) |
| 385 | .procname = "sw_beacon_response_time", |
| 386 | .mode = 0644, |
| 387 | .data = &ath_hal_sw_beacon_response_time, |
| 388 | .maxlen = sizeof(ath_hal_sw_beacon_response_time), |
| 389 | .proc_handler = proc_dointvec |
| 390 | }, |
| 391 | - { .ctl_name = CTL_AUTO, |
| 392 | + { CTLNAME(CTL_AUTO) |
| 393 | .procname = "swba_backoff", |
| 394 | .mode = 0644, |
| 395 | .data = &ath_hal_additional_swba_backoff, |
| 396 | @@ -548,19 +548,19 @@ static ctl_table ath_hal_sysctls[] = { |
| 397 | .proc_handler = proc_dointvec |
| 398 | }, |
| 399 | #ifdef AH_DEBUG_ALQ |
| 400 | - { .ctl_name = CTL_AUTO, |
| 401 | + { CTLNAME(CTL_AUTO) |
| 402 | .procname = "alq", |
| 403 | .mode = 0644, |
| 404 | .proc_handler = sysctl_hw_ath_hal_log |
| 405 | }, |
| 406 | - { .ctl_name = CTL_AUTO, |
| 407 | + { CTLNAME(CTL_AUTO) |
| 408 | .procname = "alq_size", |
| 409 | .mode = 0644, |
| 410 | .data = &ath_hal_alq_qsize, |
| 411 | .maxlen = sizeof(ath_hal_alq_qsize), |
| 412 | .proc_handler = proc_dointvec |
| 413 | }, |
| 414 | - { .ctl_name = CTL_AUTO, |
| 415 | + { CTLNAME(CTL_AUTO) |
| 416 | .procname = "alq_lost", |
| 417 | .mode = 0644, |
| 418 | .data = &ath_hal_alq_lost, |
| 419 | @@ -571,21 +571,21 @@ static ctl_table ath_hal_sysctls[] = { |
| 420 | { 0 } |
| 421 | }; |
| 422 | static ctl_table ath_hal_table[] = { |
| 423 | - { .ctl_name = CTL_AUTO, |
| 424 | + { CTLNAME(CTL_AUTO) |
| 425 | .procname = "hal", |
| 426 | .mode = 0555, |
| 427 | .child = ath_hal_sysctls |
| 428 | }, { 0 } |
| 429 | }; |
| 430 | static ctl_table ath_ath_table[] = { |
| 431 | - { .ctl_name = DEV_ATH, |
| 432 | + { CTLNAME(DEV_ATH) |
| 433 | .procname = "ath", |
| 434 | .mode = 0555, |
| 435 | .child = ath_hal_table |
| 436 | }, { 0 } |
| 437 | }; |
| 438 | static ctl_table ath_root_table[] = { |
| 439 | - { .ctl_name = CTL_DEV, |
| 440 | + { CTLNAME(CTL_DEV) |
| 441 | .procname = "dev", |
| 442 | .mode = 0555, |
| 443 | .child = ath_ath_table |
| 444 | --- a/include/compat.h |
| 445 | +++ b/include/compat.h |
| 446 | @@ -193,6 +193,12 @@ static inline int timeval_compare(struct |
| 447 | #define __skb_queue_after(_list, _old, _new) __skb_append(_old, _new, _list) |
| 448 | #endif |
| 449 | |
| 450 | +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,33) |
| 451 | +#define CTLNAME(x) .ctl_name = x, |
| 452 | +#else |
| 453 | +#define CTLNAME(x) |
| 454 | +#endif |
| 455 | + |
| 456 | #endif /* __KERNEL__ */ |
| 457 | |
| 458 | #endif /* _ATH_COMPAT_H_ */ |
| 459 | --- a/net80211/ieee80211_linux.c |
| 460 | +++ b/net80211/ieee80211_linux.c |
| 461 | @@ -699,39 +699,39 @@ IEEE80211_SYSCTL_DECL(ieee80211_sysctl_m |
| 462 | |
| 463 | static const ctl_table ieee80211_sysctl_template[] = { |
| 464 | #ifdef IEEE80211_DEBUG |
| 465 | - { .ctl_name = CTL_AUTO, |
| 466 | + { CTLNAME(CTL_AUTO) |
| 467 | .procname = "debug", |
| 468 | .mode = 0644, |
| 469 | .proc_handler = ieee80211_sysctl_debug |
| 470 | }, |
| 471 | #endif |
| 472 | - { .ctl_name = CTL_AUTO, |
| 473 | + { CTLNAME(CTL_AUTO) |
| 474 | .procname = "dev_type", |
| 475 | .mode = 0644, |
| 476 | .proc_handler = ieee80211_sysctl_dev_type |
| 477 | }, |
| 478 | - { .ctl_name = CTL_AUTO, |
| 479 | + { CTLNAME(CTL_AUTO) |
| 480 | .procname = "monitor_nods_only", |
| 481 | .mode = 0644, |
| 482 | .proc_handler = ieee80211_sysctl_monitor_nods_only |
| 483 | }, |
| 484 | - { .ctl_name = CTL_AUTO, |
| 485 | + { CTLNAME(CTL_AUTO) |
| 486 | .procname = "monitor_txf_len", |
| 487 | .mode = 0644, |
| 488 | .proc_handler = ieee80211_sysctl_monitor_txf_len |
| 489 | }, |
| 490 | - { .ctl_name = CTL_AUTO, |
| 491 | + { CTLNAME(CTL_AUTO) |
| 492 | .procname = "monitor_phy_errors", |
| 493 | .mode = 0644, |
| 494 | .proc_handler = ieee80211_sysctl_monitor_phy_errors |
| 495 | }, |
| 496 | - { .ctl_name = CTL_AUTO, |
| 497 | + { CTLNAME(CTL_AUTO) |
| 498 | .procname = "monitor_crc_errors", |
| 499 | .mode = 0644, |
| 500 | .proc_handler = ieee80211_sysctl_monitor_crc_errors |
| 501 | }, |
| 502 | /* NB: must be last entry before NULL */ |
| 503 | - { .ctl_name = CTL_AUTO, |
| 504 | + { CTLNAME(CTL_AUTO) |
| 505 | .procname = "%parent", |
| 506 | .maxlen = IFNAMSIZ, |
| 507 | .mode = 0444, |
| 508 | @@ -786,12 +786,16 @@ ieee80211_virtfs_latevattach(struct ieee |
| 509 | |
| 510 | /* setup the table */ |
| 511 | memset(vap->iv_sysctls, 0, space); |
| 512 | +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,33) |
| 513 | vap->iv_sysctls[0].ctl_name = CTL_NET; |
| 514 | +#endif |
| 515 | vap->iv_sysctls[0].procname = "net"; |
| 516 | vap->iv_sysctls[0].mode = 0555; |
| 517 | vap->iv_sysctls[0].child = &vap->iv_sysctls[2]; |
| 518 | /* [1] is NULL terminator */ |
| 519 | +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,33) |
| 520 | vap->iv_sysctls[2].ctl_name = CTL_AUTO; |
| 521 | +#endif |
| 522 | vap->iv_sysctls[2].procname = devname; /* XXX bad idea? */ |
| 523 | vap->iv_sysctls[2].mode = 0555; |
| 524 | vap->iv_sysctls[2].child = &vap->iv_sysctls[4]; |
| 525 | |