[coreboot-gerrit] New patch to review for coreboot: d3e6eaf acpi: Remove explicit pointer tracking in per-device ssdt.

Vladimir Serbinenko (phcoder@gmail.com) gerrit at coreboot.org
Sun Oct 5 14:38:55 CEST 2014


Vladimir Serbinenko (phcoder at gmail.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/7018

-gerrit

commit d3e6eaf125f860193b5366f5a68a6fc76d978d7e
Author: Vladimir Serbinenko <phcoder at gmail.com>
Date:   Sun Oct 5 14:34:17 2014 +0200

    acpi: Remove explicit pointer tracking in per-device ssdt.
    
    It's useless and error-prone.
    
    Change-Id: Ie385e147d42b05290ab8c3ca193c5c871306f4ac
    Signed-off-by: Vladimir Serbinenko <phcoder at gmail.com>
---
 src/arch/x86/boot/acpi.c                        | 3 ++-
 src/include/device/device.h                     | 3 +--
 src/northbridge/intel/haswell/acpi.c            | 7 -------
 src/northbridge/intel/haswell/haswell.h         | 2 --
 src/northbridge/intel/haswell/northbridge.c     | 2 +-
 src/northbridge/intel/nehalem/acpi.c            | 8 --------
 src/northbridge/intel/nehalem/nehalem.h         | 2 --
 src/northbridge/intel/nehalem/northbridge.c     | 2 +-
 src/northbridge/intel/sandybridge/acpi.c        | 7 -------
 src/northbridge/intel/sandybridge/northbridge.c | 3 +--
 src/northbridge/intel/sandybridge/sandybridge.h | 2 --
 11 files changed, 6 insertions(+), 35 deletions(-)

diff --git a/src/arch/x86/boot/acpi.c b/src/arch/x86/boot/acpi.c
index 6c74268..10620f4 100644
--- a/src/arch/x86/boot/acpi.c
+++ b/src/arch/x86/boot/acpi.c
@@ -281,8 +281,9 @@ void acpi_create_ssdt_generator(acpi_header_t *ssdt, const char *oem_table_id)
 		device_t dev;
 		for (dev = all_devices; dev; dev = dev->next)
 			if (dev->ops && dev->ops->acpi_fill_ssdt_generator) {
-				current = dev->ops->acpi_fill_ssdt_generator(current, oem_table_id);
+				dev->ops->acpi_fill_ssdt_generator();
 			}
+		current = (unsigned long) acpigen_get_current();
 #else
 		current = acpi_fill_ssdt_generator(current, oem_table_id);
 #endif
diff --git a/src/include/device/device.h b/src/include/device/device.h
index 7ae49f5..a715802 100644
--- a/src/include/device/device.h
+++ b/src/include/device/device.h
@@ -59,8 +59,7 @@ struct device_operations {
 #endif
 #if IS_ENABLED(CONFIG_GENERATE_ACPI_TABLES) && IS_ENABLED(CONFIG_PER_DEVICE_ACPI_TABLES)
 	unsigned long (*write_acpi_tables)(unsigned long start,  struct acpi_rsdp *rsdp);
-	unsigned long (*acpi_fill_ssdt_generator)(unsigned long current,
-						  const char *oem_table_id);
+	void (*acpi_fill_ssdt_generator)(void);
 	void (*acpi_inject_dsdt_generator)(void);
 #endif
 	const struct pci_operations *ops_pci;
diff --git a/src/northbridge/intel/haswell/acpi.c b/src/northbridge/intel/haswell/acpi.c
index 7862f02..37f3717 100644
--- a/src/northbridge/intel/haswell/acpi.c
+++ b/src/northbridge/intel/haswell/acpi.c
@@ -194,10 +194,3 @@ int init_igd_opregion(igd_opregion_t *opregion)
 
 	return 0;
 }
-
-unsigned long northbridge_acpi_fill_ssdt_generator(unsigned long current,
-						   const char *oem_table_id)
-{
-	generate_cpu_entries();
-	return (unsigned long) (acpigen_get_current());
-}
diff --git a/src/northbridge/intel/haswell/haswell.h b/src/northbridge/intel/haswell/haswell.h
index 0086dd0..55f6f28 100644
--- a/src/northbridge/intel/haswell/haswell.h
+++ b/src/northbridge/intel/haswell/haswell.h
@@ -229,8 +229,6 @@ struct mrc_data_container *find_current_mrc_cache(void);
 #if !defined(__PRE_RAM__)
 #include "gma.h"
 int init_igd_opregion(igd_opregion_t *igd_opregion);
-unsigned long northbridge_acpi_fill_ssdt_generator(unsigned long current,
-						   const char *oem_table_id);
 #endif
 
 #endif
diff --git a/src/northbridge/intel/haswell/northbridge.c b/src/northbridge/intel/haswell/northbridge.c
index eaac723..1b4658a 100644
--- a/src/northbridge/intel/haswell/northbridge.c
+++ b/src/northbridge/intel/haswell/northbridge.c
@@ -463,7 +463,7 @@ static struct device_operations mc_ops = {
 	.enable_resources = pci_dev_enable_resources,
 	.init             = northbridge_init,
 	.enable           = northbridge_enable,
-	.acpi_fill_ssdt_generator = northbridge_acpi_fill_ssdt_generator,
+	.acpi_fill_ssdt_generator = generate_cpu_entries,
 	.scan_bus         = 0,
 	.ops_pci          = &intel_pci_ops,
 };
diff --git a/src/northbridge/intel/nehalem/acpi.c b/src/northbridge/intel/nehalem/acpi.c
index 6f694e2..ed418fd 100644
--- a/src/northbridge/intel/nehalem/acpi.c
+++ b/src/northbridge/intel/nehalem/acpi.c
@@ -211,11 +211,3 @@ void *igd_make_opregion(void)
 		init_igd_opregion(opregion);
 	return opregion;
 }
