Improved compatibility for 2.2.14. May break other 2.2.x kernels.
authorDavid Schleef <ds@schleef.org>
Thu, 2 May 2002 23:10:41 +0000 (23:10 +0000)
committerDavid Schleef <ds@schleef.org>
Thu, 2 May 2002 23:10:41 +0000 (23:10 +0000)
include/linux/devfs_fs_kernel.h
include/linux/module.h
include/linux/pci.h

index 851191a545f59f7ab702be1775762f1ea2632b6a..9751b6af4873f9cc5dce0a28ce9fb7e5371530fc 100644 (file)
@@ -9,6 +9,9 @@
 
 #if LINUX_VERSION_CODE < 0x020400
 
+#define DEVFS_FL_DEFAULT 0
+#define DEVFS_SPECIAL_CHR 0
+
 typedef struct devfs_entry * devfs_handle_t;
 
 static inline int devfs_register_chrdev (unsigned int major, const char *name,
@@ -40,9 +43,9 @@ static inline devfs_handle_t devfs_get_handle (devfs_handle_t dir,
            return NULL;
 }
 
-#endif
-
+#else
 #include_next <linux/devfs_fs_kernel.h>
+#endif
 
 #endif
 
index 1c7010e326dba7d7822c7247b3c79d300c24a0ce..5f40d754e6d72668182fdf5678de9478a0b1d500 100644 (file)
 #endif
 #endif
 
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,2,18)                /* ? */
+  typedef int (*__init_module_func_t)(void);
+  typedef void (*__cleanup_module_func_t)(void);
+  #define module_init(x) \
+       int init_module(void) __attribute__((alias(#x))); \
+       static inline __init_module_func_t __init_module_inline(void) \
+       { return x; }
+  #define module_exit(x) \
+       void cleanup_module(void) __attribute__((alias(#x))); \
+       static inline __cleanup_module_func_t __cleanup_module_inline(void) \
+       { return x; }
+#endif
+
 #if LINUX_VERSION_CODE < KERNEL_VERSION(2,4,0)
 #define MODULE_DEVICE_TABLE(a,b)
 #endif
index fb311d650ed4ccc41a82d6242051fc5201fa8de0..b3943d3489d1f8a92ee86bbc12fd5fa7114fbef3 100644 (file)
@@ -16,6 +16,9 @@
 #define PCI_SUPPORT_VER2
 
 #if LINUX_VERSION_CODE < 0x020300 /* XXX */
+#include <linux/types.h>
+
+typedef u64 dma_addr_t;
 
 #define pci_for_each_dev(x)    \
        for((x)=pci_devices;(x);(x)=(x)->next)