Update DEP-5 uri
[debian/omnibook.git] / compat.h
1 /*
2  * compat.h -- Older kernel (=> 2.6.11) support 
3  * 
4  * This program is free software; you can redistribute it and/or modify it
5  * under the terms of the GNU General Public License as published by the
6  * Free Software Foundation; either version 2, or (at your option) any
7  * later version.
8  * 
9  * This program is distributed in the hope that it will be useful, but
10  * WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12  * General Public License for more details.
13  *
14  * Written by Mathieu BĂ©rard <mathieu.berard@crans.org>, 2006
15  */
16
17 #include <linux/version.h>
18
19 /*
20  * For compatibility with kernel older than 2.6.16
21  * Mutex to Semaphore fallback
22  */
23
24 #if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,16))
25 #include <asm/semaphore.h>
26 #define DEFINE_MUTEX(lock)              DECLARE_MUTEX(lock)
27 #define mutex_init(lock)                init_MUTEX(lock)
28 #define mutex_lock(lock)                down(lock)
29 #define mutex_lock_interruptible(lock)  down_interruptible(lock)
30 #define mutex_unlock(lock)              up(lock)
31 #define mutex_destroy(lock)             do { } while(0)
32 #else
33 #include <linux/mutex.h>
34 #endif
35
36 /*
37  * For compatibility with kernel older than 2.6.14
38  */
39
40 #if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,14))
41 static void inline *kzalloc(size_t size, int flags)
42 {
43         void *ret = kmalloc(size, flags);
44         if (ret)
45                 memset(ret, 0, size);
46         return ret;
47 }
48 #endif
49
50 /*
51  * For compatibility with kernel older than 2.6.11
52  */
53
54 #ifndef DEFINE_SPINLOCK
55 #define DEFINE_SPINLOCK(s)              spinlock_t s = SPIN_LOCK_UNLOCKED
56 #endif
57
58 /*
59  * Those kernel don't have ICH7 southbridge pcids
60  */
61
62 #if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,11))
63 #define PCI_DEVICE_ID_INTEL_ICH7_0      0x27b8
64 #define PCI_DEVICE_ID_INTEL_ICH7_1      0x27b9
65 #define PCI_DEVICE_ID_INTEL_ICH7_30     0x27b0
66 #define PCI_DEVICE_ID_INTEL_ICH7_31     0x27bd
67 #endif
68
69
70
71 /* End of file */