-
-unsigned long northbridge_acpi_fill_ssdt_generator(unsigned long current,
-						   const char *oem_table_id)
-{
-	generate_cpu_entries();
-	return (unsigned long) (acpigen_get_current());
-}
-
diff --git a/src/northbridge/intel/nehalem/nehalem.h b/src/northbridge/intel/nehalem/nehalem.h
index 1a2165f..60cafdf 100644
--- a/src/northbridge/intel/nehalem/nehalem.h
+++ b/src/northbridge/intel/nehalem/nehalem.h
@@ -619,8 +619,6 @@ struct mrc_data_container *find_current_mrc_cache(void);
 #if !defined(__PRE_RAM__)
 #include "gma.h"
 int init_igd_opregion(igd_opregion_t *igd_opregion);
-unsigned long northbridge_acpi_fill_ssdt_generator(unsigned long current,
-						   const char *oem_table_id);
 #endif
 
 #endif
diff --git a/src/northbridge/intel/nehalem/northbridge.c b/src/northbridge/intel/nehalem/northbridge.c
index e6b9ca7..a31e85c 100644
--- a/src/northbridge/intel/nehalem/northbridge.c
+++ b/src/northbridge/intel/nehalem/northbridge.c
@@ -313,7 +313,7 @@ static struct device_operations mc_ops = {
 	.enable_resources = pci_dev_enable_resources,
 	.init = northbridge_init,
 	.enable = northbridge_enable,
-	.acpi_fill_ssdt_generator = northbridge_acpi_fill_ssdt_generator,
+	.acpi_fill_ssdt_generator = generate_cpu_entries,
 	.scan_bus = 0,
 	.ops_pci = &intel_pci_ops,
 };
diff --git a/src/northbridge/intel/sandybridge/acpi.c b/src/northbridge/intel/sandybridge/acpi.c
index c77b5cc..2925588 100644
--- a/src/northbridge/intel/sandybridge/acpi.c
+++ b/src/northbridge/intel/sandybridge/acpi.c
@@ -214,10 +214,3 @@ void *igd_make_opregion(void)
 	return opregion;
 }
 
-unsigned long northbridge_acpi_fill_ssdt_generator(unsigned long current,
-						   const char *oem_table_id)
-{
-	generate_cpu_entries();
-	return (unsigned long) (acpigen_get_current());
-}
-
diff --git a/src/northbridge/intel/sandybridge/northbridge.c b/src/northbridge/intel/sandybridge/northbridge.c
index 39a95af..9331afa 100644
--- a/src/northbridge/intel/sandybridge/northbridge.c
+++ b/src/northbridge/intel/sandybridge/northbridge.c
@@ -444,8 +444,7 @@ static struct device_operations mc_ops = {
 	.enable           = northbridge_enable,
 	.scan_bus         = 0,
 	.ops_pci          = &intel_pci_ops,
-	.acpi_fill_ssdt_generator = northbridge_acpi_fill_ssdt_generator,
-
+	.acpi_fill_ssdt_generator = generate_cpu_entries,
 };
 
 static const struct pci_driver mc_driver_0100 __pci_driver = {
diff --git a/src/northbridge/intel/sandybridge/sandybridge.h b/src/northbridge/intel/sandybridge/sandybridge.h
index 71a9d2f..291ea46 100644
--- a/src/northbridge/intel/sandybridge/sandybridge.h
+++ b/src/northbridge/intel/sandybridge/sandybridge.h
@@ -235,8 +235,6 @@ struct mrc_data_container *find_current_mrc_cache(void);
 #if !defined(__PRE_RAM__)
 #include "gma.h"
 int init_igd_opregion(igd_opregion_t *igd_opregion);
-unsigned long northbridge_acpi_fill_ssdt_generator(unsigned long current,
-						   const char *oem_table_id);
 #endif
 
 #endif



More information about the coreboot-gerrit mailing list