1. 03 May, 2007 7 commits
    • Jean Delvare's avatar
      PCI: Cleanup the includes of <linux/pci.h> · 6473d160
      Jean Delvare authored
      I noticed that many source files include <linux/pci.h> while they do
      not appear to need it. Here is an attempt to clean it all up.
      
      In order to find all possibly affected files, I searched for all
      files including <linux/pci.h> but without any other occurence of "pci"
      or "PCI". I removed the include statement from all of these, then I
      compiled an allmodconfig kernel on both i386 and x86_64 and fixed the
      false positives manually.
      
      My tests covered 66% of the affected files, so there could be false
      positives remaining. Untested files are:
      
      arch/alpha/kernel/err_common.c
      arch/alpha/kernel/err_ev6.c
      arch/alpha/kernel/err_ev7.c
      arch/ia64/sn/kernel/huberror.c
      arch/ia64/sn/kernel/xpnet.c
      arch/m68knommu/kernel/dma.c
      arch/mips/lib/iomap.c
      arch/powerpc/platforms/pseries/ras.c
      arch/ppc/8260_io/enet.c
      arch/ppc/8260_io/fcc_enet.c
      arch/ppc/8xx_io/enet.c
      arch/ppc/syslib/ppc4xx_sgdma.c
      arch/sh64/mach-cayman/iomap.c
      arch/xtensa/kernel/xtensa_ksyms.c
      arch/xtensa/platform-iss/setup.c
      drivers/i2c/busses/i2c-at91.c
      drivers/i2c/busses/i2c-mpc.c
      drivers/media/video/saa711x.c
      drivers/misc/hdpuftrs/hdpu_cpustate.c
      drivers/misc/hdpuftrs/hdpu_nexus.c
      drivers/net/au1000_eth.c
      drivers/net/fec_8xx/fec_main.c
      drivers/net/fec_8xx/fec_mii.c
      drivers/net/fs_enet/fs_enet-main.c
      drivers/net/fs_enet/mac-fcc.c
      drivers/net/fs_enet/mac-fec.c
      drivers/net/fs_enet/mac-scc.c
      drivers/net/fs_enet/mii-bitbang.c
      drivers/net/fs_enet/mii-fec.c
      drivers/net/ibm_emac/ibm_emac_core.c
      drivers/net/lasi_82596.c
      drivers/parisc/hppb.c
      drivers/sbus/sbus.c
      drivers/video/g364fb.c
      drivers/video/platinumfb.c
      drivers/video/stifb.c
      drivers/video/valkyriefb.c
      include/asm-arm/arch-ixp4xx/dma.h
      sound/oss/au1550_ac97.c
      
      I would welcome test reports for these files. I am fine with removing
      the untested files from the patch if the general opinion is that these
      changes aren't safe. The tested part would still be nice to have.
      
      Note that this patch depends on another header fixup patch I submitted
      to LKML yesterday:
        [PATCH] scatterlist.h needs types.h
        http://lkml.org/lkml/2007/3/01/141Signed-off-by: default avatarJean Delvare <khali@linux-fr.org>
      Cc: Badari Pulavarty <pbadari@us.ibm.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      6473d160
    • Jean Delvare's avatar
      PCI: scatterlist.h needs types.h · a9dfd281
      Jean Delvare authored
      Most architectures' scatterlist.h use the type dma_addr_t, but omit to
      include <asm/types.h> which defines it.  This could lead to build failures,
      so let's add the missing includes.
      Signed-off-by: default avatarJean Delvare <khali@linux-fr.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      a9dfd281
    • Kristen Carlson Accardi's avatar
      PCI: fix multiple definition of `queue_pushbutton_work' · e325e1f0
      Kristen Carlson Accardi authored
      Fix duplicate names in shpchp and pciehp.
      Signed-off-by: default avatarKristen Carlson Accardi <kristen.c.accardi@intel.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      
      e325e1f0
    • Kenji Kaneshige's avatar
      pciehp: Adapt to device driver model · 92333526
      Kenji Kaneshige authored
      This patch adapts PCIEHP driver to PCI device driver model.
      Signed-off-by: default avatarKenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
      Signed-off-by: default avatarKristen Carlson Accardi <kristen.c.accardi@intel.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      92333526
    • Kenji Kaneshige's avatar
      pciehp: Event handling rework · 5d386e1a
      Kenji Kaneshige authored
      The event handler of PCIEHP driver is unnecessarily very complex. In
      addition, current event handler can only a fixed number of events at
      the same time, and some of events would be lost if several number of
      events happened at the same time.
      
      This patch simplify the event handler using 'work queue', and it also
      fix the above-mentioned issue.
      Signed-off-by: default avatarKenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
      Signed-off-by: default avatarKristen Carlson Accardi <kristen.c.accardi@intel.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      5d386e1a
    • Brian King's avatar
      pci: New PCI-E reset API · f7bdd12d
      Brian King authored
      Adds a new API which can be used to issue various types
      of PCI-E reset, including PCI-E warm reset and PCI-E hot reset.
      This is needed for an ipr PCI-E adapter which does not properly
      implement BIST. Running BIST on this adapter results in PCI-E
      errors. The only reliable reset mechanism that exists on this
      hardware is PCI Fundamental reset (warm reset). Since driving
      this type of reset is architecture unique, this provides the
      necessary hooks for architectures to add this support.
      Signed-off-by: default avatarBrian King <brking@linux.vnet.ibm.com>
      Acked-by: default avatarLinas Vepstas <linas@austin.ibm.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      f7bdd12d
    • Mitch Williams's avatar
      PCI: Flush MSI-X table writes · 988cbb15
      Mitch Williams authored
      This patch fixes a kernel bug which is triggered when using the
      irqbalance daemon with MSI-X hardware.
      
      Because both MSI-X interrupt messages and MSI-X table writes are posted,
      it's possible for them to cross while in-flight.  This results in
      interrupts being received long after the kernel thinks they're disabled,
      and in interrupts being sent to stale vectors after rebalancing.
      
      This patch performs a read flush after writes to the MSI-X table for
      mask and unmask operations.  Since the SMP affinity is set while
      the interrupt is masked, and since it's unmasked immediately after,
      no additional flushes are required in the various affinity setting
      routines.
      
      This patch has been validated with (unreleased) network hardware which
      uses MSI-X.
      
      Revised with input from Eric Biederman.
      Signed-off-by: default avatarMitch Williams <mitch.a.williams@intel.com>
      Acked-by: default avatar"Eric W. Biederman" <ebiederm@xmission.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      988cbb15
  2. 01 May, 2007 1 commit
    • Linus Torvalds's avatar
      libata: honour host controllers that want just one host · dc87c398
      Linus Torvalds authored
      The Marvell IDE interface on my machine would hit a BUG_ON() in
      lib/iomem.c because it was calling ata_pci_init_one() specifying just a
      single port on the host, but that would actually end up trying to
      initialize two ports, the second one with bogus information.
      
      This fixes "ata_pci_init_one()" so that it actually passes down the
      n_ports variable that it got from the low-level driver to the host
      allocation routine ("ata_host_alloc_pinfo()"), which results in the ATA
      layer actually having the correct port number information.
      
      And in order to make it all work, I also needed to fix a few places that
      had incorrectly hard-coded the fact that a host always had exactly two
      ports (both ata_pci_init_bmdma() and ata_request_legacy_irqs() would
      just always iterate over both ports).
      Acked-by: default avatarJeff Garzik <jeff@garzik.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      dc87c398
  3. 30 Apr, 2007 32 commits