diff options
author | Arthur Heymans <arthur@aheymans.xyz> | 2023-08-24 15:12:19 +0200 |
---|---|---|
committer | Felix Held <felix-coreboot@felixheld.de> | 2024-01-29 18:23:22 +0000 |
commit | 80c79a5dc31cca9f157cd2f35f435dfa7648ce11 (patch) | |
tree | 0f1bcc76e774ef03808e1b1e5f531d5464aff9e4 /src/soc/intel/common | |
parent | 27ce0ec2b62bf824a94dfeaf223a08bd26465fcd (diff) |
device/device.h: Drop multiple links
Multiple links are unused throughout the tree and make the code more
confusing as an iteration over all busses is needed to get downstream
devices. This also not done consistently e.g. the allocator does not
care about multiple links on busses. A better way of dealing multiple
links below a device is to feature dummy devices with each their
respective bus.
This drops the sconfig capability to declare the same device multiple
times which was previously used to declare multiple links.
Signed-off-by: Arthur Heymans <arthur@aheymans.xyz>
Change-Id: Iab6fe269faef46ae77ed1ea425440cf5c7dbd49b
Reviewed-on: https://review.coreboot.org/c/coreboot/+/78328
Reviewed-by: Felix Held <felix-coreboot@felixheld.de>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Jincheng Li <jincheng.li@intel.com>
Reviewed-by: Lean Sheng Tan <sheng.tan@9elements.com>
Diffstat (limited to 'src/soc/intel/common')
-rw-r--r-- | src/soc/intel/common/block/lpc/lpc.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/soc/intel/common/block/lpc/lpc.c b/src/soc/intel/common/block/lpc/lpc.c index 6d3b90f690..994ef9bcb8 100644 --- a/src/soc/intel/common/block/lpc/lpc.c +++ b/src/soc/intel/common/block/lpc/lpc.c @@ -100,13 +100,13 @@ static void pch_lpc_loop_resources(struct device *dev) */ static void pch_lpc_set_child_resources(struct device *dev) { - struct bus *link; struct device *child; - for (link = dev->link_list; link; link = link->next) { - for (child = link->children; child; child = child->sibling) - pch_lpc_loop_resources(child); - } + if (!dev->link_list) + return; + + for (child = dev->link_list->children; child; child = child->sibling) + pch_lpc_loop_resources(child); } static void pch_lpc_set_resources(struct device *dev) |