soc/intel/skylake: Assign device ops in chipset devicetree

Some PCI IDs were missing, and at least one (SPT's fast SPI
device in a generic SPI driver) was wrong. Hence, this patch
actually changes behavior depending on the devices actually
present in a machine.

In this patch the Skylake devicetree is written in a single-line
style. Alternative, the device operations could be put on a separate
line, e.g.
    device pci 00.0 alias system_agent on
            ops systemagent_ops
    end

Tested on Kontron/bSL6. Notable in the log diff is that the
CSE and SATA drivers are hooked up now.

Change-Id: I8635fc53ca617b029d6fe1845eaef6c5c749db82
Signed-off-by: Nico Huber <nico.h@gmx.de>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/66485
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
diff --git a/src/soc/intel/common/block/cse/cse.c b/src/soc/intel/common/block/cse/cse.c
index 1e223c7..9c75336 100644
--- a/src/soc/intel/common/block/cse/cse.c
+++ b/src/soc/intel/common/block/cse/cse.c
@@ -1274,7 +1274,7 @@
 		cse_final_end_of_firmware();
 }
 
-static struct device_operations cse_ops = {
+struct device_operations cse_ops = {
 	.set_resources		= pci_dev_set_resources,
 	.read_resources		= pci_dev_read_resources,
 	.enable_resources	= pci_dev_enable_resources,
@@ -1289,7 +1289,6 @@
 	PCI_DID_INTEL_APL_CSE0,
 	PCI_DID_INTEL_GLK_CSE0,
 	PCI_DID_INTEL_CNL_CSE0,
-	PCI_DID_INTEL_SKL_CSE0,
 	PCI_DID_INTEL_LWB_CSE0,
 	PCI_DID_INTEL_LWB_CSE0_SUPER,
 	PCI_DID_INTEL_CNP_H_CSE0,
diff --git a/src/soc/intel/common/block/gpio/gpio_dev.c b/src/soc/intel/common/block/gpio/gpio_dev.c
index c47d3a2..a179473 100644
--- a/src/soc/intel/common/block/gpio/gpio_dev.c
+++ b/src/soc/intel/common/block/gpio/gpio_dev.c
@@ -15,7 +15,7 @@
 	.output		= gpio_output,
 };
 
-static struct device_operations block_gpio_ops = {
+struct device_operations block_gpio_ops = {
 	.read_resources	= noop_read_resources,
 	.set_resources	= noop_set_resources,
 	.ops_gpio	= &gpio_ops,
diff --git a/src/soc/intel/common/block/graphics/graphics.c b/src/soc/intel/common/block/graphics/graphics.c
index 6b5770c..30fc2c2 100644
--- a/src/soc/intel/common/block/graphics/graphics.c
+++ b/src/soc/intel/common/block/graphics/graphics.c
@@ -175,7 +175,7 @@
 	}
 }
 
-static const struct device_operations graphics_ops = {
+const struct device_operations graphics_ops = {
 	.read_resources		= graphics_dev_read_resources,
 	.set_resources		= pci_dev_set_resources,
 	.enable_resources	= pci_dev_enable_resources,
@@ -213,36 +213,7 @@
 	PCI_DID_INTEL_GLK_IGD_EU12,
 	PCI_DID_INTEL_WHL_GT1_ULT_1,
 	PCI_DID_INTEL_WHL_GT2_ULT_1,
-	PCI_DID_INTEL_KBL_GT1_SULTM,
-	PCI_DID_INTEL_KBL_GT1_SHALM_1,
-	PCI_DID_INTEL_KBL_GT1_SHALM_2,
-	PCI_DID_INTEL_KBL_GT1_SSRVM,
-	PCI_DID_INTEL_KBL_GT1F_DT2,
-	PCI_DID_INTEL_KBL_GT2_SULXM,
-	PCI_DID_INTEL_KBL_GT2_SULTM,
-	PCI_DID_INTEL_KBL_GT2_SULTMR,
-	PCI_DID_INTEL_KBL_GT2_SSRVM,
-	PCI_DID_INTEL_KBL_GT2_SWSTM,
-	PCI_DID_INTEL_KBL_GT2_SHALM,
-	PCI_DID_INTEL_KBL_GT2_DT2P2,
-	PCI_DID_INTEL_KBL_GT2F_SULTM,
-	PCI_DID_INTEL_KBL_GT3E_SULTM_1,
-	PCI_DID_INTEL_KBL_GT3E_SULTM_2,
-	PCI_DID_INTEL_KBL_GT4_SHALM,
 	PCI_DID_INTEL_AML_GT2_ULX,
-	PCI_DID_INTEL_SKL_GT1F_DT2,
-	PCI_DID_INTEL_SKL_GT1_SULTM,
-	PCI_DID_INTEL_SKL_GT2_DT2P1,
-	PCI_DID_INTEL_SKL_GT2_SULXM,
-	PCI_DID_INTEL_SKL_GT2_SULTM,
-	PCI_DID_INTEL_SKL_GT2_SHALM,
-	PCI_DID_INTEL_SKL_GT2_SWKSM,
-	PCI_DID_INTEL_SKL_GT3_SULTM,
-	PCI_DID_INTEL_SKL_GT3E_SULTM_1,
-	PCI_DID_INTEL_SKL_GT3E_SULTM_2,
-	PCI_DID_INTEL_SKL_GT3FE_SSRVM,
-	PCI_DID_INTEL_SKL_GT4_SHALM,
-	PCI_DID_INTEL_SKL_GT4E_SWSTM,
 	PCI_DID_INTEL_CFL_H_GT2,
 	PCI_DID_INTEL_CFL_H_XEON_GT2,
 	PCI_DID_INTEL_CFL_S_GT1_1,
diff --git a/src/soc/intel/common/block/hda/hda.c b/src/soc/intel/common/block/hda/hda.c
index fd0ab4a..ac938ea 100644
--- a/src/soc/intel/common/block/hda/hda.c
+++ b/src/soc/intel/common/block/hda/hda.c
@@ -11,7 +11,7 @@
 		azalia_audio_init(dev);
 }
 
-static struct device_operations hda_ops = {
+struct device_operations hda_ops = {
 	.read_resources		= pci_dev_read_resources,
 	.set_resources		= pci_dev_set_resources,
 	.enable_resources	= pci_dev_enable_resources,
@@ -32,11 +32,8 @@
 	PCI_DID_INTEL_RPP_P_AUDIO,
 	PCI_DID_INTEL_APL_AUDIO,
 	PCI_DID_INTEL_GLK_AUDIO,
-	PCI_DID_INTEL_SKL_AUDIO,
-	PCI_DID_INTEL_SKL_H_AUDIO,
 	PCI_DID_INTEL_LWB_AUDIO,
 	PCI_DID_INTEL_LWB_AUDIO_SUPER,
-	PCI_DID_INTEL_KBL_AUDIO,
 	PCI_DID_INTEL_CNL_AUDIO,
 	PCI_DID_INTEL_CNP_H_AUDIO,
 	PCI_DID_INTEL_ICL_AUDIO,
diff --git a/src/soc/intel/common/block/i2c/i2c.c b/src/soc/intel/common/block/i2c/i2c.c
index c359417..481ba7b 100644
--- a/src/soc/intel/common/block/i2c/i2c.c
+++ b/src/soc/intel/common/block/i2c/i2c.c
@@ -161,7 +161,7 @@
 	dw_i2c_dev_init(dev);
 }
 
-static struct device_operations i2c_dev_ops = {
+struct device_operations i2c_dev_ops = {
 	.read_resources		= pci_dev_read_resources,
 	.set_resources		= pci_dev_set_resources,
 	.enable_resources	= pci_dev_enable_resources,
@@ -181,16 +181,6 @@
 	PCI_DID_INTEL_MTL_I2C3,
 	PCI_DID_INTEL_MTL_I2C4,
 	PCI_DID_INTEL_MTL_I2C5,
-	PCI_DID_INTEL_SPT_I2C0,
-	PCI_DID_INTEL_SPT_I2C1,
-	PCI_DID_INTEL_SPT_I2C2,
-	PCI_DID_INTEL_SPT_I2C3,
-	PCI_DID_INTEL_SPT_I2C4,
-	PCI_DID_INTEL_SPT_I2C5,
-	PCI_DID_INTEL_UPT_H_I2C0,
-	PCI_DID_INTEL_UPT_H_I2C1,
-	PCI_DID_INTEL_UPT_H_I2C2,
-	PCI_DID_INTEL_UPT_H_I2C3,
 	PCI_DID_INTEL_APL_I2C0,
 	PCI_DID_INTEL_APL_I2C1,
 	PCI_DID_INTEL_APL_I2C2,
diff --git a/src/soc/intel/common/block/lpc/lpc.c b/src/soc/intel/common/block/lpc/lpc.c
index fbae2f0..b2c0367 100644
--- a/src/soc/intel/common/block/lpc/lpc.c
+++ b/src/soc/intel/common/block/lpc/lpc.c
@@ -124,7 +124,7 @@
 }
 #endif
 
-static struct device_operations device_ops = {
+struct device_operations lpc_ops = {
 	.read_resources		= pch_lpc_read_resources,
 	.set_resources		= pch_lpc_set_resources,
 	.enable_resources	= pci_dev_enable_resources,
@@ -210,24 +210,6 @@
 	PCI_DID_INTEL_RPP_S_ESPI_29,
 	PCI_DID_INTEL_RPP_S_ESPI_30,
 	PCI_DID_INTEL_RPP_S_ESPI_31,
-	PCI_DID_INTEL_SPT_LP_SAMPLE,
-	PCI_DID_INTEL_SPT_LP_U_BASE,
-	PCI_DID_INTEL_SPT_LP_U_PREMIUM,
-	PCI_DID_INTEL_SPT_LP_Y_PREMIUM,
-	PCI_DID_INTEL_SPT_H_H110,
-	PCI_DID_INTEL_SPT_H_H170,
-	PCI_DID_INTEL_SPT_H_Z170,
-	PCI_DID_INTEL_SPT_H_Q170,
-	PCI_DID_INTEL_SPT_H_Q150,
-	PCI_DID_INTEL_SPT_H_B150,
-	PCI_DID_INTEL_SPT_H_C236,
-	PCI_DID_INTEL_SPT_H_C232,
-	PCI_DID_INTEL_SPT_H_QM170,
-	PCI_DID_INTEL_SPT_H_HM170,
-	PCI_DID_INTEL_SPT_H_CM236,
-	PCI_DID_INTEL_SPT_H_HM175,
-	PCI_DID_INTEL_SPT_H_QM175,
-	PCI_DID_INTEL_SPT_H_CM238,
 	PCI_DID_INTEL_LWB_C621,
 	PCI_DID_INTEL_LWB_C622,
 	PCI_DID_INTEL_LWB_C624,
@@ -248,21 +230,6 @@
 	PCI_DID_INTEL_LWB_C627A_SUPER,
 	PCI_DID_INTEL_LWB_C629A_SUPER,
 	PCI_DID_INTEL_EMB_SUPER,
-	PCI_DID_INTEL_UPT_H_Q270,
-	PCI_DID_INTEL_UPT_H_H270,
-	PCI_DID_INTEL_UPT_H_Z270,
-	PCI_DID_INTEL_UPT_H_Q250,
-	PCI_DID_INTEL_UPT_H_B250,
-	PCI_DID_INTEL_UPT_H_Z370,
-	PCI_DID_INTEL_UPT_H_H310C,
-	PCI_DID_INTEL_UPT_H_B365,
-	PCI_DID_INTEL_SPT_LP_Y_PREMIUM_HDCP22,
-	PCI_DID_INTEL_SPT_LP_U_PREMIUM_HDCP22,
-	PCI_DID_INTEL_SPT_LP_U_BASE_HDCP22,
-	PCI_DID_INTEL_UPT_LP_SUPER_SKU,
-	PCI_DID_INTEL_UPT_LP_U_BASE,
-	PCI_DID_INTEL_UPT_LP_U_PREMIUM,
-	PCI_DID_INTEL_UPT_LP_Y_PREMIUM,
 	PCI_DID_INTEL_APL_LPC,
 	PCI_DID_INTEL_GLK_LPC,
 	PCI_DID_INTEL_GLK_ESPI,
@@ -416,7 +383,7 @@
 };
 
 static const struct pci_driver pch_lpc __pci_driver = {
-	.ops = &device_ops,
+	.ops = &lpc_ops,
 	.vendor = PCI_VID_INTEL,
 	.devices = pci_device_ids,
 };
diff --git a/src/soc/intel/common/block/p2sb/p2sb.c b/src/soc/intel/common/block/p2sb/p2sb.c
index 910f01d..d95e541 100644
--- a/src/soc/intel/common/block/p2sb/p2sb.c
+++ b/src/soc/intel/common/block/p2sb/p2sb.c
@@ -131,7 +131,7 @@
 	mmio_resource_kb(dev, PCI_BASE_ADDRESS_0, P2SB_BAR / KiB, P2SB_SIZE / KiB);
 }
 
-static const struct device_operations device_ops = {
+const struct device_operations p2sb_ops = {
 	.read_resources		= read_resources,
 	.set_resources		= noop_set_resources,
 	.ops_pci		= &pci_dev_ops_pci,
@@ -144,9 +144,6 @@
 	PCI_DID_INTEL_GLK_P2SB,
 	PCI_DID_INTEL_LWB_P2SB,
 	PCI_DID_INTEL_LWB_P2SB_SUPER,
-	PCI_DID_INTEL_SKL_LP_P2SB,
-	PCI_DID_INTEL_SKL_P2SB,
-	PCI_DID_INTEL_KBL_P2SB,
 	PCI_DID_INTEL_CNL_P2SB,
 	PCI_DID_INTEL_CNP_H_P2SB,
 	PCI_DID_INTEL_ICL_P2SB,
@@ -163,7 +160,7 @@
 };
 
 static const struct pci_driver pmc __pci_driver = {
-	.ops		= &device_ops,
+	.ops		= &p2sb_ops,
 	.vendor		= PCI_VID_INTEL,
 	.devices	= pci_device_ids,
 };
diff --git a/src/soc/intel/common/block/pcie/pcie.c b/src/soc/intel/common/block/pcie/pcie.c
index d435286..d3fcbde 100644
--- a/src/soc/intel/common/block/pcie/pcie.c
+++ b/src/soc/intel/common/block/pcie/pcie.c
@@ -56,7 +56,7 @@
 	.set_subsystem = pci_dev_set_subsystem,
 };
 
-static struct device_operations device_ops = {
+struct device_operations pcie_rp_ops = {
 	.read_resources		= pci_bus_read_resources,
 	.set_resources		= pci_dev_set_resources,
 	.enable_resources		= pci_bus_enable_resources,
@@ -81,38 +81,6 @@
 	PCI_DID_INTEL_MTL_IOE_P_PCIE_RP10,
 	PCI_DID_INTEL_MTL_IOE_P_PCIE_RP11,
 	PCI_DID_INTEL_MTL_IOE_P_PCIE_RP12,
-	PCI_DID_INTEL_SPT_LP_PCIE_RP1,
-	PCI_DID_INTEL_SPT_LP_PCIE_RP2,
-	PCI_DID_INTEL_SPT_LP_PCIE_RP3,
-	PCI_DID_INTEL_SPT_LP_PCIE_RP4,
-	PCI_DID_INTEL_SPT_LP_PCIE_RP5,
-	PCI_DID_INTEL_SPT_LP_PCIE_RP6,
-	PCI_DID_INTEL_SPT_LP_PCIE_RP7,
-	PCI_DID_INTEL_SPT_LP_PCIE_RP8,
-	PCI_DID_INTEL_SPT_LP_PCIE_RP9,
-	PCI_DID_INTEL_SPT_LP_PCIE_RP10,
-	PCI_DID_INTEL_SPT_LP_PCIE_RP11,
-	PCI_DID_INTEL_SPT_LP_PCIE_RP12,
-	PCI_DID_INTEL_SPT_H_PCIE_RP1,
-	PCI_DID_INTEL_SPT_H_PCIE_RP2,
-	PCI_DID_INTEL_SPT_H_PCIE_RP3,
-	PCI_DID_INTEL_SPT_H_PCIE_RP4,
-	PCI_DID_INTEL_SPT_H_PCIE_RP5,
-	PCI_DID_INTEL_SPT_H_PCIE_RP6,
-	PCI_DID_INTEL_SPT_H_PCIE_RP7,
-	PCI_DID_INTEL_SPT_H_PCIE_RP8,
-	PCI_DID_INTEL_SPT_H_PCIE_RP9,
-	PCI_DID_INTEL_SPT_H_PCIE_RP10,
-	PCI_DID_INTEL_SPT_H_PCIE_RP11,
-	PCI_DID_INTEL_SPT_H_PCIE_RP12,
-	PCI_DID_INTEL_SPT_H_PCIE_RP13,
-	PCI_DID_INTEL_SPT_H_PCIE_RP14,
-	PCI_DID_INTEL_SPT_H_PCIE_RP15,
-	PCI_DID_INTEL_SPT_H_PCIE_RP16,
-	PCI_DID_INTEL_SPT_H_PCIE_RP17,
-	PCI_DID_INTEL_SPT_H_PCIE_RP18,
-	PCI_DID_INTEL_SPT_H_PCIE_RP19,
-	PCI_DID_INTEL_SPT_H_PCIE_RP20,
 	PCI_DID_INTEL_LWB_PCIE_RP1,
 	PCI_DID_INTEL_LWB_PCIE_RP2,
 	PCI_DID_INTEL_LWB_PCIE_RP3,
@@ -153,30 +121,6 @@
 	PCI_DID_INTEL_LWB_PCIE_RP18_SUPER,
 	PCI_DID_INTEL_LWB_PCIE_RP19_SUPER,
 	PCI_DID_INTEL_LWB_PCIE_RP20_SUPER,
-	PCI_DID_INTEL_UPT_H_PCIE_RP1,
-	PCI_DID_INTEL_UPT_H_PCIE_RP2,
-	PCI_DID_INTEL_UPT_H_PCIE_RP3,
-	PCI_DID_INTEL_UPT_H_PCIE_RP4,
-	PCI_DID_INTEL_UPT_H_PCIE_RP5,
-	PCI_DID_INTEL_UPT_H_PCIE_RP6,
-	PCI_DID_INTEL_UPT_H_PCIE_RP7,
-	PCI_DID_INTEL_UPT_H_PCIE_RP8,
-	PCI_DID_INTEL_UPT_H_PCIE_RP9,
-	PCI_DID_INTEL_UPT_H_PCIE_RP10,
-	PCI_DID_INTEL_UPT_H_PCIE_RP11,
-	PCI_DID_INTEL_UPT_H_PCIE_RP12,
-	PCI_DID_INTEL_UPT_H_PCIE_RP13,
-	PCI_DID_INTEL_UPT_H_PCIE_RP14,
-	PCI_DID_INTEL_UPT_H_PCIE_RP15,
-	PCI_DID_INTEL_UPT_H_PCIE_RP16,
-	PCI_DID_INTEL_UPT_H_PCIE_RP17,
-	PCI_DID_INTEL_UPT_H_PCIE_RP18,
-	PCI_DID_INTEL_UPT_H_PCIE_RP19,
-	PCI_DID_INTEL_UPT_H_PCIE_RP20,
-	PCI_DID_INTEL_UPT_H_PCIE_RP21,
-	PCI_DID_INTEL_UPT_H_PCIE_RP22,
-	PCI_DID_INTEL_UPT_H_PCIE_RP23,
-	PCI_DID_INTEL_UPT_H_PCIE_RP24,
 	PCI_DID_INTEL_CNL_LP_PCIE_RP1,
 	PCI_DID_INTEL_CNL_LP_PCIE_RP2,
 	PCI_DID_INTEL_CNL_LP_PCIE_RP3,
@@ -387,7 +331,7 @@
 };
 
 static const struct pci_driver pch_pcie __pci_driver = {
-	.ops	= &device_ops,
+	.ops	= &pcie_rp_ops,
 	.vendor	= PCI_VID_INTEL,
 	.devices	= pcie_device_ids,
 };
diff --git a/src/soc/intel/common/block/pmc/pmc.c b/src/soc/intel/common/block/pmc/pmc.c
index 73594cd..37d8579 100644
--- a/src/soc/intel/common/block/pmc/pmc.c
+++ b/src/soc/intel/common/block/pmc/pmc.c
@@ -97,7 +97,7 @@
 	pmc_clear_pmcon_sts();
 }
 
-static struct device_operations device_ops = {
+struct device_operations pmc_ops = {
 	.read_resources		= pch_pmc_read_resources,
 	.set_resources		= pci_dev_set_resources,
 	.enable_resources	= pci_dev_enable_resources,
@@ -116,11 +116,8 @@
 	PCI_DID_INTEL_MTL_IOE_P_PMC,
 	PCI_DID_INTEL_RPP_P_PMC,
 	PCI_DID_INTEL_DNV_PMC,
-	PCI_DID_INTEL_SPT_LP_PMC,
-	PCI_DID_INTEL_SPT_H_PMC,
 	PCI_DID_INTEL_LWB_PMC,
 	PCI_DID_INTEL_LWB_PMC_SUPER,
-	PCI_DID_INTEL_UPT_H_PMC,
 	PCI_DID_INTEL_APL_PMC,
 	PCI_DID_INTEL_GLK_PMC,
 	PCI_DID_INTEL_CNP_H_PMC,
@@ -138,7 +135,7 @@
 };
 
 static const struct pci_driver pch_pmc __pci_driver = {
-	.ops	 = &device_ops,
+	.ops	 = &pmc_ops,
 	.vendor	 = PCI_VID_INTEL,
 	.devices = pci_device_ids,
 };
diff --git a/src/soc/intel/common/block/sata/sata.c b/src/soc/intel/common/block/sata/sata.c
index 35da2e9..190122d 100644
--- a/src/soc/intel/common/block/sata/sata.c
+++ b/src/soc/intel/common/block/sata/sata.c
@@ -4,7 +4,7 @@
 #include <device/pci.h>
 #include <device/pci_ids.h>
 
-static struct device_operations sata_ops = {
+struct device_operations sata_ops = {
 	.read_resources		= pci_dev_read_resources,
 	.set_resources		= pci_dev_set_resources,
 	.enable_resources	= pci_dev_enable_resources,
@@ -16,9 +16,6 @@
 	PCI_DID_INTEL_MTL_SATA,
 	PCI_DID_INTEL_RPP_P_SATA_1,
 	PCI_DID_INTEL_RPP_P_SATA_2,
-	PCI_DID_INTEL_SPT_U_SATA,
-	PCI_DID_INTEL_SPT_U_Y_PREMIUM_SATA,
-	PCI_DID_INTEL_SPT_KBL_SATA,
 	PCI_DID_INTEL_LWB_SATA_AHCI,
 	PCI_DID_INTEL_LWB_SSATA_AHCI,
 	PCI_DID_INTEL_LWB_SATA_RAID,
diff --git a/src/soc/intel/common/block/scs/sd.c b/src/soc/intel/common/block/scs/sd.c
index 11a4a94..397e2c2 100644
--- a/src/soc/intel/common/block/scs/sd.c
+++ b/src/soc/intel/common/block/scs/sd.c
@@ -38,7 +38,7 @@
 }
 #endif
 
-static struct device_operations dev_ops = {
+struct device_operations sd_ops = {
 	.read_resources		= pci_dev_read_resources,
 	.set_resources		= pci_dev_set_resources,
 	.enable_resources	= pci_dev_enable_resources,
@@ -52,7 +52,6 @@
 	PCI_DID_INTEL_APL_SD,
 	PCI_DID_INTEL_CNL_SD,
 	PCI_DID_INTEL_GLK_SD,
-	PCI_DID_INTEL_SKL_SD,
 	PCI_DID_INTEL_CNP_H_SD,
 	PCI_DID_INTEL_ICL_SD,
 	PCI_DID_INTEL_CMP_SD,
@@ -63,7 +62,7 @@
 };
 
 static const struct pci_driver pch_sd __pci_driver = {
-	.ops	= &dev_ops,
+	.ops	= &sd_ops,
 	.vendor	= PCI_VID_INTEL,
 	.devices	= pci_device_ids
 };
diff --git a/src/soc/intel/common/block/smbus/smbus.c b/src/soc/intel/common/block/smbus/smbus.c
index 09e3d7f..6d6e8c8 100644
--- a/src/soc/intel/common/block/smbus/smbus.c
+++ b/src/soc/intel/common/block/smbus/smbus.c
@@ -38,7 +38,7 @@
 		tco_lockdown();
 }
 
-static struct device_operations smbus_ops = {
+struct device_operations smbus_ops = {
 	.read_resources		= smbus_read_resources,
 	.set_resources		= pci_dev_set_resources,
 	.enable_resources	= pci_dev_enable_resources,
@@ -56,8 +56,6 @@
 	PCI_DID_INTEL_GLK_SMBUS,
 	PCI_DID_INTEL_CNL_SMBUS,
 	PCI_DID_INTEL_CNP_H_SMBUS,
-	PCI_DID_INTEL_SPT_LP_SMBUS,
-	PCI_DID_INTEL_SPT_H_SMBUS,
 	PCI_DID_INTEL_LWB_SMBUS_SUPER,
 	PCI_DID_INTEL_LWB_SMBUS,
 	PCI_DID_INTEL_ICP_LP_SMBUS,
diff --git a/src/soc/intel/common/block/spi/spi.c b/src/soc/intel/common/block/spi/spi.c
index 3460718..dbafcf1 100644
--- a/src/soc/intel/common/block/spi/spi.c
+++ b/src/soc/intel/common/block/spi/spi.c
@@ -110,7 +110,7 @@
 	.dev_to_bus			= &spi_dev_to_bus,
 };
 
-static struct device_operations spi_dev_ops = {
+struct device_operations spi_dev_ops = {
 	.read_resources			= pci_dev_read_resources,
 	.set_resources			= pci_dev_set_resources,
 	.enable_resources		= pci_dev_enable_resources,
@@ -124,9 +124,6 @@
 	PCI_DID_INTEL_MTL_GSPI0,
 	PCI_DID_INTEL_MTL_GSPI1,
 	PCI_DID_INTEL_MTL_GSPI2,
-	PCI_DID_INTEL_SPT_SPI1,
-	PCI_DID_INTEL_SPT_SPI2,
-	PCI_DID_INTEL_SPT_SPI3,
 	PCI_DID_INTEL_APL_SPI0,
 	PCI_DID_INTEL_APL_SPI1,
 	PCI_DID_INTEL_APL_SPI2,
diff --git a/src/soc/intel/common/block/systemagent/systemagent.c b/src/soc/intel/common/block/systemagent/systemagent.c
index a5c3a3a6..1ceddf34d 100644
--- a/src/soc/intel/common/block/systemagent/systemagent.c
+++ b/src/soc/intel/common/block/systemagent/systemagent.c
@@ -335,7 +335,7 @@
 	printk(BIOS_DEBUG, "PCI space above 4GB MMIO is at 0x%llx, len = 0x%llx\n", touud, len);
 }
 
-static struct device_operations systemagent_ops = {
+struct device_operations systemagent_ops = {
 	.read_resources   = systemagent_read_resources,
 	.set_resources    = pci_dev_set_resources,
 	.enable_resources = pci_dev_enable_resources,
@@ -355,23 +355,8 @@
 	PCI_DID_INTEL_APL_NB,
 	PCI_DID_INTEL_CNL_ID_U,
 	PCI_DID_INTEL_CNL_ID_Y,
-	PCI_DID_INTEL_SKL_ID_U,
-	PCI_DID_INTEL_SKL_ID_Y,
-	PCI_DID_INTEL_SKL_ID_ULX,
-	PCI_DID_INTEL_SKL_ID_H_4,
-	PCI_DID_INTEL_SKL_ID_H_2,
-	PCI_DID_INTEL_SKL_ID_S_2,
-	PCI_DID_INTEL_SKL_ID_S_4,
 	PCI_DID_INTEL_WHL_ID_W_2,
 	PCI_DID_INTEL_WHL_ID_W_4,
-	PCI_DID_INTEL_KBL_ID_S,
-	PCI_DID_INTEL_SKL_ID_H_EM,
-	PCI_DID_INTEL_KBL_ID_U,
-	PCI_DID_INTEL_KBL_ID_Y,
-	PCI_DID_INTEL_KBL_ID_H,
-	PCI_DID_INTEL_KBL_U_R,
-	PCI_DID_INTEL_KBL_ID_DT,
-	PCI_DID_INTEL_KBL_ID_DT_2,
 	PCI_DID_INTEL_CFL_ID_U,
 	PCI_DID_INTEL_CFL_ID_U_2,
 	PCI_DID_INTEL_CFL_ID_H,
diff --git a/src/soc/intel/common/block/uart/uart.c b/src/soc/intel/common/block/uart/uart.c
index 3e2e697..b881c58 100644
--- a/src/soc/intel/common/block/uart/uart.c
+++ b/src/soc/intel/common/block/uart/uart.c
@@ -337,7 +337,7 @@
 	}
 }
 
-static struct device_operations device_ops = {
+struct device_operations uart_ops = {
 	.read_resources		= uart_read_resources,
 	.set_resources		= pci_dev_set_resources,
 	.enable_resources	= uart_common_enable_resources,
@@ -351,15 +351,6 @@
 	PCI_DID_INTEL_MTL_UART0,
 	PCI_DID_INTEL_MTL_UART1,
 	PCI_DID_INTEL_MTL_UART2,
-	PCI_DID_INTEL_SPT_UART0,
-	PCI_DID_INTEL_SPT_UART1,
-	PCI_DID_INTEL_SPT_UART2,
-	PCI_DID_INTEL_SPT_H_UART0,
-	PCI_DID_INTEL_SPT_H_UART1,
-	PCI_DID_INTEL_SPT_H_UART2,
-	PCI_DID_INTEL_UPT_H_UART0,
-	PCI_DID_INTEL_UPT_H_UART1,
-	PCI_DID_INTEL_UPT_H_UART2,
 	PCI_DID_INTEL_APL_UART0,
 	PCI_DID_INTEL_APL_UART1,
 	PCI_DID_INTEL_APL_UART2,
@@ -418,7 +409,7 @@
 };
 
 static const struct pci_driver pch_uart __pci_driver = {
-	.ops		= &device_ops,
+	.ops		= &uart_ops,
 	.vendor		= PCI_VID_INTEL,
 	.devices	= pci_device_ids,
 };
@@ -426,7 +417,7 @@
 static void uart_enable(struct device *dev)
 {
 	struct soc_intel_common_block_uart_config *conf = dev->chip_info;
-	dev->ops = &device_ops;
+	dev->ops = &uart_ops;
 	dev->device = conf ? conf->devid : 0;
 }
 
diff --git a/src/soc/intel/common/block/xdci/xdci.c b/src/soc/intel/common/block/xdci/xdci.c
index 585ed68..3300768 100644
--- a/src/soc/intel/common/block/xdci/xdci.c
+++ b/src/soc/intel/common/block/xdci/xdci.c
@@ -18,7 +18,7 @@
 	return is_devfn_enabled(xdci_devfn);
 }
 
-static struct device_operations usb_xdci_ops = {
+struct device_operations usb_xdci_ops = {
 	.read_resources		= pci_dev_read_resources,
 	.set_resources		= pci_dev_set_resources,
 	.enable_resources	= pci_dev_enable_resources,
@@ -31,7 +31,6 @@
 	PCI_DID_INTEL_APL_XDCI,
 	PCI_DID_INTEL_CNL_LP_XDCI,
 	PCI_DID_INTEL_GLK_XDCI,
-	PCI_DID_INTEL_SPT_LP_XDCI,
 	PCI_DID_INTEL_CNP_H_XDCI,
 	PCI_DID_INTEL_ICP_LP_XDCI,
 	PCI_DID_INTEL_CMP_LP_XDCI,
diff --git a/src/soc/intel/common/block/xhci/xhci.c b/src/soc/intel/common/block/xhci/xhci.c
index a289061..4a40834 100644
--- a/src/soc/intel/common/block/xhci/xhci.c
+++ b/src/soc/intel/common/block/xhci/xhci.c
@@ -117,7 +117,7 @@
 
 __weak void soc_xhci_init(struct device *dev) { /* no-op */ }
 
-static struct device_operations usb_xhci_ops = {
+struct device_operations usb_xhci_ops = {
 	.read_resources		= pci_dev_read_resources,
 	.set_resources		= pci_dev_set_resources,
 	.enable_resources	= pci_dev_enable_resources,
@@ -134,11 +134,8 @@
 	PCI_DID_INTEL_APL_XHCI,
 	PCI_DID_INTEL_CNL_LP_XHCI,
 	PCI_DID_INTEL_GLK_XHCI,
-	PCI_DID_INTEL_SPT_LP_XHCI,
-	PCI_DID_INTEL_SPT_H_XHCI,
 	PCI_DID_INTEL_LWB_XHCI,
 	PCI_DID_INTEL_LWB_XHCI_SUPER,
-	PCI_DID_INTEL_UPT_H_XHCI,
 	PCI_DID_INTEL_CNP_H_XHCI,
 	PCI_DID_INTEL_ICP_LP_XHCI,
 	PCI_DID_INTEL_CMP_LP_XHCI,