]> mj.ucw.cz Git - pciutils.git/commitdiff
Improved the example and added rules for building it.
authorMartin Mares <mj@ucw.cz>
Tue, 27 Jun 2006 13:16:18 +0000 (15:16 +0200)
committerMartin Mares <mj@ucw.cz>
Tue, 27 Jun 2006 13:16:18 +0000 (15:16 +0200)
ChangeLog
Makefile
lib/Makefile
lib/example.c

index 02f9953337a9954cfdb876684415722395ca68e5..06f804ef79667fedcd5989434422ce8cfb00d47c 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
 2006-06-27  Martin Mares  <mj@ucw.cz>
 
+       * lib/Makefile, Makefile: Added rules for building and cleaning the example.
+
+       * lib/example.c: Show how to use PCI_FILL_CLASS and used another register
+       for demonstrating the config space accesses. The example is still very
+       incomplete, though.
+
        * lib/pci.h, lib/generic.c: Added PCI_FILL_CLASS.
 
        * lib/sysfs.c: Fetch device ID and class from sysfs, because they can
index 38c471eae58ea059d046ee5dd78c780a806b3de5..a2703188110458df821f81ec1724fa798348b4e1 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -58,7 +58,7 @@ update-pciids: update-pciids.sh
 
 clean:
        rm -f `find . -name "*~" -o -name "*.[oa]" -o -name "\#*\#" -o -name TAGS -o -name core`
-       rm -f update-pciids lspci setpci lib/config.* *.8 pci.ids.*
+       rm -f update-pciids lspci setpci lib/config.* lib/example *.8 pci.ids.*
        rm -rf maint/dist
 
 distclean: clean
index 2839db55b277d643452c8de96d210964b1b5a10e..ce7cf77f602f92087ae88a2ff5496f29ad6e1680 100644 (file)
@@ -68,3 +68,5 @@ dump.o: dump.c $(INCL)
 names.o: names.c $(INCL)
 filter.o: filter.c $(INCL)
 nbsd-libpci.o: nbsd-libpci.c $(INCL)
+
+example: example.c $(PCILIB)
index 02b2921806894f4fc878cfb059d611c148d5a30d..e7b5b667c1965243afad979abff7c2ba55fa0675 100644 (file)
@@ -21,11 +21,11 @@ int main(void)
   pci_scan_bus(pacc);          /* We want to get the list of devices */
   for(dev=pacc->devices; dev; dev=dev->next)   /* Iterate over all devices */
     {
-      pci_fill_info(dev, PCI_FILL_IDENT | PCI_FILL_BASES);     /* Fill in header info we need */
-      c = pci_read_word(dev, PCI_CLASS_DEVICE);        /* Read config register directly */
-      printf("%02x:%02x.%d vendor=%04x device=%04x class=%04x irq=%d base0=%lx\n",
+      pci_fill_info(dev, PCI_FILL_IDENT | PCI_FILL_BASES | PCI_FILL_CLASS);    /* Fill in header info we need */
+      c = pci_read_byte(dev, PCI_INTERRUPT_PIN);                               /* Read config register directly */
+      printf("%02x:%02x.%d vendor=%04x device=%04x class=%04x irq=%d (pin %d) base0=%lx\n",
             dev->bus, dev->dev, dev->func, dev->vendor_id, dev->device_id,
-            c, dev->irq, dev->base_addr[0]);
+            dev->device_class, dev->irq, c, dev->base_addr[0]);
     }
   pci_cleanup(pacc);           /* Close everything */
   return 0;