Remove support for Linux kernels older than 2.6.13
[madwifi/.git] / net80211 / ieee80211_scan_ap.c
index d7866a541127d22a8dcd9b710286055039c47402..e7f63a8fb67546eb1354a221a8e6912844426ac4 100644 (file)
@@ -38,7 +38,7 @@
 /*
  * IEEE 802.11 ap scanning support.
  */
-#ifndef AUTOCONF_INCLUDED
+#if !defined(AUTOCONF_INCLUDED) && !defined(CONFIG_LOCALVERSION)
 #include <linux/config.h>
 #endif
 #include <linux/version.h>
 #include <linux/netdevice.h>
 #include <linux/init.h>
 #include <linux/delay.h>
-
-#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,12)
-/* Copied from Linux lib/sort.c */
-static void u32_swap(void *a, void *b, int size)
-{
-       u32 t = *(u32 *)a;
-       *(u32 *)a = *(u32 *)b;
-       *(u32 *)b = t;
-}
-
-static void generic_swap(void *a, void *b, int size)
-{
-       char t;
-
-       do {
-               t = *(char *)a;
-               *(char *)a++ = *(char *)b;
-               *(char *)b++ = t;
-       } while (--size > 0);
-}
-
-/**
- * sort - sort an array of elements
- * @base: pointer to data to sort
- * @num: number of elements
- * @size: size of each element
- * @cmp: pointer to comparison function
- * @swap: pointer to swap function or NULL
- *
- * This function does a heapsort on the given array. You may provide a
- * swap function optimized to your element type.
- *
- * Sorting time is O(n log n) both on average and worst-case. While
- * qsort is about 20% faster on average, it suffers from exploitable
- * O(n*n) worst-case behavior and extra memory requirements that make
- * it less suitable for kernel use.
- */
-
-void sort(void *base, size_t num, size_t size,
-         int (*cmp)(const void *, const void *),
-         void (*swap)(void *, void *, int size))
-{
-       /* pre-scale counters for performance */
-       int i = (num/2 - 1) * size, n = num * size, c, r;
-
-       if (!swap)
-               swap = (size == 4 ? u32_swap : generic_swap);
-
-       /* heapify */
-       for ( ; i >= 0; i -= size) {
-               for (r = i; r * 2 + size < n; r  = c) {
-                       c = r * 2 + size;
-                       if (c < n - size && cmp(base + c, base + c + size) < 0)
-                               c += size;
-                       if (cmp(base + r, base + c) >= 0)
-                               break;
-                       swap(base + r, base + c, size);
-               }
-       }
-
-       /* sort */
-       for (i = n - size; i > 0; i -= size) {
-               swap(base, base + i, size);
-               for (r = 0; r * 2 + size < i; r = c) {
-                       c = r * 2 + size;
-                       if (c < i - size && cmp(base + c, base + c + size) < 0)
-                               c += size;
-                       if (cmp(base + r, base + c) >= 0)
-                               break;
-                       swap(base + r, base + c, size);
-               }
-       }
-}
-#else
 #include <linux/sort.h>
-#endif
 
 #include "if_media.h"