summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKyösti Mälkki <kyosti.malkki@gmail.com>2019-06-30 08:40:04 +0300
committerMartin Roth <martinroth@google.com>2019-07-15 17:44:08 +0000
commitcac023161535253675a23f335b3fddedb395d57d (patch)
treeb94312f2ca049a4dba12370fa12fba7459f61a85
parent96d8e4317835ed490a3999f173c50a2c0a36314a (diff)
downloadcoreboot-cac023161535253675a23f335b3fddedb395d57d.tar.gz
coreboot-cac023161535253675a23f335b3fddedb395d57d.tar.bz2
coreboot-cac023161535253675a23f335b3fddedb395d57d.zip
device: Remove device->ops from early stages
Change-Id: I7a361187570716df94a3fd441ae78c0f805b1dda Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/33921 Reviewed-by: Patrick Rudolph <siro@das-labor.org> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
-rw-r--r--src/device/pci_device.c5
-rw-r--r--src/include/device/device.h2
-rw-r--r--src/include/device/pci.h9
3 files changed, 4 insertions, 12 deletions
diff --git a/src/device/pci_device.c b/src/device/pci_device.c
index 2c724aad5099..9c470851527c 100644
--- a/src/device/pci_device.c
+++ b/src/device/pci_device.c
@@ -592,11 +592,12 @@ void pci_dev_set_resources(struct device *dev)
void pci_dev_enable_resources(struct device *dev)
{
- const struct pci_operations *ops;
+ const struct pci_operations *ops = NULL;
u16 command;
/* Set the subsystem vendor and device ID for mainboard devices. */
- ops = ops_pci(dev);
+ if (dev->ops)
+ ops = dev->ops->ops_pci;
if (dev->on_mainboard && ops && ops->set_subsystem) {
if (CONFIG_SUBSYSTEM_VENDOR_ID)
dev->subsystem_vendor = CONFIG_SUBSYSTEM_VENDOR_ID;
diff --git a/src/include/device/device.h b/src/include/device/device.h
index 007c51f629f7..676da65263ea 100644
--- a/src/include/device/device.h
+++ b/src/include/device/device.h
@@ -137,8 +137,8 @@ struct device {
*/
DEVTREE_CONST struct bus *link_list;
- struct device_operations *ops;
#if !DEVTREE_EARLY
+ struct device_operations *ops;
struct chip_operations *chip_ops;
const char *name;
#if CONFIG(GENERATE_SMBIOS_TABLES)
diff --git a/src/include/device/pci.h b/src/include/device/pci.h
index c08b30af6f8b..fa695d440f76 100644
--- a/src/include/device/pci.h
+++ b/src/include/device/pci.h
@@ -109,15 +109,6 @@ struct msix_entry *pci_msix_get_table(struct device *dev);
#define PCI_IO_BRIDGE_ALIGN 4096
#define PCI_MEM_BRIDGE_ALIGN (1024*1024)
-static inline const struct pci_operations *ops_pci(struct device *dev)
-{
- const struct pci_operations *pops;
- pops = 0;
- if (dev && dev->ops)
- pops = dev->ops->ops_pci;
- return pops;
-}
-
#define PCI_ID(VENDOR_ID, DEVICE_ID) \
((((DEVICE_ID) & 0xFFFF) << 16) | ((VENDOR_ID) & 0xFFFF))