Merge trivial low-risk suspend hotkey bugzilla-5918 into release
authorLen Brown <len.brown@intel.com>
Mon, 21 Aug 2006 01:49:29 +0000 (21:49 -0400)
committerLen Brown <len.brown@intel.com>
Mon, 21 Aug 2006 01:49:29 +0000 (21:49 -0400)
1  2  3  4  5  6 
MAINTAINERS
drivers/pci/hotplug/Kconfig
drivers/pci/quirks.c

diff --combined MAINTAINERS
@@@@@@@ -214,12 -214,6 -214,12 -214,12 -214,12 -214,6 +214,12 @@@@@@@ W:        http://acpi.sourceforge.net
      T:        git kernel.org:/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6.git
      S:        Maintained
      
 +   +ACPI PCI HOTPLUG DRIVER
 +   +P:        Kristen Carlson Accardi
 +   +M:        kristen.c.accardi@intel.com
 +   +L:        pcihpd-discuss@lists.sourceforge.net
 +   +S:        Maintained
 +   +
      AD1816 SOUND DRIVER
      P:        Thorsten Knabe
      M:        Thorsten Knabe <linux@thorsten-knabe.de>
@@@@@@@ -280,7 -274,7 -280,7 -280,7 -280,7 -274,7 +280,7 @@@@@@@ S:     Maintaine
      ALI1563 I2C DRIVER
      P:        Rudolf Marek
      M:        r.marek@sh.cvut.cz
 -    L:        lm-sensors@lm-sensors.org
 +    L:        i2c@lm-sensors.org
      S:        Maintained
      
      ALPHA PORT
@@@@@@@ -298,13 -292,6 -298,13 -298,13 -298,13 -292,6 +298,13 @@@@@@@ L:        info-linux@geode.amd.co
      W:        http://www.amd.com/us-en/ConnectivitySolutions/TechnicalResources/0,,50_2334_2452_11363,00.html
      S:        Supported
      
 +   +AOA (Apple Onboard Audio) ALSA DRIVER
 +   +P:        Johannes Berg
 +   +M:        johannes@sipsolutions.net
 +   +L:        linuxppc-dev@ozlabs.org
 +   +L:        alsa-devel@alsa-project.org
 +   +S:        Maintained
 +   +
      APM DRIVER
      P:        Stephen Rothwell
      M:        sfr@canb.auug.org.au
@@@@@@@ -784,7 -771,6 -784,7 -784,7 -784,7 -771,7 +784,7 @@@@@@@ M:     aliakc@web.d
      P:        Jamie Lenehan
      M:        lenehan@twibble.org
      W:        http://twibble.org/dist/dc395x/
 +    L:        dc395x@twibble.org
      L:        http://lists.twibble.org/mailman/listinfo/dc395x/
      S:        Maintained
      
@@@@@@@ -889,6 -875,12 -889,6 -889,6 -889,6 -876,6 +889,12 @@@@@@@ M:   rdunlap@xenotime.ne
      T:        git http://tali.admingilde.org/git/linux-docbook.git
      S:        Maintained
      
+ ++++DOCKING STATION DRIVER
+ ++++P:        Kristen Carlson Accardi
+ ++++M:        kristen.c.accardi@intel.com
+ ++++L:        linux-acpi@vger.kernel.org
+ ++++S:        Maintained
+ ++++
      DOUBLETALK DRIVER
      P:        James R. Van Zandt
      M:        jrv@vanzandt.mv.com
@@@@@@@ -981,10 -973,6 -981,10 -981,10 -981,10 -968,6 +987,10 @@@@@@@ P:        Andrey V. Savochki
      M:        saw@saw.sw.com.sg
      S:        Maintained
      
 +   +EFS FILESYSTEM
 +   +W:        http://aeschi.ch.eu.org/efs/
 +   +S:        Orphan
 +   +
      EMU10K1 SOUND DRIVER
      P:        James Courtier-Dutton
      M:        James@superbug.demon.co.uk
@@@@@@@ -1267,7 -1255,7 -1267,7 -1267,7 -1267,7 -1250,7 +1273,7 @@@@@@@ S:      Maintaine
      I2C SUBSYSTEM
      P:        Jean Delvare
      M:        khali@linux-fr.org
 -    L:        lm-sensors@lm-sensors.org
 +    L:        i2c@lm-sensors.org
      W:        http://www.lm-sensors.nu/
      T:        quilt kernel.org/pub/linux/kernel/people/gregkh/gregkh-2.6/
      S:        Maintained
