From 0a66991a345f437e957ecc0ddeed70bc304d2a43 Mon Sep 17 00:00:00 2001 From: Vladimir Serbinenko Date: Sun, 5 Oct 2014 14:34:17 +0200 Subject: [PATCH] acpi: Remove explicit pointer tracking in per-device ssdt. It's useless and error-prone. Change-Id: Ie385e147d42b05290ab8c3ca193c5c871306f4ac Signed-off-by: Vladimir Serbinenko Reviewed-on: http://review.coreboot.org/7018 Tested-by: build bot (Jenkins) Reviewed-by: Aaron Durbin --- 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 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