Rev 1302 | Rev 1966 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1302 | Rev 1324 | ||
---|---|---|---|
1 | /* |
1 | /* |
2 | * The PCI Library -- Internal Stuff |
2 | * The PCI Library -- Internal Stuff |
3 | * |
3 | * |
4 | * Copyright (c) 1997--2004 Martin Mares <mj@ucw.cz> |
4 | * Copyright (c) 1997--2004 Martin Mares <mj@ucw.cz> |
5 | * |
5 | * |
6 | * Modified and ported to HelenOS by Jakub Jermar. |
6 | * May 8, 2006 - Modified and ported to HelenOS by Jakub Jermar. |
7 | * |
7 | * |
8 | * Can be freely distributed and used under the terms of the GNU GPL. |
8 | * Can be freely distributed and used under the terms of the GNU GPL. |
9 | */ |
9 | */ |
10 | 10 | ||
11 | #include "pci.h" |
11 | #include "pci.h" |
12 | #include "sysdep.h" |
12 | #include "sysdep.h" |
13 | 13 | ||
14 | struct pci_methods { |
14 | struct pci_methods { |
15 | char *name; |
15 | char *name; |
16 | void (*config) (struct pci_access *); |
16 | void (*config) (struct pci_access *); |
17 | int (*detect) (struct pci_access *); |
17 | int (*detect) (struct pci_access *); |
18 | void (*init) (struct pci_access *); |
18 | void (*init) (struct pci_access *); |
19 | void (*cleanup) (struct pci_access *); |
19 | void (*cleanup) (struct pci_access *); |
20 | void (*scan) (struct pci_access *); |
20 | void (*scan) (struct pci_access *); |
21 | int (*fill_info) (struct pci_dev *, int flags); |
21 | int (*fill_info) (struct pci_dev *, int flags); |
22 | int (*read) (struct pci_dev *, int pos, byte * buf, int len); |
22 | int (*read) (struct pci_dev *, int pos, byte * buf, int len); |
23 | int (*write) (struct pci_dev *, int pos, byte * buf, int len); |
23 | int (*write) (struct pci_dev *, int pos, byte * buf, int len); |
24 | void (*init_dev) (struct pci_dev *); |
24 | void (*init_dev) (struct pci_dev *); |
25 | void (*cleanup_dev) (struct pci_dev *); |
25 | void (*cleanup_dev) (struct pci_dev *); |
26 | }; |
26 | }; |
27 | 27 | ||
28 | void pci_generic_scan_bus(struct pci_access *, byte * busmap, int bus); |
28 | void pci_generic_scan_bus(struct pci_access *, byte * busmap, int bus); |
29 | void pci_generic_scan(struct pci_access *); |
29 | void pci_generic_scan(struct pci_access *); |
30 | int pci_generic_fill_info(struct pci_dev *, int flags); |
30 | int pci_generic_fill_info(struct pci_dev *, int flags); |
31 | int pci_generic_block_read(struct pci_dev *, int pos, byte * buf, int len); |
31 | int pci_generic_block_read(struct pci_dev *, int pos, byte * buf, int len); |
32 | int pci_generic_block_write(struct pci_dev *, int pos, byte * buf, |
32 | int pci_generic_block_write(struct pci_dev *, int pos, byte * buf, |
33 | int len); |
33 | int len); |
34 | 34 | ||
35 | void *pci_malloc(struct pci_access *, int); |
35 | void *pci_malloc(struct pci_access *, int); |
36 | void pci_mfree(void *); |
36 | void pci_mfree(void *); |
37 | 37 | ||
38 | struct pci_dev *pci_alloc_dev(struct pci_access *); |
38 | struct pci_dev *pci_alloc_dev(struct pci_access *); |
39 | int pci_link_dev(struct pci_access *, struct pci_dev *); |
39 | int pci_link_dev(struct pci_access *, struct pci_dev *); |
40 | 40 | ||
41 | extern struct pci_methods pm_intel_conf1, pm_intel_conf2, pm_linux_proc, |
41 | extern struct pci_methods pm_intel_conf1, pm_intel_conf2, pm_linux_proc, |
42 | pm_fbsd_device, pm_aix_device, pm_nbsd_libpci, pm_obsd_device, |
42 | pm_fbsd_device, pm_aix_device, pm_nbsd_libpci, pm_obsd_device, |
43 | pm_dump, pm_linux_sysfs; |
43 | pm_dump, pm_linux_sysfs; |
44 | 44 |