Felix Held has submitted this change. ( https://review.coreboot.org/c/coreboot/+/81957?usp=email )
Change subject: device_util: Handle domain device in dev_get_domain ......................................................................
device_util: Handle domain device in dev_get_domain
When the input device pointer pointing to a domain device, dev_get_domain returns the input device itself.
TEST=Build and boot on intel/archercity CRB
Change-Id: I3a278a8f573de95406ee256fba17767def4ad75d Signed-off-by: Shuo Liu shuo.liu@intel.com Reviewed-on: https://review.coreboot.org/c/coreboot/+/81957 Tested-by: build bot (Jenkins) no-reply@coreboot.org Reviewed-by: Nico Huber nico.h@gmx.de --- M src/device/device_util.c M src/soc/intel/xeon_sp/chip_common.c 2 files changed, 3 insertions(+), 11 deletions(-)
Approvals: build bot (Jenkins): Verified Nico Huber: Looks good to me, approved
diff --git a/src/device/device_util.c b/src/device/device_util.c index 5e353c2..7dcf081 100644 --- a/src/device/device_util.c +++ b/src/device/device_util.c @@ -252,9 +252,9 @@ { /* Walk up the tree up to the domain */ while (dev && dev->upstream && !is_root_device(dev)) { - dev = dev->upstream->dev; if (dev->path.type == DEVICE_PATH_DOMAIN) return dev; + dev = dev->upstream->dev; }
return NULL; diff --git a/src/soc/intel/xeon_sp/chip_common.c b/src/soc/intel/xeon_sp/chip_common.c index d8e7d14..d0eab02 100644 --- a/src/soc/intel/xeon_sp/chip_common.c +++ b/src/soc/intel/xeon_sp/chip_common.c @@ -136,11 +136,7 @@ const struct device *domain; union xeon_domain_path dn;
- if (dev->path.type == DEVICE_PATH_DOMAIN) - domain = dev; - else - domain = dev_get_domain(dev); - + domain = dev_get_domain(dev); if (!domain) return -1;
@@ -162,11 +158,7 @@ const struct device *domain; union xeon_domain_path dn;
- if (dev->path.type == DEVICE_PATH_DOMAIN) - domain = dev; - else - domain = dev_get_domain(dev); - + domain = dev_get_domain(dev); if (!domain) return -1;