summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVladimir Serbinenko <phcoder@gmail.com>2014-10-05 14:34:17 +0200
committerVladimir Serbinenko <phcoder@gmail.com>2014-10-11 04:08:42 +0200
commit0a66991a345f437e957ecc0ddeed70bc304d2a43 (patch)
tree58c9387203f87d7072a0cca03fa87a3dce920d27
parent334fd8e28b6f572dc8a82c7969696c6072709583 (diff)
acpi: Remove explicit pointer tracking in per-device ssdt.
It's useless and error-prone. Change-Id: Ie385e147d42b05290ab8c3ca193c5c871306f4ac Signed-off-by: Vladimir Serbinenko <phcoder@gmail.com> Reviewed-on: http://review.coreboot.org/7018 Tested-by: build bot (Jenkins) Reviewed-by: Aaron Durbin <adurbin@google.com>
-rw-r--r--src/arch/x86/boot/acpi.c3
-rw-r--r--src/include/device/device.h3
-rw-r--r--src/mainboard/lenovo/x201/mainboard.c4
-rw-r--r--src/northbridge/intel/haswell/acpi.c7
-rw-r--r--src/northbridge/intel/haswell/haswell.h2
-rw-r--r--src/northbridge/intel/haswell/northbridge.c2
-rw-r--r--src/northbridge/intel/nehalem/acpi.c8
-rw-r--r--src/northbridge/intel/nehalem/nehalem.h2
-rw-r--r--src/northbridge/intel/nehalem/northbridge.c2
-rw-r--r--src/northbridge/intel/sandybridge/acpi.c7
-rw-r--r--src/northbridge/intel/sandybridge/northbridge.c3
-rw-r--r--src/northbridge/intel/sandybridge/sandybridge.h2
12 files changed, 7 insertions, 38 deletions
diff --git a/src/arch/x86/boot/acpi.c b/src/arch/x86/boot/acpi.c
index c4f5fca404..ea656664d9 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 7ae49f5d82..a7158020b3 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/mainboard/lenovo/x201/mainboard.c b/src/mainboard/lenovo/x201/mainboard.c
index 57ef86dd2a..5b76be2734 100644
--- a/src/mainboard/lenovo/x201/mainboard.c
+++ b/src/mainboard/lenovo/x201/mainboard.c
@@ -112,11 +112,9 @@ static void mainboard_init(device_t dev)
0x42, 0x142);
}
-static unsigned long fill_ssdt(unsigned long current,
- const char *oem_table_id)
+static void fill_ssdt(void)
{
drivers_lenovo_serial_ports_ssdt_generate("\\_SB.PCI0.LPCB", 0);
- return (unsigned long) (acpigen_get_current());
}
static void mainboard_enable(device_t dev)
diff --git a/src/northbridge/intel/haswell/acpi.c b/src/northbridge/intel/haswell/acpi.c
index 7862f024a7..37f3717d33 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 0086dd0c0b..55f6f284e4 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 eaac723238..1b4658a978 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 6f694e268d..ed418fdaca 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 1a2165f44f..60cafdf275 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 e6b9ca76a2..a31e85c9e2 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 c77b5cc86a..29255884c3 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 39a95af037..9331afa6fb 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 71a9d2f2e4..291ea46d8b 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