From 3a7db27f459ed6ff654e24e444310ca257459193 Mon Sep 17 00:00:00 2001 From: Frans Hendriks Date: Wed, 20 Jan 2021 07:40:05 +0100 Subject: sconfig: Handle smbios_slot_desc in overridetree SMBIOS slot information in overrridetree is not overriden if device already exist in devicetree. Add support to handle this information from override. BUG= N/A TEST= Verify generated static.c on Intel Coffee Lake CRB Change-Id: I532436aee1d71b79171463124f7b205c145d5b05 Signed-off-by: Frans Hendriks Reviewed-on: https://review.coreboot.org/c/coreboot/+/49738 Reviewed-by: Wim Vervoorn Reviewed-by: Angel Pons Tested-by: build bot (Jenkins) --- util/sconfig/main.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'util') diff --git a/util/sconfig/main.c b/util/sconfig/main.c index 99e76adbff61..ca5389e50abd 100644 --- a/util/sconfig/main.c +++ b/util/sconfig/main.c @@ -1548,6 +1548,12 @@ static void override_devicetree(struct bus *base_parent, * | | | * +-----------------------------------------------------------------+ * | | | + * | smbios_slot info | Copy SMBIOS slot information from override.| + * | | This allows variants to override PCI(e) | + * | | slot information in SMBIOS tables. | + * | | | + * +-----------------------------------------------------------------+ + * | | | * | chip_instance | Each register of chip_instance is copied | * | | over from override device to base device: | * | | 1. If register with same key is present in | @@ -1658,6 +1664,12 @@ static void update_device(struct device *base_dev, struct device *override_dev) */ base_dev->probe = override_dev->probe; + /* Copy SMBIOS slot information from base device */ + base_dev->smbios_slot_type = override_dev->smbios_slot_type; + base_dev->smbios_slot_length = override_dev->smbios_slot_length; + base_dev->smbios_slot_data_width = override_dev->smbios_slot_data_width; + base_dev->smbios_slot_designation = override_dev->smbios_slot_designation; + /* * Update base_chip_instance member in chip instance of override tree to forward it to * the chip instance in base tree. -- cgit v1.2.3