From eca3e6278abd37da60cd68bb3705ce1cc01d4f47 Mon Sep 17 00:00:00 2001 From: Subrata Banik Date: Tue, 8 Jun 2021 00:55:04 +0530 Subject: [PATCH] device: Add helper function is_devfn_enabled() is_devfn_enabled() function helps to check if a device is enabled based on given device function number. This function internally called is_dev_enabled() to check device state. Change-Id: I6aeba0da05b13b70155a991f69a6abf7eb48a78c Signed-off-by: Subrata Banik Reviewed-on: https://review.coreboot.org/c/coreboot/+/55278 Tested-by: build bot (Jenkins) Reviewed-by: Tim Wawrzynczak Reviewed-by: Furquan Shaikh --- src/device/device_const.c | 6 ++++++ src/include/device/device.h | 1 + 2 files changed, 7 insertions(+) diff --git a/src/device/device_const.c b/src/device/device_const.c index 20afe7e445..7e7f2f1980 100644 --- a/src/device/device_const.c +++ b/src/device/device_const.c @@ -397,3 +397,9 @@ bool is_dev_enabled(const struct device *dev) return false; return dev->enabled; } + +bool is_devfn_enabled(unsigned int devfn) +{ + const struct device *dev = pcidev_path_on_root(devfn); + return is_dev_enabled(dev); +} diff --git a/src/include/device/device.h b/src/include/device/device.h index 623d337601..afa6a4090a 100644 --- a/src/include/device/device.h +++ b/src/include/device/device.h @@ -192,6 +192,7 @@ void disable_children(struct bus *bus); bool dev_is_active_bridge(struct device *dev); void add_more_links(struct device *dev, unsigned int total_links); bool is_dev_enabled(const struct device *const dev); +bool is_devfn_enabled(unsigned int devfn); /* Option ROM helper functions */ void run_bios(struct device *dev, unsigned long addr);