From: H. Peter Anvin Date: Fri, 1 Aug 2008 19:56:54 +0000 (-0700) Subject: pci: inlines for extracting part of a PCI device address X-Git-Tag: syslinux-3.72-pre1~23 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=d721352927d7743d3e18dfd72e2a60d729377c8b;p=platform%2Fupstream%2Fsyslinux.git pci: inlines for extracting part of a PCI device address The inverse operations of pci_mkaddr() Signed-off-by: H. Peter Anvin --- diff --git a/com32/include/sys/pci.h b/com32/include/sys/pci.h index dd3b7ec..120c03d 100644 --- a/com32/include/sys/pci.h +++ b/com32/include/sys/pci.h @@ -61,6 +61,21 @@ static inline pciaddr_t pci_mkaddr(uint32_t bus, uint32_t dev, ((func & 0x07) << 8) | (reg & 0xff); } +static inline int pci_bus(pciaddr_t addr) +{ + return (addr >> 16) & 0xff; +} + +static inline int pci_dev(pciaddr_t addr) +{ + return (addr >> 11) & 0x1f; +} + +static inline int pci_func(pciaddr_t addr) +{ + return (addr >> 8) & 0x07; +} + enum pci_config_type { PCI_CFG_NONE = -1, /* badness */ PCI_CFG_AUTO = 0, /* autodetect */