Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
86 | f9daq | 1 | #ifndef __COMMON_H__ |
2 | #define __COMMON_H__ |
||
3 | |||
4 | //**************************************************************************** |
||
5 | // Copyright (C) 2000-2006 ARW Elektronik Germany |
||
6 | // |
||
7 | // |
||
8 | // This program is free software; you can redistribute it and/or modify |
||
9 | // it under the terms of the GNU General Public License as published by |
||
10 | // the Free Software Foundation; either version 2 of the License, or |
||
11 | // (at your option) any later version. |
||
12 | // |
||
13 | // This program is distributed in the hope that it will be useful, |
||
14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of |
||
15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||
16 | // GNU General Public License for more details. |
||
17 | // |
||
18 | // You should have received a copy of the GNU General Public License |
||
19 | // along with this program; if not, write to the Free Software |
||
20 | // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. |
||
21 | // |
||
22 | // This product is not authorized for use as critical component in |
||
23 | // life support systems without the express written approval of |
||
24 | // ARW Elektronik Germany. |
||
25 | // |
||
26 | // Please announce changes and hints to ARW Elektronik |
||
27 | // |
||
28 | // Maintainer(s): Klaus Hitschler (klaus.hitschler@gmx.de) |
||
29 | // |
||
30 | //**************************************************************************** |
||
31 | |||
32 | //**************************************************************************** |
||
33 | // |
||
34 | // common.h - common definitions to include in all *.c files |
||
35 | // |
||
36 | // $Log: common.h,v $ |
||
37 | // Revision 1.6 2006/06/04 12:26:07 klaus |
||
38 | // release_20060604; Version 6.9; pci_{en|dis}able_device() added; remap_page_range reorganized |
||
39 | // |
||
40 | // Revision 1.5 2004/08/12 19:59:19 klaus |
||
41 | // conversion to kernel-version 2.6, released version 6.0 |
||
42 | // |
||
43 | // Revision 1.4 2003/05/11 11:12:03 klaus |
||
44 | // matched to kernel 2.4 PCI handling, debug messages improved |
||
45 | // |
||
46 | // Revision 1.3 2001/11/20 21:29:24 klaus |
||
47 | // Small changes to correct versioning down to kernel 2.3 |
||
48 | // |
||
49 | // Revision 1.2 2001/11/20 20:12:50 klaus |
||
50 | // included new header and CVS log |
||
51 | // |
||
52 | // |
||
53 | // created while adapting to kernel version 2.4 AR 4.10.2001 |
||
54 | // |
||
55 | //**************************************************************************** |
||
56 | |||
57 | #include <linux/version.h> |
||
58 | #include <generated/autoconf.h> |
||
59 | #if defined(CONFIG_MODVERSIONS) && !defined(MODVERSIONS) |
||
60 | #define MODVERSIONS |
||
61 | #endif |
||
62 | |||
63 | #ifdef MODVERSIONS |
||
64 | #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) |
||
65 | #include <config/modversions.h> |
||
66 | #else |
||
67 | #include <linux/modversions.h> |
||
68 | #endif |
||
69 | #endif |
||
70 | |||
71 | #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,3,0) |
||
72 | #define kfree_s(ptr, size) kfree(ptr) /* a workaround cause kfree_s is disapeared in V 2.4 */ |
||
73 | #endif |
||
74 | |||
75 | // some preparative defintions for kernel 2.6.x |
||
76 | #if LINUX_VERSION_CODE < KERNEL_VERSION(2,4,24) |
||
77 | typedef void irqreturn_t; |
||
78 | #define IRQ_NONE |
||
79 | #define IRQ_HANDLED |
||
80 | #define IRQ_RETVAL(x) |
||
81 | #endif |
||
82 | |||
83 | // circumvent deprecated MOD_..._USE_COUNT |
||
84 | #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) |
||
85 | #define __MOD_INC_USE_COUNT__ |
||
86 | #define __MOD_DEC_USE_COUNT__ |
||
87 | #else |
||
88 | #define __MOD_INC_USE_COUNT__ MOD_INC_USE_COUNT |
||
89 | #define __MOD_DEC_USE_COUNT__ MOD_DEC_USE_COUNT |
||
90 | #endif |
||
91 | |||
92 | // switch to disable all printks for not debugging |
||
93 | #ifdef __DEBUG__ |
||
94 | #define DPRINTK printk |
||
95 | #else |
||
96 | #define DPRINTK(stuff...) |
||
97 | #endif |
||
98 | |||
99 | #if LINUX_VERSION_CODE < KERNEL_VERSION(2,4,22) |
||
100 | #define pcicc32_remap_page_range(a, b, c, d, e) remap_page_range(b, d, e) |
||
101 | #else |
||
102 | #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,13) |
||
103 | #define pcicc32_remap_page_range(a, b, c, d. e) remap_page_range(a, b, c, d, e) |
||
104 | #else |
||
105 | #define pcicc32_remap_page_range(a, b, c, d, e) remap_pfn_range(a, b, (c >> PAGE_SHIFT), d, e) |
||
106 | #endif |
||
107 | #endif |
||
108 | |||
109 | #endif /* __COMMON_H__ */ |