@@@@@@@ -1519,7 -1507,6 -1519,7 -1519,7 -1519,7 -1502,7 +1525,7 @@@@@@@ P:      Yi Zh
      M:        yi.zhu@intel.com
      P:        James Ketrenos
      M:        jketreno@linux.intel.com
 +    L:        ipw2100-devel@lists.sourceforge.net
      L:        http://lists.sourceforge.net/mailman/listinfo/ipw2100-devel
      W:        http://ipw2100.sourceforge.net
      S:        Supported
@@@@@@@ -1529,7 -1516,6 -1529,7 -1529,7 -1529,7 -1512,7 +1535,7 @@@@@@@ P:      Yi Zh
      M:        yi.zhu@intel.com
      P:        James Ketrenos
      M:        jketreno@linux.intel.com
 +    L:        ipw2100-devel@lists.sourceforge.net
      L:        http://lists.sourceforge.net/mailman/listinfo/ipw2100-devel
      W:        http://ipw2200.sourceforge.net
      S:        Supported
@@@@@@@ -1615,7 -1601,7 -1615,7 -1615,7 -1615,7 -1598,7 +1621,7 @@@@@@@ W:      http://jfs.sourceforge.net
      T:        git kernel.org:/pub/scm/linux/kernel/git/shaggy/jfs-2.6.git
      S:        Supported
      
 -   -JOURNALLING LAYER FOR BLOCK DEVICS (JBD)
 +   +JOURNALLING LAYER FOR BLOCK DEVICES (JBD)
      P:        Stephen Tweedie, Andrew Morton
      M:        sct@redhat.com, akpm@osdl.org
      L:        ext2-devel@lists.sourceforge.net
@@@@@@@ -1659,8 -1645,9 -1659,8 -1659,8 -1659,8 -1642,9 +1665,8 @@@@@@@ S:      Maintaine
      
      KERNEL JANITORS
      P:        Several
 -   -L:        kernel-janitors@osdl.org
 +   +L:        kernel-janitors@lists.osdl.org
      W:        http://www.kerneljanitors.org/
 -   -W:        http://sf.net/projects/kernel-janitor/
      S:        Maintained
      
      KERNEL NFSD
@@@@@@@ -1692,8 -1679,10 -1692,8 -1692,8 -1692,8 -1676,8 +1698,8 @@@@@@@ L:     linux-kernel@vger.kernel.or
      S:        Maintained
      
      LAPB module
 -    P:        Henner Eisen
 -    M:        eis@baty.hanse.de
      L:        linux-x25@vger.kernel.org
 -    S:        Maintained
 +    S:        Orphan
      
      LASI 53c700 driver for PARISC
      P:        James E.J. Bottomley
@@@@@@@ -1898,12 -1887,6 -1898,12 -1898,12 -1898,12 -1882,6 +1904,12 @@@@@@@ S:     linux-scsi@vger.kernel.or
      W:     http://megaraid.lsilogic.com
      S:     Maintained
      
 +   +MEMORY MANAGEMENT
 +   +L:        linux-mm@kvack.org
 +   +L:        linux-kernel@vger.kernel.org
 +   +W:        http://www.linux-mm.org
 +   +S:        Maintained
 +   +
      MEMORY TECHNOLOGY DEVICES (MTD)
      P:        David Woodhouse
      M:        dwmw2@infradead.org
@@@@@@@ -2116,7 -2099,7 -2116,7 -2116,7 -2116,7 -2094,7 +2122,7 @@@@@@@ S:      Maintaine
      OPENCORES I2C BUS DRIVER
      P:        Peter Korsgaard
      M:        jacmet@sunsite.dk
 -    L:        lm-sensors@lm-sensors.org
 +    L:        i2c@lm-sensors.org
      S:        Maintained
      
      ORACLE CLUSTER FILESYSTEM 2 (OCFS2)
@@@@@@@ -2249,7 -2232,6 -2249,7 -2249,7 -2249,7 -2227,7 +2255,7 @@@@@@@ S:      Maintaine
      
      PCMCIA SUBSYSTEM
      P:        Linux PCMCIA Team
 +    L:        linux-pcmcia@lists.infradead.org
      L:        http://lists.infradead.org/mailman/listinfo/linux-pcmcia
      T:        git kernel.org:/pub/scm/linux/kernel/git/brodo/pcmcia-2.6.git
      S:        Maintained
