#ifndef PCI_H
#define PCI_H
+#include <stdint.h>
#include <device/pci_def.h>
#include <device/resource.h>
#include <device/device.h>
};
struct pci_driver {
- struct device_operations *ops;
+ const struct device_operations *ops;
unsigned short vendor;
unsigned short device;
};
void pci_bus_reset(struct bus *bus);
device_t pci_probe_dev(device_t dev, struct bus *bus, unsigned devfn);
unsigned int do_pci_scan_bridge(device_t bus, unsigned int max,
- unsigned int (*do_scan_bus)(struct bus *bus,
+ unsigned int (*do_scan_bus)(struct bus *bus,
unsigned min_devfn, unsigned max_devfn, unsigned int max));
unsigned int pci_scan_bridge(device_t bus, unsigned int max);
unsigned int pci_scan_bus(struct bus *bus, unsigned min_devfn, unsigned max_devfn, unsigned int max);
if (bus && bus->dev && bus->dev->ops) {
bops = bus->dev->ops->ops_pci_bus;
}
+ if (!bops)
+ bops = pci_remember_direct();
return bops;
}