parisc: Fix hpa_name() to resolve & print PCI device

Signed-off-by: Helge Deller <deller@gmx.de>
diff --git a/src/parisc/parisc.c b/src/parisc/parisc.c
index 8813d33..2e66a95 100644
--- a/src/parisc/parisc.c
+++ b/src/parisc/parisc.c
@@ -370,7 +370,6 @@
 
 static const char *hpa_name(unsigned long hpa)
 {
-    struct pci_device *pci;
     int i;
 
     #define DO(x) if (hpa == F_EXTEND(x)) return #x;
@@ -407,17 +406,12 @@
         }
     }
 
-    /* could be a PCI device */
-    foreachpci(pci) {
-        unsigned long mem, mmio;
-        mem = pci_config_readl(pci->bdf, PCI_BASE_ADDRESS_0);
-        mem &= PCI_BASE_ADDRESS_MEM_MASK;
-        if (hpa == mem)
-            return "HPA_PCI_CARD_MEM";
-        mmio = pci_config_readl(pci->bdf, PCI_BASE_ADDRESS_2);
-        mmio &= PCI_BASE_ADDRESS_MEM_MASK;
-        if (hpa == mem)
-            return "HPA_PCI_CARD_MMIO";
+    /* search PCI devices */
+    hppa_device_t *dev = find_hpa_device(hpa);
+    if (dev) {
+        static char pci_dev_name[12];
+        snprintf(pci_dev_name, sizeof(pci_dev_name), "PCI_%pP", dev->pci);
+        return pci_dev_name;
     }
 
     return "UNKNOWN HPA";