summaryrefslogtreecommitdiff
path: root/src/device/device.c
diff options
context:
space:
mode:
authorSubrata Banik <subrata.banik@intel.com>2021-06-10 13:04:07 +0530
committerSubrata Banik <subrata.banik@intel.com>2021-06-17 06:48:45 +0000
commited5c7ac03109c325151ed5ced779c93540418f72 (patch)
tree05f436b9b4409ddf51a0dfdad0a6caf68557098d /src/device/device.c
parent857c0cc332685d2401760c38d1f9c462088bae86 (diff)
device: Add helper function devfn_disable()
devfn_disable() function is used to disable a device based on given bus, device function number. This function checks if the device is at enable state and disables the device. Change-Id: Ia4a8bfec7fc95c729a5bb156f88e9aab3bf5dd41 Signed-off-by: Subrata Banik <subrata.banik@intel.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/55354 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Tim Wawrzynczak <twawrzynczak@chromium.org>
Diffstat (limited to 'src/device/device.c')
-rw-r--r--src/device/device.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/device/device.c b/src/device/device.c
index bf97997f55..8337d55300 100644
--- a/src/device/device.c
+++ b/src/device/device.c
@@ -21,6 +21,13 @@
extern struct device *last_dev;
/** Linked list of free resources */
struct resource *free_resources = NULL;
+/* Disable a PCI device based on bus, device and function. */
+void devfn_disable(const struct bus *bus, unsigned int devfn)
+{
+ struct device *dev = pcidev_path_behind(bus, devfn);
+ if (dev)
+ dev->enabled = 0;
+}
/**
* Initialize all chips of statically known devices.