From aad0747216cab56a8cee5c1401c094543ed8be2d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ky=C3=B6sti=20M=C3=A4lkki?= Date: Thu, 4 Jul 2013 17:17:45 +0300 Subject: Redefine pci_bus_default_ops as function MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Taking device_t as a parameter, this allows to alter the PCI config access handlers. This is useful to add tracing of PCI config writes for devices having problems to initialise correctly. On older AMD platform PCI MMIO may not be able to fully configure all PCI devices/nodes, while MMIO_SUPPORT_DEFAULT would be preferred due to its atomic nature. So those can be forced to IO config instead. Change-Id: I2162884185bbfe461b036caf737980b45a51e522 Signed-off-by: Kyösti Mälkki Reviewed-on: http://review.coreboot.org/3608 Tested-by: build bot (Jenkins) Reviewed-by: Aaron Durbin --- src/include/device/device.h | 2 +- src/include/device/pci.h | 12 ------------ 2 files changed, 1 insertion(+), 13 deletions(-) (limited to 'src/include/device') diff --git a/src/include/device/device.h b/src/include/device/device.h index 9defb19d83..1eff4a29c6 100644 --- a/src/include/device/device.h +++ b/src/include/device/device.h @@ -42,7 +42,7 @@ struct device_operations { #endif const struct pci_operations *ops_pci; const struct smbus_bus_operations *ops_smbus_bus; - const struct pci_bus_operations *ops_pci_bus; + const struct pci_bus_operations * (*ops_pci_bus)(device_t dev); const struct pnp_mode_ops *ops_pnp_mode; }; #endif diff --git a/src/include/device/pci.h b/src/include/device/pci.h index 1f47dafeca..2dea1cf088 100644 --- a/src/include/device/pci.h +++ b/src/include/device/pci.h @@ -94,17 +94,5 @@ static inline const struct pci_operations *ops_pci(device_t dev) return pops; } -static inline const struct pci_bus_operations *ops_pci_bus(struct bus *bus) -{ - const struct pci_bus_operations *bops; - bops = 0; - if (bus && bus->dev && bus->dev->ops) { - bops = bus->dev->ops->ops_pci_bus; - } - if (!bops) - bops = pci_config_default(); - return bops; -} - #endif #endif /* PCI_H */ -- cgit v1.2.3