@@@@@@@ -2260,12 -2242,6 -2260,12 -2260,12 -2260,12 -2238,12 +2266,12 @@@@@@@ M:        tsbogend@alpha.franken.d
      L:        netdev@vger.kernel.org
      S:        Maintained
      
 +    PER-TASK DELAY ACCOUNTING
 +    P:        Shailabh Nagar
 +    M:        nagar@watson.ibm.com
 +    L:        linux-kernel@vger.kernel.org
 +    S:        Maintained
 +    
      PERSONALITY HANDLING
      P:        Christoph Hellwig
      M:        hch@infradead.org
@@@@@@@ -2648,22 -2624,6 -2648,14 -2648,14 -2648,14 -2626,6 +2654,22 @@@@@@@ M: dbrownell@users.sourceforge.ne
      L:        spi-devel-general@lists.sourceforge.net
      S:        Maintained
      
 +   +STABLE BRANCH:
 +   +P:        Greg Kroah-Hartman
 +   +M:        greg@kroah.com
 +   +P:        Chris Wright
 +   +M:        chrisw@sous-sol.org
 +   +L:        stable@kernel.org
 +   +S:        Maintained
 +   +
 +++++STABLE BRANCH:
 +++++P:        Greg Kroah-Hartman
 +++++M:        greg@kroah.com
 +++++P:        Chris Wright
 +++++M:        chrisw@sous-sol.org
 +++++L:        stable@kernel.org
 +++++S:        Maintained
 +++++
      TPM DEVICE DRIVER
      P:        Kylene Hall
      M:        kjhall@us.ibm.com
@@@@@@@ -2798,23 -2758,11 -2790,23 -2790,23 -2790,23 -2760,23 +2804,23 @@@@@@@ P:       Christoph Hellwi
      M:        hch@infradead.org
      S:        Maintained
      
 +    TC CLASSIFIER
 +    P:        Jamal Hadi Salim
 +    M:        hadi@cyberus.ca
 +    L:        netdev@vger.kernel.org
 +    S:        Maintained
 +    
      TI OMAP RANDOM NUMBER GENERATOR SUPPORT
      P:        Deepak Saxena
      M:        dsaxena@plexity.net
      S:        Maintained
      
 +    TASKSTATS STATISTICS INTERFACE
 +    P:        Shailabh Nagar
 +    M:        nagar@watson.ibm.com
 +    L:        linux-kernel@vger.kernel.org
 +    S:        Maintained
 +    
      TI PARALLEL LINK CABLE DRIVER
      P:     Romain Lievin
      M:     roms@lpg.ticalc.org
@@@@@@@ -3190,7 -3138,7 -3182,7 -3182,7 -3182,7 -3152,7 +3196,7 @@@@@@@ S:      Maintaine
      VIAPRO SMBUS DRIVER
      P:        Jean Delvare
      M:        khali@linux-fr.org
 -    L:        lm-sensors@lm-sensors.org
 +    L:        i2c@lm-sensors.org
      S:        Maintained
      
      UCLINUX (AND M68KNOMMU)
@@@@@@@ -3238,11 -3186,6 -3230,11 -3230,11 -3230,11 -3200,11 +3244,11 @@@@@@@ S:        Maintaine
      W1 DALLAS'S 1-WIRE BUS
      P:        Evgeniy Polyakov
      M:        johnpol@2ka.mipt.ru
 +    S:        Maintained
 +    
 +    W83791D HARDWARE MONITORING DRIVER
 +    P:        Charles Spirakis
 +    M:        bezaur@gmail.com
      L:        lm-sensors@lm-sensors.org
      S:        Maintained
      
@@@@@@@ -76,7 -76,7 -76,7 -76,7 -76,7 -76,7 +76,7 @@@@@@@ config HOTPLUG_PCI_IB
      
      config HOTPLUG_PCI_ACPI
        tristate "ACPI PCI Hotplug driver"
-- ---  depends on ACPI_DOCK && HOTPLUG_PCI
++ +++  depends on (!ACPI_DOCK && ACPI && HOTPLUG_PCI) || (ACPI_DOCK && HOTPLUG_PCI)
        help
          Say Y here if you have a system that supports PCI Hotplug using
          ACPI.
