]> code.ossystems Code Review - openembedded-core.git/commitdiff
pciutils: remove pcimodules
authorRoy Li <rongqing.li@windriver.com>
Wed, 18 Sep 2013 05:09:39 +0000 (13:09 +0800)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Fri, 20 Sep 2013 11:14:31 +0000 (12:14 +0100)
pcimodules can not work due to no modules.pcimap file, and has been
replaced by "lspci -k", so we can remove it.

Update lib-build-fix.patch since remove pcimodules-pciutils.diff.

[YOCTO# 5210]

Signed-off-by: Roy Li <rongqing.li@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/recipes-bsp/pciutils/pciutils-3.2.0/lib-build-fix.patch
meta/recipes-bsp/pciutils/pciutils-3.2.0/pcimodules-pciutils.diff [deleted file]
meta/recipes-bsp/pciutils/pciutils_3.2.0.bb

index 7268d531d950d11d642b05ab7932e5a4e534b558..413ef0e1e5d442000d1a80b5ab9912a9d2b26772 100644 (file)
@@ -8,35 +8,33 @@ Upstream-Status: Pending
 7/30/2010 - created by Qing He <qing.he@intel.com>
 
 diff --git a/Makefile b/Makefile
-index 1b48e18..21af4b3 100644
+index 74c570a..31337e0 100644
 --- a/Makefile
 +++ b/Makefile
-@@ -51,9 +51,9 @@ PCIINC_INS=lib/config.h lib/header.h lib/pci.h lib/types.h
+@@ -56,9 +56,9 @@ PCIINC_INS=lib/config.h lib/header.h lib/pci.h lib/types.h
  
  export
  
--all: lib/$(PCILIB) lspci setpci example lspci.8 setpci.8 pcilib.7 update-pciids update-pciids.8 $(PCI_IDS) pcimodules pcimodules.8
-+all: lib/$(PCILIB_DEV) lspci setpci example lspci.8 setpci.8 pcilib.7 update-pciids update-pciids.8 $(PCI_IDS) pcimodules pcimodules.8
+-all: lib/$(PCILIB) lspci setpci example lspci.8 setpci.8 pcilib.7 update-pciids update-pciids.8 $(PCI_IDS)
++all: lib/$(PCILIB_DEV) lspci setpci example lspci.8 setpci.8 pcilib.7 update-pciids update-pciids.8 $(PCI_IDS)
  
 -lib/$(PCILIB): $(PCIINC) force
 +lib/$(PCILIB) lib/$(PCILIB_DEV): $(PCIINC) force
        $(MAKE) -C lib all
  
  force:
-@@ -61,9 +61,9 @@ force:
+@@ -66,8 +66,8 @@ force:
  lib/config.h lib/config.mk:
        cd lib && ./configure
  
--pcimodules: pcimodules.o common.o lib/$(PCILIB)
 -lspci: lspci.o ls-vpd.o ls-caps.o ls-ecaps.o ls-kernel.o ls-tree.o ls-map.o common.o lib/$(PCILIB)
 -setpci: setpci.o common.o lib/$(PCILIB)
-+pcimodules: pcimodules.o common.o lib/$(PCILIB_DEV)
 +lspci: lspci.o ls-vpd.o ls-caps.o ls-ecaps.o ls-kernel.o ls-tree.o ls-map.o common.o lib/$(PCILIB_DEV)
 +setpci: setpci.o common.o lib/$(PCILIB_DEV)
  
- pcimodules.o: pcimodules.c pciutils.h
  LSPCIINC=lspci.h pciutils.h $(PCIINC)
-@@ -83,7 +83,7 @@ update-pciids: update-pciids.sh
+ lspci.o: lspci.c $(LSPCIINC)
+@@ -89,7 +89,7 @@ update-pciids: update-pciids.sh
        chmod +x $@
  
  # The example of use of libpci
@@ -69,10 +67,10 @@ index 1eb06a5..a8dab56 100644
  
  $(PCILIBPC): libpci.pc.in
 diff --git a/lib/configure b/lib/configure
-index eec225a..4318b05 100755
+index 27388bc..6c508cf 100755
 --- a/lib/configure
 +++ b/lib/configure
-@@ -174,16 +193,18 @@ fi
+@@ -216,16 +216,18 @@ fi
  echo "Checking whether to build a shared library... $SHARED (set manually)"
  if [ "$SHARED" = no ] ; then
        echo >>$m 'PCILIB=$(LIBNAME).a'
diff --git a/meta/recipes-bsp/pciutils/pciutils-3.2.0/pcimodules-pciutils.diff b/meta/recipes-bsp/pciutils/pciutils-3.2.0/pcimodules-pciutils.diff
deleted file mode 100644 (file)
index 0d4e0fb..0000000
+++ /dev/null
@@ -1,340 +0,0 @@
-Upstream-Status: Inappropriate [packaging]
-
-7/30/2010 - rebased to 3.1.5 by Qing He <qing.he@intel.com>
-
-diff -uNr pciutils-3.1.5.orig/Makefile pciutils-3.1.5/Makefile
---- pciutils-3.1.5.orig/Makefile       2010-07-30 14:02:15.000000000 +0800
-+++ pciutils-3.1.5/Makefile    2010-07-30 14:02:55.000000000 +0800
-@@ -51,7 +51,7 @@
- export
--all: lib/$(PCILIB) lspci setpci example lspci.8 setpci.8 pcilib.7 update-pciids update-pciids.8 $(PCI_IDS)
-+all: lib/$(PCILIB) lspci setpci example lspci.8 setpci.8 pcilib.7 update-pciids update-pciids.8 $(PCI_IDS) pcimodules pcimodules.8
- lib/$(PCILIB): $(PCIINC) force
-       $(MAKE) -C lib all
-@@ -61,9 +61,11 @@
- lib/config.h lib/config.mk:
-       cd lib && ./configure
-+pcimodules: pcimodules.o common.o lib/$(PCILIB)
- lspci: lspci.o ls-vpd.o ls-caps.o ls-ecaps.o ls-kernel.o ls-tree.o ls-map.o common.o lib/$(PCILIB)
- setpci: setpci.o common.o lib/$(PCILIB)
-+pcimodules.o: pcimodules.c pciutils.h
- LSPCIINC=lspci.h pciutils.h $(PCIINC)
- lspci.o: lspci.c $(LSPCIINC)
- ls-vpd.o: ls-vpd.c $(LSPCIINC)
-@@ -100,10 +102,10 @@
- install: all
- # -c is ignored on Linux, but required on FreeBSD
-       $(DIRINSTALL) -m 755 $(DESTDIR)$(SBINDIR) $(DESTDIR)$(IDSDIR) $(DESTDIR)$(MANDIR)/man8 $(DESTDIR)$(MANDIR)/man7
--      $(INSTALL) -c -m 755 lspci setpci $(DESTDIR)$(SBINDIR)
-+      $(INSTALL) -c -m 755 lspci setpci pcimodules $(DESTDIR)$(SBINDIR)
-       $(INSTALL) -c -m 755 update-pciids $(DESTDIR)$(SBINDIR)
-       $(INSTALL) -c -m 644 $(PCI_IDS) $(DESTDIR)$(IDSDIR)
--      $(INSTALL) -c -m 644 lspci.8 setpci.8 update-pciids.8 $(DESTDIR)$(MANDIR)/man8
-+      $(INSTALL) -c -m 644 lspci.8 setpci.8 update-pciids.8 pcimodules.8 $(DESTDIR)$(MANDIR)/man8
-       $(INSTALL) -c -m 644 pcilib.7 $(DESTDIR)$(MANDIR)/man7
- ifeq ($(SHARED),yes)
-       $(DIRINSTALL) -m 755 $(DESTDIR)$(LIBDIR)
-@@ -121,9 +123,9 @@
- endif
- uninstall: all
--      rm -f $(DESTDIR)$(SBINDIR)/lspci $(DESTDIR)$(SBINDIR)/setpci $(DESTDIR)$(SBINDIR)/update-pciids
-+      rm -f $(DESTDIR)$(SBINDIR)/lspci $(DESTDIR)$(SBINDIR)/setpci $(DESTDIR)$(SBINDIR)/pcimodules $(DESTDIR)$(SBINDIR)/update-pciids
-       rm -f $(DESTDIR)$(IDSDIR)/$(PCI_IDS)
--      rm -f $(DESTDIR)$(MANDIR)/man8/lspci.8 $(DESTDIR)$(MANDIR)/man8/setpci.8 $(DESTDIR)$(MANDIR)/man8/update-pciids.8
-+      rm -f $(DESTDIR)$(MANDIR)/man8/lspci.8 $(DESTDIR)$(MANDIR)/man8/setpci.8 $(DESTDIR)$(MANDIR)/man8/pcimodules.8 $(DESTDIR)$(MANDIR)/man8/update-pciids.8
-       rm -f $(DESTDIR)$(MANDIR)/man7/pcilib.7
- ifeq ($(SHARED),yes)
-       rm -f $(DESTDIR)$(LIBDIR)/$(PCILIB) $(DESTDIR)$(LIBDIR)/$(LIBNAME).so$(ABI_VERSION)
-Index: pciutils-3.0.3/pcimodules.c
-===================================================================
---- /dev/null  1970-01-01 00:00:00.000000000 +0000
-+++ pciutils-3.0.3/pcimodules.c        2008-12-31 00:41:47.000000000 +0000
-@@ -0,0 +1,185 @@
-+/*
-+ *    pcimodules:  Load all kernel modules for PCI device currently
-+ *      plugged into any PCI slot.
-+ *
-+ *    Copyright 2000 Yggdrasil Computing, Incorporated
-+ *    This file may be copied under the terms and conditions of version 
-+ *      two of the GNU General Public License, as published by the Free
-+ *      Software Foundation (Cambridge, Massachusetts, USA).
-+ *
-+ *      This file is based on pciutils/lib/example.c, which has the following
-+ *      authorship and copyright statement:
-+ *
-+ *            Written by Martin Mares and put to public domain. You can do
-+ *            with it anything you want, but I don't give you any warranty.
-+ */
-+
-+#include <stdlib.h>
-+#include <stdio.h>
-+#include <malloc.h>
-+#include <string.h>
-+#include <unistd.h>
-+#include <sys/utsname.h>
-+#include <sys/param.h>
-+#include <sys/types.h>
-+
-+#define _GNU_SOURCE
-+#include <getopt.h>
-+
-+#include "pciutils.h"
-+
-+#define MODDIR        "/lib/modules"
-+#define PCIMAP        "modules.pcimap"
-+
-+#define LINELENGTH    8000 
-+
-+#define DEVICE_ANY    0xffffffff
-+#define VENDOR_ANY    0xffffffff
-+
-+#include "lib/pci.h"
-+
-+ const char program_name[] = "lspci";
-+
-+struct pcimap_entry {
-+      unsigned int vendor, subsys_vendor, dev, subsys_dev, class, class_mask;
-+      char *module;
-+      struct pcimap_entry *next;
-+};
-+
-+static struct pcimap_entry *pcimap_list = NULL;
-+
-+#define OPT_STRING "h"
-+static struct option long_options[] = {
-+      {"class",       required_argument,      NULL, 'c'},
-+      {"classmask",   required_argument,      NULL, 'm'},
-+      {"help",        no_argument,            NULL, 'h'},
-+      { 0,            0,                      0,      0}
-+};
-+
-+static unsigned long desired_class;
-+static unsigned long desired_classmask; /* Default is 0: accept all classes.*/
-+
-+void
-+read_pcimap(void)
-+{
-+      struct utsname utsname;
-+      char filename[MAXPATHLEN];
-+      FILE *pcimap_file;
-+      char line[LINELENGTH];
-+      struct pcimap_entry *entry;
-+      unsigned int driver_data;
-+      char *prevmodule = "";
-+      char module[LINELENGTH];
-+
-+      if (uname(&utsname) < 0) {
-+              perror("uname");
-+              exit(1);
-+      }
-+      sprintf(filename, "%s/%s/%s", MODDIR, utsname.release, PCIMAP);
-+      if ((pcimap_file = fopen(filename, "r")) == NULL) {
-+              perror(filename);
-+              exit(1);
-+      }
-+
-+      while(fgets(line, LINELENGTH, pcimap_file) != NULL) {
-+              if (line[0] == '#')
-+                      continue;
-+
-+              entry = xmalloc(sizeof(struct pcimap_entry));
-+
-+              if (sscanf(line, "%s 0x%x 0x%x 0x%x 0x%x 0x%x 0x%x 0x%x",
-+                         module,
-+                         &entry->vendor, &entry->dev,
-+                         &entry->subsys_vendor, &entry->subsys_dev,
-+                         &entry->class, &entry->class_mask,
-+                         &driver_data) != 8) {
-+                      fprintf (stderr,
-+                              "modules.pcimap unparsable line: %s.\n", line);
-+                      free(entry);
-+                      continue;
-+              }
-+
-+              /* Optimize memory allocation a bit, in case someday we
-+                 have Linux systems with ~100,000 modules.  It also
-+                 allows us to just compare pointers to avoid trying
-+                 to load a module twice. */
-+              if (strcmp(module, prevmodule) != 0) {
-+                      prevmodule = xmalloc(strlen(module)+1);
-+                      strcpy(prevmodule, module);
-+              }
-+              entry->module = prevmodule;
-+              entry->next = pcimap_list;
-+              pcimap_list = entry;
-+      }
-+      fclose(pcimap_file);
-+}
-+
-+/* Return a filled in pci_access->dev tree, with the device classes
-+   stored in dev->aux.
-+*/
-+static void
-+match_pci_modules(void)
-+{
-+      struct pci_access *pacc;
-+      struct pci_dev *dev;
-+      unsigned int class, subsys_dev, subsys_vendor;
-+      struct pcimap_entry *map;
-+      const char *prevmodule = "";
-+
-+      pacc = pci_alloc();             /* Get the pci_access structure */
-+      /* Set all options you want -- here we stick with the defaults */
-+      pci_init(pacc);         /* Initialize the PCI library */
-+      pci_scan_bus(pacc);     /* We want to get the list of devices */
-+      for(dev=pacc->devices; dev; dev=dev->next) {
-+              pci_fill_info(dev, PCI_FILL_IDENT | PCI_FILL_BASES);
-+              class = (pci_read_word(dev, PCI_CLASS_DEVICE) << 8)
-+                      | pci_read_byte(dev, PCI_CLASS_PROG);
-+              subsys_dev = pci_read_word(dev, PCI_SUBSYSTEM_ID);
-+              subsys_vendor = pci_read_word(dev,PCI_SUBSYSTEM_VENDOR_ID);
-+              for(map = pcimap_list; map != NULL; map = map->next) {
-+                      if (((map->class ^ class) & map->class_mask) == 0 &&
-+                          ((desired_class ^ class) & desired_classmask)==0 &&
-+                          (map->dev == DEVICE_ANY ||
-+                           map->dev == dev->device_id) &&
-+                          (map->vendor == VENDOR_ANY ||
-+                           map->vendor == dev->vendor_id) &&
-+                          (map->subsys_dev == DEVICE_ANY ||
-+                           map->subsys_dev == subsys_dev) &&
-+                          (map->subsys_vendor == VENDOR_ANY ||
-+                           map->subsys_vendor == subsys_vendor) &&
-+                          prevmodule != map->module) {
-+                              printf("%s\n", map->module);
-+                              prevmodule = map->module;
-+                      }
-+              }
-+
-+      }
-+      pci_cleanup(pacc);
-+}
-+
-+int
-+main (int argc, char **argv)
-+{
-+      int opt_index = 0;
-+      int opt;
-+
-+      while ((opt = getopt_long(argc, argv, OPT_STRING, long_options,
-+                         &opt_index)) != -1) {
-+              switch(opt) {
-+                      case 'c':
-+                              desired_class = strtol(optarg, NULL, 0);
-+                              break;
-+                      case 'm':
-+                              desired_classmask = strtol(optarg, NULL, 0);
-+                              break;
-+                      case 'h':
-+                              printf ("Usage: pcimodules [--help]\n"
-+                                      "  Lists kernel modules corresponding to PCI devices currently plugged"
-+                                      "  into the computer.\n");
-+              }
-+      }       
-+
-+      read_pcimap();
-+      match_pci_modules();
-+      return 0;
-+}
-Index: pciutils-3.0.3/pcimodules.man
-===================================================================
---- /dev/null  1970-01-01 00:00:00.000000000 +0000
-+++ pciutils-3.0.3/pcimodules.man      2008-12-31 00:41:47.000000000 +0000
-@@ -0,0 +1,92 @@
-+.TH pcimodules 8 "@TODAY@" "@VERSION@" "Linux PCI Utilities"
-+.IX pcimodules
-+.SH NAME
-+pcimodules \- List kernel driver modules available for all currently plugged
-+in PCI devices
-+.SH SYNOPSIS
-+.B pcimodules
-+.RB [ --class class_id ]
-+.RB [ --classmask mask ]
-+.RB [ --help ]
-+.SH DESCRIPTION
-+.B pcimodules
-+lists all driver modules for all currently plugged in PCI devices.
-+.B pcimodules
-+should be run at boot time, and whenever a PCI device is "hot plugged"
-+into the system.  This can be done by the following Bourne shell syntax:
-+.IP
-+      for module in $(pcimodules) ; do
-+.IP
-+              modprobe -s -k "$module"
-+.IP
-+      done
-+.PP
-+When a PCI device is removed from the system, the Linux kernel will
-+decrement a usage count on PCI driver module.  If this count drops
-+to zero (i.e., there are no PCI drivers), then the
-+.B modprobe -r
-+process that is normally configured to run from cron every few minutes
-+will eventually remove the unneeded module.
-+.PP
-+The --class and --classmask arguments can be used to limit the search
-+to certain classes of PCI devices.  This is useful, for example, to
-+generate a list of ethernet card drivers to be loaded when the kernel
-+has indicated that it is trying to resolve an unknown network interface.
-+.PP
-+Modules are listed in the order in which the PCI devices are physically
-+arranged so that the computer owner can arrange things like having scsi
-+device 0 be on a controller that is not alphabetically the first scsi
-+controller.
-+.SH OPTIONS
-+.TP
-+.B --class class --classmask mask
-+.PP
-+--class and --classmask limit the search to PCI
-+cards in particular classes.  These arguments are always used together.
-+The arguments to --class and --classmask
-+can be given as hexadecimal numbers by prefixing a leading "0x".
-+Note that the classes used by pcimodules are in "Linux" format,
-+meaning the class value that you see with lspci would be shifted
-+left eight bits, with the new low eight bits programming interface ID.
-+An examples of how to use class and classmask is provided below.
-+.B --help, -h
-+Print a help message and exit.
-+.SH EXAMPLES
-+.TP
-+pcimodules
-+lists all modules corresponding to currently plugged in PCI devices.
-+.TP
-+pcimodules --class 0x200000 --classmask 0xffff00
-+lists all modules corresponding to currently plugged in ethernet PCI devices.
-+.SH FILES
-+.TP
-+.B /lib/modules/<kernel-version>/modules.pcimap
-+This file is automatically generated by
-+.B depmod,
-+and used by
-+.B pcimodules
-+to determine which modules correspond to which PCI ID's.
-+.TP
-+.B /proc/bus/pci
-+An interface to PCI bus configuration space provided by the post-2.1.82 Linux
-+kernels. Contains per-bus subdirectories with per-card config space files and a
-+.I devices
-+file containing a list of all PCI devices.
-+
-+.SH SEE ALSO
-+.BR lspci (8)
-+
-+.SH MAINTAINER
-+The Linux PCI Utilities are maintained by Martin Mares <mj@suse.cz>.
-+
-+.SH AUTHOR
-+.B pcimodules
-+was written by Adam J. Richter <adam@yggdrasil.com>, based on public
-+domain example code by Martin Mares <mj@suse.cz>.
-+
-+.SH COPYRIGHT
-+.B pcimodules
-+is copyright 2000, Yggdrasil Computing, Incorporated, and may
-+be copied under the terms and conditions of version 2 of the GNU
-+General Public License as published by the Free Software Foundation
-+(Cambrige, Massachusetts, United States of America).
index 51099d1d6d4cec9e0c620c3ff1211bc9d3672369..c190e1ba11ab70f5bb69f77d31609c3b51c6d935 100644 (file)
@@ -13,7 +13,6 @@ PR = "r0"
 
 SRC_URI = "${KERNELORG_MIRROR}/software/utils/pciutils/pciutils-${PV}.tar.bz2 \
            file://configure.patch \
-           file://pcimodules-pciutils.diff \
            file://lib-build-fix.patch \
            file://guess-fix.patch \
            file://makefile.patch"