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>
diff --git a/src/device/pci_device.c b/src/device/pci_device.c
index 2c724aa..9c47085 100644
--- a/src/device/pci_device.c
+++ b/src/device/pci_device.c
@@ -592,11 +592,12 @@
 
 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 007c51f..676da65 100644
--- a/src/include/device/device.h
+++ b/src/include/device/device.h
@@ -137,8 +137,8 @@
 	 */
 	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 c08b30a..fa695d4 100644
--- a/src/include/device/pci.h
+++ b/src/include/device/pci.h
@@ -109,15 +109,6 @@
 #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))