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; |