]> mj.ucw.cz Git - pciutils.git/blobdiff - lib/proc.c
Don't forget to initialize hdrtype.
[pciutils.git] / lib / proc.c
index fc15efb37b8b1ea4ccf55a975cb2bbec0957d43e..6bcf44b0b830cf2792b2de285b9183ad6f0d6e71 100644 (file)
@@ -1,9 +1,9 @@
 /*
 /*
- *     $Id: proc.c,v 1.7 2000/01/20 21:14:44 mj Exp $
+ *     $Id: proc.c,v 1.10 2002/12/26 20:24:08 mj Exp $
  *
  *     The PCI Library -- Configuration Access via /proc/bus/pci
  *
  *
  *     The PCI Library -- Configuration Access via /proc/bus/pci
  *
- *     Copyright (c) 1997--1999 Martin Mares <mj@atrey.karlin.mff.cuni.cz>
+ *     Copyright (c) 1997--1999 Martin Mares <mj@ucw.cz>
  *
  *     Can be freely distributed and used under the terms of the GNU GPL.
  */
  *
  *     Can be freely distributed and used under the terms of the GNU GPL.
  */
@@ -48,8 +48,8 @@ static int pwrite(unsigned int fd, void *buf, size_t size, loff_t where)
 #include <asm/unistd.h>
 static _syscall5(int, pread, unsigned int, fd, void *, buf, size_t, size, u32, where_lo, u32, where_hi);
 static _syscall5(int, pwrite, unsigned int, fd, void *, buf, size_t, size, u32, where_lo, u32, where_hi);
 #include <asm/unistd.h>
 static _syscall5(int, pread, unsigned int, fd, void *, buf, size_t, size, u32, where_lo, u32, where_hi);
 static _syscall5(int, pwrite, unsigned int, fd, void *, buf, size_t, size, u32, where_lo, u32, where_hi);
-static int do_read(struct pci_dev *d __attribute__((unused)), int fd, void *buf, size_t size, int where) { return pread(fd, buf, size, where, 0); }
-static int do_write(struct pci_dev *d __attribute__((unused)), int fd, void *buf, size_t size, int where) { return pwrite(fd, buf, size, where, 0); }
+static int do_read(struct pci_dev *d UNUSED, int fd, void *buf, size_t size, int where) { return pread(fd, buf, size, where, 0); }
+static int do_write(struct pci_dev *d UNUSED, int fd, void *buf, size_t size, int where) { return pwrite(fd, buf, size, where, 0); }
 #define HAVE_DO_READ
 
 #else
 #define HAVE_DO_READ
 
 #else
@@ -160,6 +160,7 @@ proc_scan(struct pci_access *a)
       d->func = PCI_FUNC(dfn & 0xff);
       d->vendor_id = vend >> 16U;
       d->device_id = vend & 0xffff;
       d->func = PCI_FUNC(dfn & 0xff);
       d->vendor_id = vend >> 16U;
       d->device_id = vend & 0xffff;
+      d->hdrtype = pci_read_byte(d, PCI_HEADER_TYPE);
       known = PCI_FILL_IDENT;
       if (!a->buscentric)
        {
       known = PCI_FILL_IDENT;
       if (!a->buscentric)
        {