diff options
Diffstat (limited to 'src/device')
-rw-r--r-- | src/device/device_const.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/device/device_const.c b/src/device/device_const.c index c1b0b063ff..f2f0177f57 100644 --- a/src/device/device_const.c +++ b/src/device/device_const.c @@ -234,6 +234,18 @@ DEVTREE_CONST struct device *pcidev_on_root(uint8_t dev, uint8_t fn) return pcidev_path_on_root(PCI_DEVFN(dev, fn)); } +DEVTREE_CONST struct device *pcidev_path_on_root_debug(pci_devfn_t devfn, const char *func) +{ + DEVTREE_CONST struct device *dev = pcidev_path_on_root(devfn); + if (dev) + return dev; + + printk(BIOS_ERR, "BUG: %s requests hidden 00:%02x.%u\n", func, devfn >> 3, devfn & 7); + + /* FIXME: This can return wrong device. */ + return dev_find_slot(0, devfn); +} + /** * Given an SMBus bus and a device number, find the device structure. * |