From 4fce79f69c04094fcdd6f2ee89e06a1a776a7deb Mon Sep 17 00:00:00 2001 From: Fabio Aiuto Date: Fri, 30 Sep 2022 11:22:09 +0200 Subject: [PATCH] include/device/device_util.c: add predicates for pci devices add functions to check whether a device is enabled pci device or a pci device on a specific bus number. TEST: compile and qemu run successfully Signed-off-by: Fabio Aiuto Change-Id: I3257c8404017372f6cdd9f6cf9453502447343a0 Reviewed-on: https://review.coreboot.org/c/coreboot/+/68101 Reviewed-by: Angel Pons Tested-by: build bot (Jenkins) --- src/device/device_util.c | 15 +++++++++++++++ src/include/device/device.h | 3 +++ 2 files changed, 18 insertions(+) diff --git a/src/device/device_util.c b/src/device/device_util.c index 0be6cfbf36..6919f4bb39 100644 --- a/src/device/device_util.c +++ b/src/device/device_util.c @@ -965,3 +965,18 @@ bool is_enabled_cpu(const struct device *cpu) { return is_cpu(cpu) && cpu->enabled; } + +bool is_pci(const struct device *pci) +{ + return pci->path.type == DEVICE_PATH_PCI; +} + +bool is_enabled_pci(const struct device *pci) +{ + return is_pci(pci) && pci->enabled; +} + +bool is_pci_dev_on_bus(const struct device *pci, unsigned int bus) +{ + return is_pci(pci) && pci->bus->secondary == bus; +} diff --git a/src/include/device/device.h b/src/include/device/device.h index a375639d82..0f9c39f17e 100644 --- a/src/include/device/device.h +++ b/src/include/device/device.h @@ -209,6 +209,9 @@ bool is_dev_enabled(const struct device *const dev); bool is_devfn_enabled(unsigned int devfn); bool is_cpu(const struct device *cpu); bool is_enabled_cpu(const struct device *cpu); +bool is_pci(const struct device *pci); +bool is_enabled_pci(const struct device *pci); +bool is_pci_dev_on_bus(const struct device *pci, unsigned int bus); /* Returns whether there is a hotplug port on the path to the given device. */ extern bool dev_path_hotplug(const struct device *);