]> mj.ucw.cz Git - pciutils.git/blobdiff - lib/generic.c
Don't forget to initialize hdrtype.
[pciutils.git] / lib / generic.c
index b586c95131e7a4e44fc568ea836836651bb91d0a..d9a9bdd76ad3950d5ccc8f15b2375df81dbf0217 100644 (file)
@@ -1,9 +1,9 @@
 /*
- *     $Id: generic.c,v 1.3 1999/01/27 14:53:03 mj Exp $
+ *     $Id: generic.c,v 1.7 2002/03/30 15:39:25 mj Exp $
  *
  *     The PCI Library -- Generic Direct Access Functions
  *
- *     Copyright (c) 1997--1999 Martin Mares <mj@atrey.karlin.mff.cuni.cz>
+ *     Copyright (c) 1997--2000 Martin Mares <mj@ucw.cz>
  *
  *     Can be freely distributed and used under the terms of the GNU GPL.
  */
@@ -12,7 +12,7 @@
 
 #include "internal.h"
 
-static void
+void
 pci_generic_scan_bus(struct pci_access *a, byte *busmap, int bus)
 {
   int dev, multi, ht;
@@ -76,7 +76,7 @@ pci_generic_scan(struct pci_access *a)
   pci_generic_scan_bus(a, busmap, 0);
 }
 
-void
+int
 pci_generic_fill_info(struct pci_dev *d, int flags)
 {
   struct pci_access *a = d->access;
@@ -127,8 +127,8 @@ pci_generic_fill_info(struct pci_dev *d, int flags)
                      else
                        {
                          u32 y = pci_read_long(d, PCI_BASE_ADDRESS_0 + (++i)*4);
-#ifdef HAVE_64BIT_LONG_INT
-                         d->base_addr[i-1] |= ((unsigned long) y) << 32;
+#ifdef HAVE_64BIT_ADDRESS
+                         d->base_addr[i-1] |= ((pciaddr_t) y) << 32;
 #else
                          if (y)
                            {
@@ -164,6 +164,7 @@ pci_generic_fill_info(struct pci_dev *d, int flags)
            d->rom_base_addr = a;
        }
     }
+  return flags & ~PCI_FILL_SIZES;
 }
 
 static int