@@@@@@@ -153,6 -153,13 -153,13 -153,13 -153,13 -153,13 +153,6 @@@@@@@ config HOTPLUG_PCI_SHPC_POLL_EVENT_MOD
      
          When in doubt, say N.
      
 -----config HOTPLUG_PCI_SHPC_PHPRM_LEGACY
 -----  bool "For AMD SHPC only: Use $HRT for resource/configuration"
 -----  depends on HOTPLUG_PCI_SHPC && !ACPI 
 -----  help
 -----    Say Y here for AMD SHPC. You have to select this option if you are 
 -----    using this driver on platform with AMD SHPC.
 -----
      config HOTPLUG_PCI_RPA
        tristate "RPA PCI Hotplug driver"
        depends on HOTPLUG_PCI && PPC_PSERIES && PPC64 && !HOTPLUG_PCI_FAKE
diff --combined drivers/pci/quirks.c
@@@@@@@ -400,7 -400,6 -400,7 -400,7 -400,7 -400,7 +400,7 @@@@@@@ static void __devinit quirk_piix4_acpi(
        piix4_io_quirk(dev, "PIIX4 devres J", 0x7c, 1 << 20);
      }
      DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL,     PCI_DEVICE_ID_INTEL_82371AB_3,  quirk_piix4_acpi );
 +    DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL,     PCI_DEVICE_ID_INTEL_82443MX_3,  quirk_piix4_acpi );
      
      /*
       * ICH4, ICH4-M, ICH5, ICH5-M ACPI: Three IO regions pointed to by longwords at
@@@@@@@ -683,33 -682,6 -683,33 -683,33 -683,33 -683,33 +683,33 @@@@@@@ static void __devinit quirk_vt82c598_id
      }
      DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_VIA,       PCI_DEVICE_ID_VIA_82C597_0,     quirk_vt82c598_id );
      
 +    #ifdef CONFIG_ACPI_SLEEP
 +    
 +    /*
 +     * Some VIA systems boot with the abnormal status flag set. This can cause
 +     * the BIOS to re-POST the system on resume rather than passing control
 +     * back to the OS.  Clear the flag on boot
 +     */
 +    static void __devinit quirk_via_abnormal_poweroff(struct pci_dev *dev)
 +    {
 +      u32 reg;
 +    
 +      acpi_hw_register_read(ACPI_MTX_DO_NOT_LOCK, ACPI_REGISTER_PM1_STATUS,
 +                              &reg);
 +    
 +      if (reg & 0x800) {
 +              printk("Clearing abnormal poweroff flag\n");
 +              acpi_hw_register_write(ACPI_MTX_DO_NOT_LOCK,
 +                                      ACPI_REGISTER_PM1_STATUS,
 +                                      (u16)0x800);
 +      }
 +    }
 +    
 +    DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_8235, quirk_via_abnormal_poweroff);
 +    DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_8237, quirk_via_abnormal_poweroff);
 +    
 +    #endif
 +    
      /*
       * CardBus controllers have a legacy base address that enables them
       * to respond as i82365 pcmcia controllers.  We don't want them to
@@@@@@@ -990,11 -962,6 -990,11 -990,11 -990,11 -990,6 +990,11 @@@@@@@ static void __init asus_hides_smbus_hos
                        case 0x8070: /* P4G8X Deluxe */
                                asus_hides_smbus = 1;
                        }
 +   +          if (dev->device == PCI_DEVICE_ID_INTEL_E7501_MCH)
 +   +                  switch (dev->subsystem_device) {
 +   +                  case 0x80c9: /* PU-DLS */
 +   +                          asus_hides_smbus = 1;
 +   +                  }
                if (dev->device == PCI_DEVICE_ID_INTEL_82855GM_HB)
                        switch (dev->subsystem_device) {
                        case 0x1751: /* M2N notebook */
@@@@@@@ -1063,7 -1030,6 -1063,7 -1063,7 -1063,7 -1058,6 +1063,7 @@@@@@@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_
      DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL,     PCI_DEVICE_ID_INTEL_82850_HB,   asus_hides_smbus_hostbridge );
      DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL,     PCI_DEVICE_ID_INTEL_82865_HB,   asus_hides_smbus_hostbridge );
      DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL,     PCI_DEVICE_ID_INTEL_7205_0,     asus_hides_smbus_hostbridge );
 +   +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL,     PCI_DEVICE_ID_INTEL_E7501_MCH,  asus_hides_smbus_hostbridge );
      DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL,     PCI_DEVICE_ID_INTEL_82855PM_HB, asus_hides_smbus_hostbridge );
      DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL,     PCI_DEVICE_ID_INTEL_82855GM_HB, asus_hides_smbus_hostbridge );
      DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL,     PCI_DEVICE_ID_INTEL_82915GM_HB, asus_hides_smbus_hostbridge );
