This commit was manufactured by cvs2svn to create tag
[linux-2.6.git] / drivers / pci / quirks.c
index 6e7c350..b82a1c3 100644 (file)
@@ -694,43 +694,28 @@ static int __initdata asus_hides_smbus = 0;
 
 static void __init asus_hides_smbus_hostbridge(struct pci_dev *dev)
 {
-       if (unlikely(dev->subsystem_vendor == PCI_VENDOR_ID_ASUSTEK)) {
-               if (dev->device == PCI_DEVICE_ID_INTEL_82845_HB)
-                       switch(dev->subsystem_device) {
-                       case 0x8070: /* P4B */
-                       case 0x8088: /* P4B533 */
-                               asus_hides_smbus = 1;
-                       }
-               if (dev->device == PCI_DEVICE_ID_INTEL_82845G_HB)
-                       switch(dev->subsystem_device) {
-                       case 0x80b1: /* P4GE-V */
-                       case 0x80b2: /* P4PE */
-                       case 0x8093: /* P4B533-V */
-                               asus_hides_smbus = 1;
-                       }
-               if (dev->device == PCI_DEVICE_ID_INTEL_82850_HB)
-                       switch(dev->subsystem_device) {
-                       case 0x8030: /* P4T533 */
-                               asus_hides_smbus = 1;
-                       }
-               if (dev->device == PCI_DEVICE_ID_INTEL_7205_0)
-                       switch (dev->subsystem_device) {
-                       case 0x8070: /* P4G8X Deluxe */
-                               asus_hides_smbus = 1;
-                       }
-               if (dev->device == PCI_DEVICE_ID_INTEL_82855GM_HB)
-                       switch (dev->subsystem_device) {
-                       case 0x1751: /* M2N notebook */
-                               asus_hides_smbus = 1;
-                       }
-       } else if (unlikely(dev->subsystem_vendor == PCI_VENDOR_ID_HP)) {
-               if (dev->device ==  PCI_DEVICE_ID_INTEL_82855PM_HB)
-                       switch(dev->subsystem_device) {
-                       case 0x088C: /* HP Compaq nc8000 */
-                       case 0x0890: /* HP Compaq nc6000 */
-                               asus_hides_smbus = 1;
-                       }
-       }
+       if (likely(dev->subsystem_vendor != PCI_VENDOR_ID_ASUSTEK))
+               return;
+
+       if (dev->device == PCI_DEVICE_ID_INTEL_82845_HB)
+               switch(dev->subsystem_device) {
+               case 0x8070: /* P4B */
+               case 0x8088: /* P4B533 */
+                       asus_hides_smbus = 1;
+               }
+       if (dev->device == PCI_DEVICE_ID_INTEL_82845G_HB)
+               switch(dev->subsystem_device) {
+               case 0x80b2: /* P4PE */
+               case 0x8093: /* P4B533-V */
+                       asus_hides_smbus = 1;
+               }
+       if ((dev->device == PCI_DEVICE_ID_INTEL_82850_HB) &&
+           (dev->subsystem_device == 0x8030)) /* P4T533 */
+               asus_hides_smbus = 1;
+       if ((dev->device == PCI_DEVICE_ID_INTEL_7205_0) &&
+           (dev->subsystem_device == 0x8070)) /* P4G8X Deluxe */
+               asus_hides_smbus = 1;
+       return;
 }
 
 static void __init asus_hides_smbus_lpc(struct pci_dev *dev)
