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