@@@@@@@ -1087,7 -1053,6 -1087,7 -1087,7 -1087,7 -1081,6 +1087,7 @@@@@@@ static void __init asus_hides_smbus_lpc
      }
      DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL,     PCI_DEVICE_ID_INTEL_82801DB_0,  asus_hides_smbus_lpc );
      DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL,     PCI_DEVICE_ID_INTEL_82801BA_0,  asus_hides_smbus_lpc );
 +   +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL,     PCI_DEVICE_ID_INTEL_82801CA_0,  asus_hides_smbus_lpc );
      DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL,     PCI_DEVICE_ID_INTEL_82801CA_12, asus_hides_smbus_lpc );
      DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL,     PCI_DEVICE_ID_INTEL_82801DB_12, asus_hides_smbus_lpc );
      DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL,     PCI_DEVICE_ID_INTEL_82801EB_0,  asus_hides_smbus_lpc );
@@@@@@@ -1209,55 -1174,6 -1209,55 -1209,55 -1209,55 -1202,55 +1209,55 @@@@@@@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_
      DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_SI,        PCI_DEVICE_ID_SI_963,           quirk_sis_96x_smbus );
      DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_SI,        PCI_DEVICE_ID_SI_LPC,           quirk_sis_96x_smbus );
      
 +    #if defined(CONFIG_SCSI_SATA) || defined(CONFIG_SCSI_SATA_MODULE)
 +    
 +    /*
 +     *        If we are using libata we can drive this chip properly but must
 +     *        do this early on to make the additional device appear during
 +     *        the PCI scanning.
 +     */
 +    
 +    static void __devinit quirk_jmicron_dualfn(struct pci_dev *pdev)
 +    {
 +      u32 conf;
 +      u8 hdr;
 +    
 +      /* Only poke fn 0 */
 +      if (PCI_FUNC(pdev->devfn))
 +              return;
 +    
 +      switch(pdev->device) {
 +              case PCI_DEVICE_ID_JMICRON_JMB365:
 +              case PCI_DEVICE_ID_JMICRON_JMB366:
 +                      /* Redirect IDE second PATA port to the right spot */
 +                      pci_read_config_dword(pdev, 0x80, &conf);
 +                      conf |= (1 << 24);
 +                      /* Fall through */
 +                      pci_write_config_dword(pdev, 0x80, conf);
 +              case PCI_DEVICE_ID_JMICRON_JMB361:
 +              case PCI_DEVICE_ID_JMICRON_JMB363:
 +                      pci_read_config_dword(pdev, 0x40, &conf);
 +                      /* Enable dual function mode, AHCI on fn 0, IDE fn1 */
 +                      /* Set the class codes correctly and then direct IDE 0 */
 +                      conf &= ~0x000F0200;    /* Clear bit 9 and 16-19 */
 +                      conf |=  0x00C20002;    /* Set bit 1, 17, 22, 23 */
 +                      pci_write_config_dword(pdev, 0x40, conf);
 +    
 +                      /* Reconfigure so that the PCI scanner discovers the
 +                         device is now multifunction */
 +    
 +                      pci_read_config_byte(pdev, PCI_HEADER_TYPE, &hdr);
 +                      pdev->hdr_type = hdr & 0x7f;
 +                      pdev->multifunction = !!(hdr & 0x80);
 +    
 +                      break;
 +      }
 +    }
 +    
 +    DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_JMICRON, PCI_ANY_ID, quirk_jmicron_dualfn);
 +    
 +    #endif
 +    
      #ifdef CONFIG_X86_IO_APIC
      static void __init quirk_alder_ioapic(struct pci_dev *pdev)
      {
@@@@@@@ -1425,37 -1341,6 -1425,37 -1425,37 -1425,37 -1418,37 +1425,37 @@@@@@@ DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_I
      DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_INTEL,      PCI_DEVICE_ID_INTEL_PXH_1,      quirk_pcie_pxh);
      DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_INTEL,      PCI_DEVICE_ID_INTEL_PXHV,       quirk_pcie_pxh);
      
 +    /*
 +     * Some Intel PCI Express chipsets have trouble with downstream
 +     * device power management.
 +     */
 +    static void quirk_intel_pcie_pm(struct pci_dev * dev)
 +    {
 +      pci_pm_d3_delay = 120;
 +      dev->no_d1d2 = 1;
 +    }
 +    
 +    DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL,      0x25e2, quirk_intel_pcie_pm);
 +    DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL,      0x25e3, quirk_intel_pcie_pm);
 +    DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL,      0x25e4, quirk_intel_pcie_pm);
 +    DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL,      0x25e5, quirk_intel_pcie_pm);
 +    DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL,      0x25e6, quirk_intel_pcie_pm);
 +    DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL,      0x25e7, quirk_intel_pcie_pm);
 +    DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL,      0x25f7, quirk_intel_pcie_pm);
 +    DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL,      0x25f8, quirk_intel_pcie_pm);
 +    DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL,      0x25f9, quirk_intel_pcie_pm);
 +    DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL,      0x25fa, quirk_intel_pcie_pm);
 +    DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL,      0x2601, quirk_intel_pcie_pm);
 +    DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL,      0x2602, quirk_intel_pcie_pm);
 +    DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL,      0x2603, quirk_intel_pcie_pm);
 +    DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL,      0x2604, quirk_intel_pcie_pm);
 +    DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL,      0x2605, quirk_intel_pcie_pm);
 +    DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL,      0x2606, quirk_intel_pcie_pm);
 +    DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL,      0x2607, quirk_intel_pcie_pm);
 +    DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL,      0x2608, quirk_intel_pcie_pm);
 +    DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL,      0x2609, quirk_intel_pcie_pm);
 +    DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL,      0x260a, quirk_intel_pcie_pm);
 +    DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL,      0x260b, quirk_intel_pcie_pm);
      
      /*
       * Fixup the cardbus bridges on the IBM Dock II docking station
@@@@@@@ -1518,6 -1403,6 -1518,6 -1518,6 -1518,6 -1511,63 +1518,63 @@@@@@@ static void __devinit quirk_netmos(stru
      }
      DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_NETMOS, PCI_ANY_ID, quirk_netmos);
      
+++++ static void __devinit quirk_e100_interrupt(struct pci_dev *dev)
+++++ {
+++++   u16 command;
+++++   u32 bar;
+++++   u8 __iomem *csr;
+++++   u8 cmd_hi;
+++++ 
+++++   switch (dev->device) {
+++++   /* PCI IDs taken from drivers/net/e100.c */
+++++   case 0x1029:
+++++   case 0x1030 ... 0x1034:
+++++   case 0x1038 ... 0x103E:
+++++   case 0x1050 ... 0x1057:
+++++   case 0x1059:
+++++   case 0x1064 ... 0x106B:
+++++   case 0x1091 ... 0x1095:
+++++   case 0x1209:
+++++   case 0x1229:
+++++   case 0x2449:
+++++   case 0x2459:
+++++   case 0x245D:
+++++   case 0x27DC:
+++++           break;
+++++   default:
+++++           return;
+++++   }
+++++ 
+++++   /*
+++++    * Some firmware hands off the e100 with interrupts enabled,
+++++    * which can cause a flood of interrupts if packets are
+++++    * received before the driver attaches to the device.  So
+++++    * disable all e100 interrupts here.  The driver will
+++++    * re-enable them when it's ready.
+++++    */
+++++   pci_read_config_word(dev, PCI_COMMAND, &command);
+++++   pci_read_config_dword(dev, PCI_BASE_ADDRESS_0, &bar);
+++++ 
+++++   if (!(command & PCI_COMMAND_MEMORY) || !bar)
+++++           return;
+++++ 
+++++   csr = ioremap(bar, 8);
+++++   if (!csr) {
+++++           printk(KERN_WARNING "PCI: Can't map %s e100 registers\n",
+++++                   pci_name(dev));
+++++           return;
+++++   }
+++++ 
+++++   cmd_hi = readb(csr + 3);
+++++   if (cmd_hi == 0) {
+++++           printk(KERN_WARNING "PCI: Firmware left %s e100 interrupts "
+++++                   "enabled, disabling\n", pci_name(dev));
+++++           writeb(1, csr + 3);
+++++   }
+++++ 
+++++   iounmap(csr);
+++++ }
+++++ DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_INTEL, PCI_ANY_ID, quirk_e100_interrupt);
      
      static void __devinit fixup_rev1_53c810(struct pci_dev* dev)
      {