X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/8b8f49b713d64065775fe538232f8639083601bd..a8b800d1691263aa73054449b1721c1ec9516496:/lunaix-os/hal/pci.c?ds=sidebyside diff --git a/lunaix-os/hal/pci.c b/lunaix-os/hal/pci.c index 7a1967e..bc1e7cc 100644 --- a/lunaix-os/hal/pci.c +++ b/lunaix-os/hal/pci.c @@ -304,6 +304,19 @@ __pci_bar_gonext(struct twimap* map) return 1; } +static void +__pci_read_binding(struct twimap* map) +{ + struct pci_device* pcidev = twimap_data(map, struct pci_device*); + // check if device binding has been initialized + struct device* dev = device_cast(&pcidev->dev); + if (!dev) { + return; + } + + twimap_printf(map, "0x%x:0x%x", dev->ident.fn_grp, dev->ident.unique); +} + void pci_build_fsmapping() { @@ -329,6 +342,9 @@ pci_build_fsmapping() map = twifs_mapping(pci_dev, pos, "class"); map->read = __pci_read_class; + map = twifs_mapping(pci_dev, pos, "binding"); + map->read = __pci_read_binding; + map = twifs_mapping(pci_dev, pos, "io_bases"); map->read = __pci_bar_read; map->go_next = __pci_bar_gonext;