device: Move pci_irqs outside DEVTREE_EARLY

Only needed in ramstage, and only for MP tables.

Change-Id: Ia7c1e153b948aeefa4c3bea4920b02a91a417096
Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/33922
Reviewed-by: Martin Roth <martinroth@google.com>
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
diff --git a/src/include/device/device.h b/src/include/device/device.h
index d6f80ce..4ffbff4 100644
--- a/src/include/device/device.h
+++ b/src/include/device/device.h
@@ -126,7 +126,6 @@
 	unsigned int    on_mainboard : 1;
 	unsigned int    disable_pcie_aspm : 1;
 	unsigned int    hidden : 1;	/* set if we should hide from UI */
-	struct pci_irq_info pci_irq_info[4];
 	u8 command;
 
 	/* Base registers for this device. I/O, MEM and Expansion ROM */
@@ -138,6 +137,7 @@
 	DEVTREE_CONST struct bus *link_list;
 
 #if !DEVTREE_EARLY
+	struct pci_irq_info pci_irq_info[4];
 	struct device_operations *ops;
 	struct chip_operations *chip_ops;
 	const char *name;
diff --git a/util/sconfig/main.c b/util/sconfig/main.c
index 85e0d8e..5e3a1d4 100644
--- a/util/sconfig/main.c
+++ b/util/sconfig/main.c
@@ -815,18 +815,6 @@
 		fprintf(fil, "\t.subsystem_vendor = 0x%04x,\n",
 			ptr->subsystem_vendor);
 
-	for (pin = 0; pin < 4; pin++) {
-		if (ptr->pci_irq_info[pin].ioapic_irq_pin > 0)
-			fprintf(fil,
-				"\t.pci_irq_info[%d].ioapic_irq_pin = %d,\n",
-				pin, ptr->pci_irq_info[pin].ioapic_irq_pin);
-
-		if (ptr->pci_irq_info[pin].ioapic_dst_id > 0)
-			fprintf(fil,
-				"\t.pci_irq_info[%d].ioapic_dst_id = %d,\n",
-				pin, ptr->pci_irq_info[pin].ioapic_dst_id);
-	}
-
 	if (ptr->subsystem_device > 0)
 		fprintf(fil, "\t.subsystem_device = 0x%04x,\n",
 			ptr->subsystem_device);
@@ -843,6 +831,17 @@
 	if (ptr->sibling)
 		fprintf(fil, "\t.sibling = &%s,\n", ptr->sibling->name);
 	fprintf(fil, "#if !DEVTREE_EARLY\n");
+	for (pin = 0; pin < 4; pin++) {
+		if (ptr->pci_irq_info[pin].ioapic_irq_pin > 0)
+			fprintf(fil,
+				"\t.pci_irq_info[%d].ioapic_irq_pin = %d,\n",
+				pin, ptr->pci_irq_info[pin].ioapic_irq_pin);
+
+		if (ptr->pci_irq_info[pin].ioapic_dst_id > 0)
+			fprintf(fil,
+				"\t.pci_irq_info[%d].ioapic_dst_id = %d,\n",
+				pin, ptr->pci_irq_info[pin].ioapic_dst_id);
+	}
 	fprintf(fil, "\t.chip_ops = &%s_ops,\n",
 		chip_ins->chip->name_underscore);
 	if (chip_ins == &mainboard_instance)