Vladimir Serbinenko (phcoder@gmail.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/7018
-gerrit
commit a784473a3f995e287e51402514b20c7ba050625a Author: Vladimir Serbinenko phcoder@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@gmail.com --- src/arch/x86/boot/acpi.c | 3 ++- src/include/device/device.h | 3 +-- src/mainboard/lenovo/x201/mainboard.c | 4 +--- 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 -- 12 files changed, 7 insertions(+), 38 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/mainboard/lenovo/x201/mainboard.c b/src/mainboard/lenovo/x201/mainboard.c index 57ef86d..5b76be2 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 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