1. 26 1月, 2013 1 次提交
  2. 11 9月, 2012 1 次提交
    • F
      PCI: Remove the obsolete no_pci_devices() check · e9bf1040
      Feng Tang 提交于
      In function pci_get_subsys() there is a check:
      
      	/*
      	 * pci_find_subsys() can be called on the ide_setup() path,
      	 * super-early in boot.  But the down_read() will enable local
      	 * interrupts, which can cause some machines to crash.  So here we
      	 * detect and flag that situation and bail out early.
      	 */
      	if (unlikely(no_pci_devices()))
      		return NULL;
      
      But there is no ide_setup() now, and no down_read() either, which
      makes the check obsolete. So remove it.
      Signed-off-by: NFeng Tang <feng.tang@intel.com>
      Signed-off-by: NBjorn Helgaas <bhelgaas@google.com>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      e9bf1040
  3. 25 8月, 2012 1 次提交
  4. 23 8月, 2012 2 次提交
  5. 14 6月, 2012 1 次提交
    • Amos_沧海桑田's avatar
      PCI: acpiphp: remove all functions in slot, even without ACPI _EJx · ce29ca3e
      Amos_沧海桑田 提交于
      When we add a device with acpiphp, we enumerate all functions in the
      slot with pci_scan_slot(), regardless of whether they have associated
      ACPI methods such as _EJ0.
      
      When removing the device, we previously removed only the functions
      with those ACPI methods.  This patch makes the remove symmetric with the
      add: we remove all functions in the slot, whether they have associated
      ACPI methods or not.
      
      With qemu-kvm and SeaBIOS, we can build a multi-function device where
      only function 0 has _EJ0 and _ADR (see bugzilla below).  Removing and
      re-adding that slot (including all functions of the device) works correctly
      with Windows guests.  This patch makes it also work in Linux guests.
      
      [bhelgaas: restructure loop iteration, pull out of slot->funcs loop]
      Reference: https://bugzilla.kernel.org/show_bug.cgi?id=43219Signed-off-by: Amos_沧海桑田's avatarAmos Kong <kongjianjun@gmail.com>
      Signed-off-by: NBjorn Helgaas <bhelgaas@google.com>
      ce29ca3e
  6. 31 7月, 2010 1 次提交
  7. 30 3月, 2010 1 次提交
    • T
      include cleanup: Update gfp.h and slab.h includes to prepare for breaking... · 5a0e3ad6
      Tejun Heo 提交于
      include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h
      
      percpu.h is included by sched.h and module.h and thus ends up being
      included when building most .c files.  percpu.h includes slab.h which
      in turn includes gfp.h making everything defined by the two files
      universally available and complicating inclusion dependencies.
      
      percpu.h -> slab.h dependency is about to be removed.  Prepare for
      this change by updating users of gfp and slab facilities include those
      headers directly instead of assuming availability.  As this conversion
      needs to touch large number of source files, the following script is
      used as the basis of conversion.
      
        http://userweb.kernel.org/~tj/misc/slabh-sweep.py
      
      The script does the followings.
      
      * Scan files for gfp and slab usages and update includes such that
        only the necessary includes are there.  ie. if only gfp is used,
        gfp.h, if slab is used, slab.h.
      
      * When the script inserts a new include, it looks at the include
        blocks and try to put the new include such that its order conforms
        to its surrounding.  It's put in the include block which contains
        core kernel includes, in the same order that the rest are ordered -
        alphabetical, Christmas tree, rev-Xmas-tree or at the end if there
        doesn't seem to be any matching order.
      
      * If the script can't find a place to put a new include (mostly
        because the file doesn't have fitting include block), it prints out
        an error message indicating which .h file needs to be added to the
        file.
      
      The conversion was done in the following steps.
      
      1. The initial automatic conversion of all .c files updated slightly
         over 4000 files, deleting around 700 includes and adding ~480 gfp.h
         and ~3000 slab.h inclusions.  The script emitted errors for ~400
         files.
      
      2. Each error was manually checked.  Some didn't need the inclusion,
         some needed manual addition while adding it to implementation .h or
         embedding .c file was more appropriate for others.  This step added
         inclusions to around 150 files.
      
      3. The script was run again and the output was compared to the edits
         from #2 to make sure no file was left behind.
      
      4. Several build tests were done and a couple of problems were fixed.
         e.g. lib/decompress_*.c used malloc/free() wrappers around slab
         APIs requiring slab.h to be added manually.
      
      5. The script was run on all .h files but without automatically
         editing them as sprinkling gfp.h and slab.h inclusions around .h
         files could easily lead to inclusion dependency hell.  Most gfp.h
         inclusion directives were ignored as stuff from gfp.h was usually
         wildly available and often used in preprocessor macros.  Each
         slab.h inclusion directive was examined and added manually as
         necessary.
      
      6. percpu.h was updated not to include slab.h.
      
      7. Build test were done on the following configurations and failures
         were fixed.  CONFIG_GCOV_KERNEL was turned off for all tests (as my
         distributed build env didn't work with gcov compiles) and a few
         more options had to be turned off depending on archs to make things
         build (like ipr on powerpc/64 which failed due to missing writeq).
      
         * x86 and x86_64 UP and SMP allmodconfig and a custom test config.
         * powerpc and powerpc64 SMP allmodconfig
         * sparc and sparc64 SMP allmodconfig
         * ia64 SMP allmodconfig
         * s390 SMP allmodconfig
         * alpha SMP allmodconfig
         * um on x86_64 SMP allmodconfig
      
      8. percpu.h modifications were reverted so that it could be applied as
         a separate patch and serve as bisection point.
      
      Given the fact that I had only a couple of failures from tests on step
      6, I'm fairly confident about the coverage of this conversion patch.
      If there is a breakage, it's likely to be something in one of the arch
      headers which should be easily discoverable easily on most builds of
      the specific arch.
      Signed-off-by: NTejun Heo <tj@kernel.org>
      Guess-its-ok-by: NChristoph Lameter <cl@linux-foundation.org>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Lee Schermerhorn <Lee.Schermerhorn@hp.com>
      5a0e3ad6
  8. 17 12月, 2009 1 次提交
  9. 25 11月, 2009 1 次提交
  10. 05 11月, 2009 1 次提交
  11. 10 9月, 2009 1 次提交
  12. 17 6月, 2009 1 次提交
  13. 12 6月, 2009 1 次提交
  14. 21 3月, 2009 1 次提交
  15. 23 10月, 2008 1 次提交
    • M
      PCI: Fix reference counting bug · c4ed02fa
      Matthew Wilcox 提交于
      pci_get_subsys() will decrement the reference count of the device that
      it starts searching from.  Unfortunately, the pci_find_device() interface
      will already have decremented the reference count of the device earlier,
      so the device will end up losing all reference counts and be freed.
      
      We can fix this by incrementing the reference count of the device to
      start searching from before calling pci_get_subsys().
      Signed-off-by: NMatthew Wilcox <willy@linux.intel.com>
      Signed-off-by: NJesse Barnes <jbarnes@virtuousgeek.org>
      c4ed02fa
  16. 17 9月, 2008 1 次提交
  17. 22 8月, 2008 1 次提交
  18. 21 4月, 2008 3 次提交
    • G
      PCI: clean up search.c a lot · 95247b57
      Greg Kroah-Hartman 提交于
      This cleans up the search.c file, now using the pci list of devices that
      are created for the driver core, instead of relying on our separate list
      of devices.  It's better to use the functions already created for this
      kind of thing, instead of rolling our own all the time.
      
      This work is done in anticipation of getting rid of that second list of
      pci devices all together.
      
      And it ends up saving code, always a nice benefit.
      
      This also removes one compiler warning for when CONFIG_PCI_LEGACY is
      enabled as we no longer internally use the deprecated functions anymore.
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      95247b57
    • G
      PCI: remove pci_get_device_reverse · 34220909
      Greg Kroah-Hartman 提交于
      This removes the pci_get_device_reverse function as there should not be
      any need to walk pci devices backwards anymore.  All users of this call
      are now gone from the tree, so it is safe to remove it.
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      34220909
    • G
      PCI: remove pci_find_present · 448432c4
      Greg Kroah-Hartman 提交于
      No one is using this function anymore for quite some time, so remove it.
      Everyone calls pci_dev_present() instead anyway...
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      448432c4
  19. 06 11月, 2007 1 次提交
  20. 22 10月, 2007 1 次提交
    • K
      Intel IOMMU: PCI generic helper function · 994a65e2
      Keshavamurthy, Anil S 提交于
      When devices are under a p2p bridge, upstream transactions get replaced by the
      device id of the bridge as it owns the PCIE transaction.  Hence its necessary
      to setup translations on behalf of the bridge as well.  Due to this limitation
      all devices under a p2p share the same domain in a DMAR.
      
      We just cache the type of device, if its a native PCIe device
      or not for later use.
      
      [akpm@linux-foundation.org: BUG_ON -> WARN_ON+recover]
      Signed-off-by: NAnil S Keshavamurthy <anil.s.keshavamurthy@intel.com>
      Cc: Andi Kleen <ak@suse.de>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Muli Ben-Yehuda <muli@il.ibm.com>
      Cc: "Siddha, Suresh B" <suresh.b.siddha@intel.com>
      Cc: Arjan van de Ven <arjan@infradead.org>
      Cc: Ashok Raj <ashok.raj@intel.com>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Christoph Lameter <clameter@sgi.com>
      Cc: Greg KH <greg@kroah.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      994a65e2
  21. 17 7月, 2007 1 次提交
  22. 12 7月, 2007 1 次提交
  23. 01 6月, 2007 1 次提交
  24. 03 5月, 2007 1 次提交
    • S
      pci: do not mark exported functions as __devinit · 96bde06a
      Sam Ravnborg 提交于
      Functions marked __devinit will be removed after kernel init.  But being
      exported they are potentially called by a module much later.
      
      So the safer choice seems to be to keep the function even in the non
      CONFIG_HOTPLUG case.
      
      This silence the follwoing section mismatch warnings:
      WARNING: drivers/built-in.o - Section mismatch: reference to .init.text:pci_bus_add_device from __ksymtab_gpl between '__ksymtab_pci_bus_add_device' (at offset 0x20) and '__ksymtab_pci_walk_bus'
      WARNING: drivers/built-in.o - Section mismatch: reference to .init.text:pci_create_bus from __ksymtab_gpl between '__ksymtab_pci_create_bus' (at offset 0x40) and '__ksymtab_pci_stop_bus_device'
      WARNING: drivers/built-in.o - Section mismatch: reference to .init.text:pci_bus_max_busnr from __ksymtab_gpl between '__ksymtab_pci_bus_max_busnr' (at offset 0xc0) and '__ksymtab_pci_assign_resource_fixed'
      WARNING: drivers/built-in.o - Section mismatch: reference to .init.text:pci_claim_resource from __ksymtab_gpl between '__ksymtab_pci_claim_resource' (at offset 0xe0) and '__ksymtab_pcie_port_bus_type'
      WARNING: drivers/built-in.o - Section mismatch: reference to .init.text:pci_bus_add_devices from __ksymtab between '__ksymtab_pci_bus_add_devices' (at offset 0x70) and '__ksymtab_pci_bus_alloc_resource'
      WARNING: drivers/built-in.o - Section mismatch: reference to .init.text:pci_scan_bus_parented from __ksymtab between '__ksymtab_pci_scan_bus_parented' (at offset 0x90) and '__ksymtab_pci_root_buses'
      WARNING: drivers/built-in.o - Section mismatch: reference to .init.text:pci_bus_assign_resources from __ksymtab between '__ksymtab_pci_bus_assign_resources' (at offset 0x4d0) and '__ksymtab_pci_bus_size_bridges'
      WARNING: drivers/built-in.o - Section mismatch: reference to .init.text:pci_bus_size_bridges from __ksymtab between '__ksymtab_pci_bus_size_bridges' (at offset 0x4e0) and '__ksymtab_pci_setup_cardbus'
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      96bde06a
  25. 10 3月, 2007 1 次提交
    • S
      pci: fix section mismatch warning · 128bf5cb
      Sam Ravnborg 提交于
      drivers/pci/search.c caused following section mismatch warning
      (if compiled with CONFIG_HOTPLUG=n):
      
      WARNING: drivers/pci/built-in.o - Section mismatch: reference to .init.text: from .text.pci_find_bus after 'pci_find_bus' (at offset 0x24)
      
      This was due to pci_find_bus() calling a function marked __devinit.
      Fix was to remove the __devinit from the offending function.
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      128bf5cb
  26. 08 2月, 2007 1 次提交
  27. 02 2月, 2007 1 次提交
  28. 06 1月, 2007 1 次提交
    • A
      [PATCH] PCI: prevent down_read when pci_devices is empty · 6ae4adf5
      Ard van Breemen 提交于
      The pci_find_subsys gets called very early by obsolete ide setup parameters.
      This is a bogus call since pci is not initialized yet, so the list is empty.
      But in the mean time, interrupts get enabled by down_read.  This can result in
      a kernel panic when the irq controller gets initialized.
      
      This patch checks if the device list is empty before taking the semaphore, and
      hence will not enable irq's.  Furthermore it will inform that it is called
      while pci_devices is empty as a reminder that the ide code needs to be fixed.
      
      The pci_get_subsys can get called in the same manner, and as such is patched
      in the same manner.
      
      [akpm@osdl.org: cleanups]
      Signed-off-by: NArd van Breemen <ard@telegraafnet.nl>
      Cc: Greg KH <greg@kroah.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      6ae4adf5
  29. 21 12月, 2006 2 次提交
    • A
      PCI: Fix multiple problems with VIA hardware · 1597cacb
      Alan Cox 提交于
      This patch is designed to fix:
      - Disk eating corruptor on KT7 after resume from RAM
      - VIA IRQ handling
      - VIA fixups for bus lockups after resume from RAM
      
      The core of this is to add a table of resume fixups run at resume time.
      We need to do this for a variety of boards and features, but particularly
      we need to do this to get various critical VIA fixups done on resume.
      
      The second part of the problem is to handle VIA IRQ number rules which
      are a bit odd and need special handling for PIC interrupts. Various
      patches broke various boxes and while this one may not be perfect
      (hopefully it is) it ensures the workaround is applied to the right
      devices only.
      
      From: Jean Delvare <khali@linux-fr.org>
      
      Now that PCI quirks are replayed on software resume, we can safely
      re-enable the Asus SMBus unhiding quirk even when software suspend support
      is enabled.
      
      [akpm@osdl.org: fix const warning]
      Signed-off-by: NAlan Cox <alan@redhat.com>
      Cc: Jean Delvare <khali@linux-fr.org>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      1597cacb
    • A
      pci: Introduce pci_find_present · d86f90f9
      Alan Cox 提交于
      This works like pci_dev_present but instead of returning boolean returns
      the matching pci_device_id entry.  This makes it much more useful.  Code
      bloat is basically nil as the old boolean function is rewritten in terms of
      the new one.
      
      This will be used by the updated VIA PCI quirks for one
      Signed-off-by: NAlan Cox <alan@redhat.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      d86f90f9
  30. 19 10月, 2006 1 次提交
  31. 04 8月, 2006 1 次提交
  32. 01 8月, 2006 1 次提交
  33. 22 6月, 2006 1 次提交
  34. 24 3月, 2006 1 次提交
  35. 07 7月, 2005 1 次提交
  36. 17 4月, 2005 1 次提交
    • L
      Linux-2.6.12-rc2 · 1da177e4
      Linus Torvalds 提交于
      Initial git repository build. I'm not bothering with the full history,
      even though we have it. We can create a separate "historical" git
      archive of that later if we want to, and in the meantime it's about
      3.2GB when imported into git - space that would just make the early
      git days unnecessarily complicated, when we don't have a lot of good
      infrastructure for it.
      
      Let it rip!
      1da177e4