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 <fhendriks@eltan.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/49738
Reviewed-by: Wim Vervoorn <wvervoorn@eltan.com>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
Frans Hendriks 2021-01-20 07:40:05 +01:00 committed by Patrick Georgi
parent 1b5b41a790
commit 3a7db27f45
1 changed files with 12 additions and 0 deletions

View File

@ -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 | * | chip_instance | Each register of chip_instance is copied |
* | | over from override device to base device: | * | | over from override device to base device: |
* | | 1. If register with same key is present in | * | | 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; 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 * Update base_chip_instance member in chip instance of override tree to forward it to
* the chip instance in base tree. * the chip instance in base tree.