Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
86 | f9daq | 1 | #ifndef __ARWPCI_H__ |
2 | #define __ARWPCI_H__ |
||
3 | |||
4 | //**************************************************************************** |
||
5 | // Copyright (C) 2000-2005 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 | // askpci.h - definitions for basic access functions of pci information |
||
35 | // |
||
36 | // $Log: askpci.h,v $ |
||
37 | // Revision 1.5 2005/10/07 16:57:10 klaus |
||
38 | // fixed a bug with request_irq with IRQs greater than 127 |
||
39 | // |
||
40 | // Revision 1.4 2004/08/12 19:59:19 klaus |
||
41 | // conversion to kernel-version 2.6, released version 6.0 |
||
42 | // |
||
43 | // Revision 1.3 2003/05/11 11:12:03 klaus |
||
44 | // matched to kernel 2.4 PCI handling, debug messages improved |
||
45 | // |
||
46 | // Revision 1.2 2001/11/20 20:12:50 klaus |
||
47 | // included new header and CVS log |
||
48 | // |
||
49 | // |
||
50 | // derived from code originated from Dirk Muehlenberg AR 18.02.2000 |
||
51 | // |
||
52 | //**************************************************************************** |
||
53 | |||
54 | /*--- INCLUDES -------------------------------------------------------------------------*/ |
||
55 | #include <linux/version.h> |
||
56 | #include <linux/pci.h> |
||
57 | #include <asm/types.h> |
||
58 | |||
59 | /*--- TYPEDEFS -------------------------------------------------------------------------*/ |
||
60 | typedef struct |
||
61 | { |
||
62 | __u32 base_address; // base address of this window |
||
63 | __u32 size; // size of this window |
||
64 | __u16 type; // io or memory |
||
65 | __u16 prefetchable; // is it prefetchable |
||
66 | } IO_DESC; |
||
67 | |||
68 | typedef struct _PCIConfigHeader |
||
69 | { |
||
70 | short index; // consecutive index of PCI devices |
||
71 | |||
72 | __u16 device_id; // PCI device id |
||
73 | __u16 vendor_id; // PCI vendor id |
||
74 | __u16 subsystem_id; // PCI subsystem device id |
||
75 | __u16 subsystem_vendor_id; // PCI subvendor id |
||
76 | |||
77 | IO_DESC desc[6]; // address descriptors |
||
78 | |||
79 | struct pci_dev *PCI_dev; // pointer to linux managed PCI device |
||
80 | } PCIConfigHeader; |
||
81 | |||
82 | /*--- PROTOTYPES -------------------------------------------------------------------------*/ |
||
83 | PCIConfigHeader *GetPCIConfigHeader(__u16 vendor_id, __u16 device_id, short index); |
||
84 | |||
85 | #endif /* __ARWPCI_H__ */ |
||
86 |