@@ -831,7 +816,6 @@ static void __init quirk_alder_ioapic(struct pci_dev *pdev)
 static void __init quirk_intel_ide_combined(struct pci_dev *pdev)
 {
        u8 prog, comb, tmp;
-       int ich = 0;
 
        /*
         * Narrow down to Intel SATA PCI devices.
@@ -842,12 +826,8 @@ static void __init quirk_intel_ide_combined(struct pci_dev *pdev)
        case 0x24df:
        case 0x25a3:
        case 0x25b0:
-               ich = 5;
-               break;
        case 0x2651:
        case 0x2652:
-       case 0x2653:
-               ich = 6;
                break;
        default:
                /* we do not handle this PCI device */
@@ -858,25 +838,13 @@ static void __init quirk_intel_ide_combined(struct pci_dev *pdev)
         * Read combined mode register.
         */
        pci_read_config_byte(pdev, 0x90, &tmp); /* combined mode reg */
-
-       if (ich == 5) {
-               tmp &= 0x6;  /* interesting bits 2:1, PATA primary/secondary */
-               if (tmp == 0x4)         /* bits 10x */
-                       comb = (1 << 0);        /* SATA port 0, PATA port 1 */
-               else if (tmp == 0x6)    /* bits 11x */
-                       comb = (1 << 2);        /* PATA port 0, SATA port 1 */
-               else
-                       return;                 /* not in combined mode */
-       } else {
-               WARN_ON(ich != 6);
-               tmp &= 0x3;  /* interesting bits 1:0 */
-               if (tmp & (1 << 0))
-                       comb = (1 << 2);        /* PATA port 0, SATA port 1 */
-               else if (tmp & (1 << 1))
-                       comb = (1 << 0);        /* SATA port 0, PATA port 1 */
-               else
-                       return;                 /* not in combined mode */
-       }
+       tmp &= 0x6;     /* interesting bits 2:1, PATA primary/secondary */
+       if (tmp == 0x4)         /* bits 10x */
+               comb = (1 << 0);                /* SATA port 0, PATA port 1 */
+       else if (tmp == 0x6)    /* bits 11x */
+               comb = (1 << 2);                /* PATA port 0, SATA port 1 */
+       else
+               return;                         /* not in combined mode */
 
        /*
         * Read programming interface register.
@@ -1018,17 +986,13 @@ static struct pci_fixup pci_fixups[] __devinitdata = {
 
        /*
         * on Asus P4B boards, the i801SMBus device is disabled at startup.
-        * this also goes for boards in HP Compaq nc6000 and nc8000 notebooks.
         */
        { PCI_FIXUP_HEADER,     PCI_VENDOR_ID_INTEL,    PCI_DEVICE_ID_INTEL_82845_HB,   asus_hides_smbus_hostbridge },
        { PCI_FIXUP_HEADER,     PCI_VENDOR_ID_INTEL,    PCI_DEVICE_ID_INTEL_82845G_HB,  asus_hides_smbus_hostbridge },
        { PCI_FIXUP_HEADER,     PCI_VENDOR_ID_INTEL,    PCI_DEVICE_ID_INTEL_82850_HB,   asus_hides_smbus_hostbridge },
        { PCI_FIXUP_HEADER,     PCI_VENDOR_ID_INTEL,    PCI_DEVICE_ID_INTEL_7205_0,     asus_hides_smbus_hostbridge },
-       { PCI_FIXUP_HEADER,     PCI_VENDOR_ID_INTEL,    PCI_DEVICE_ID_INTEL_82855PM_HB, asus_hides_smbus_hostbridge },
-       { PCI_FIXUP_HEADER,     PCI_VENDOR_ID_INTEL,    PCI_DEVICE_ID_INTEL_82855GM_HB, asus_hides_smbus_hostbridge },
        { PCI_FIXUP_HEADER,     PCI_VENDOR_ID_INTEL,    PCI_DEVICE_ID_INTEL_82801DB_0,  asus_hides_smbus_lpc },
        { PCI_FIXUP_HEADER,     PCI_VENDOR_ID_INTEL,    PCI_DEVICE_ID_INTEL_82801BA_0,  asus_hides_smbus_lpc },
-       { PCI_FIXUP_HEADER,     PCI_VENDOR_ID_INTEL,    PCI_DEVICE_ID_INTEL_82801DB_12, asus_hides_smbus_lpc },
 
 #ifdef CONFIG_SCSI_SATA
        /* Fixup BIOSes that configure Parallel ATA (PATA / IDE) and