- patches.drivers/libata-prefer-over-ide: Delete.
authorJeff Mahoney <jeffm@suse.de>
Tue, 23 Mar 2010 14:46:01 +0000 (10:46 -0400)
committerJeff Mahoney <jeffm@suse.de>
Tue, 23 Mar 2010 14:51:02 +0000 (10:51 -0400)
- patches.drivers/libata-ahci-aspire-3810t-noncq: Delete.
- patches.drivers/libata-ata_piix-clear-spurious-IRQ: Delete.
- patches.suse/block-add-mangle-devt-switch: Delete.

suse-commit: c4102b14bee4fae3aa5ea0666e2be8441216f17b

block/genhd.c
drivers/Makefile
drivers/ata/ahci.c
drivers/ata/ata_piix.c
drivers/ide/ide-gd.c
drivers/scsi/sd.c
include/linux/genhd.h

index 2f2d6bf..41ae328 100644 (file)
@@ -37,12 +37,6 @@ static DEFINE_IDR(ext_devt_idr);
 
 static struct device_type disk_type;
 
-#ifdef CONFIG_DEBUG_BLOCK_EXT_DEVT
-int blk_mangle_devt;
-module_param_named(mangle_devt, blk_mangle_devt, bool, 0444);
-EXPORT_SYMBOL_GPL(blk_mangle_devt);
-#endif
-
 /**
  * disk_get_part - get partition
  * @disk: disk to look partition from
@@ -380,9 +374,6 @@ static int blk_mangle_minor(int minor)
 #ifdef CONFIG_DEBUG_BLOCK_EXT_DEVT
        int i;
 
-       if (!blk_mangle_devt)
-               return minor;
-
        for (i = 0; i < MINORBITS / 2; i++) {
                int low = minor & (1 << i);
                int high = minor & (1 << (MINORBITS - 1 - i));
index 4119f89..b4ad6d2 100644 (file)
@@ -33,11 +33,11 @@ obj-$(CONFIG_PARPORT)               += parport/
 obj-y                          += base/ block/ misc/ mfd/
 obj-$(CONFIG_NUBUS)            += nubus/
 obj-y                          += macintosh/
+obj-$(CONFIG_IDE)              += ide/
 obj-$(CONFIG_SCSI)             += scsi/
 obj-$(CONFIG_ATA)              += ata/
 obj-$(CONFIG_MTD)              += mtd/
 obj-$(CONFIG_SPI)              += spi/
-obj-$(CONFIG_IDE)              += ide/
 obj-y                          += net/
 
 # gpu/ comes after char for AGP vs DRM startup
index 1174b03..fdc9bcb 100644 (file)
@@ -3006,37 +3006,6 @@ enable_64bit:
        return true;
 }
 
-static void ahci_aspire_3810t_workaround(struct ata_host *host)
-{
-       static const struct dmi_system_id sysids[] = {
-               /*
-                * Aspire 3810T issues a bunch of SATA enable commands
-                * via _GTF including an invalid one and one which is
-                * rejected by the device.  Among the successful ones
-                * is FPDMA non-zero offset enable which when enabled
-                * only on the drive side leads to NCQ command
-                * failures.  Disable NCQ.
-                */
-               {
-                       .ident = "Aspire 3810T",
-                       .matches = {
-                               DMI_MATCH(DMI_SYS_VENDOR, "Acer"),
-                               DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 3810T"),
-                       },
-               },
-               { }
-       };
-       int i;
-
-       if (dmi_check_system(sysids)) {
-               dev_printk(KERN_INFO, host->dev,
-                          "Aspire 3810T detected, disabling NCQ\n");
-
-               for (i = 0; i < host->n_ports; i++)
-                       host->ports[i]->flags &= ~ATA_FLAG_NCQ;
-       }
-}
-
 static bool ahci_broken_system_poweroff(struct pci_dev *pdev)
 {
        static const struct dmi_system_id broken_systems[] = {
@@ -3439,8 +3408,6 @@ static int ahci_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
        /* apply gtf filter quirk */
        ahci_gtf_filter_workaround(host);
 
-       ahci_aspire_3810t_workaround(host);
-
        /* initialize adapter */
        rc = ahci_configure_dma_masks(pdev, hpriv->cap & HOST_CAP_64);
        if (rc)
index e559565..c338066 100644 (file)
@@ -959,58 +959,6 @@ static int piix_sidpr_scr_read(struct ata_link *link,
        return 0;
 }
 
-static irqreturn_t piix_interrupt(int irq, void *dev_instance)
-{
-       struct ata_host *host = dev_instance;
-       unsigned int i;
-       unsigned int handled = 0;
-       unsigned long flags;
-
-       spin_lock_irqsave(&host->lock, flags);
-
-       for (i = 0; i < host->n_ports; i++) {
-               struct ata_port *ap = host->ports[i];
-               struct ata_queued_cmd *qc;
-               u8 host_stat;
-
-               if (ata_port_is_dummy(ap))
-                       continue;
-
-               qc = ata_qc_from_tag(ap, ap->link.active_tag);
-               if (qc && !(qc->tf.flags & ATA_TFLAG_POLLING)) {
-                       handled |= ata_sff_host_intr(ap, qc);
-                       continue;
-               }
-
-               /*
-                * Control reaches here if HSM is not expecting IRQ.
-                * If the controller is actually asserting IRQ line,
-                * this will lead to nobody cared.  Fortuantely,
-                * DMA_INTR of PIIX is set whenever IDEIRQ is set so
-                * it can be used to detect spurious IRQs.  As the
-                * driver is not expecting IRQ at all, clearing IRQ
-                * here won't lead to loss of IRQ event.
-                */
-               if (unlikely(!ap->ioaddr.bmdma_addr))
-                       continue;
-
-               host_stat = ap->ops->bmdma_status(ap);
-               if (!(host_stat & ATA_DMA_INTR))
-                       continue;
-
-               if (printk_ratelimit())
-                       ata_port_printk(ap, KERN_INFO,
-                                       "clearing spurious IRQ\n");
-               ap->ops->sff_check_status(ap);
-               ap->ops->sff_irq_clear(ap);
-               handled |= 1;
-       }
-
-       spin_unlock_irqrestore(&host->lock, flags);
-
-       return IRQ_RETVAL(handled);
-}
-
 static int piix_sidpr_scr_write(struct ata_link *link,
                                unsigned int reg, u32 val)
 {
@@ -1677,7 +1625,7 @@ static int __devinit piix_init_one(struct pci_dev *pdev,
        host->flags |= ATA_HOST_PARALLEL_SCAN;
 
        pci_set_master(pdev);
-       return ata_pci_sff_activate_host(host, piix_interrupt, &piix_sht);
+       return ata_pci_sff_activate_host(host, ata_sff_interrupt, &piix_sht);
 }
 
 static void piix_remove_one(struct pci_dev *pdev)
index 540e8f0..7532414 100644 (file)
@@ -9,7 +9,11 @@
 #include <linux/hdreg.h>
 #include <linux/dmi.h>
 
+#if !defined(CONFIG_DEBUG_BLOCK_EXT_DEVT)
 #define IDE_DISK_MINORS                (1 << PARTN_BITS)
+#else
+#define IDE_DISK_MINORS                0
+#endif
 
 #include "ide-disk.h"
 #include "ide-floppy.h"
@@ -362,8 +366,7 @@ static int ide_gd_probe(ide_drive_t *drive)
                goto failed;
        }
 
-       g = alloc_disk_node(blk_mangle_devt ? 0 : IDE_DISK_MINORS,
-                           hwif_to_node(drive->hwif));
+       g = alloc_disk_node(IDE_DISK_MINORS, hwif_to_node(drive->hwif));
        if (!g)
                goto out_free_idkp;
 
@@ -390,7 +393,7 @@ static int ide_gd_probe(ide_drive_t *drive)
 
        set_capacity(g, ide_gd_capacity(drive));
 
-       g->minors = blk_mangle_devt ? 0 : IDE_DISK_MINORS;
+       g->minors = IDE_DISK_MINORS;
        g->driverfs_dev = &drive->gendev;
        g->flags |= GENHD_FL_EXT_DEVT;
        if (drive->dev_flags & IDE_DFLAG_REMOVABLE)
index 917c0a3..b37907c 100644 (file)
@@ -89,7 +89,11 @@ MODULE_ALIAS_SCSI_DEVICE(TYPE_DISK);
 MODULE_ALIAS_SCSI_DEVICE(TYPE_MOD);
 MODULE_ALIAS_SCSI_DEVICE(TYPE_RBC);
 
+#if !defined(CONFIG_DEBUG_BLOCK_EXT_DEVT)
 #define SD_MINORS      16
+#else
+#define SD_MINORS      0
+#endif
 
 static int  sd_revalidate_disk(struct gendisk *);
 static int  sd_probe(struct device *);
@@ -2159,7 +2163,7 @@ static void sd_probe_async(void *data, async_cookie_t cookie)
        if (index < SD_MAX_DISKS) {
                gd->major = sd_major((index & 0xf0) >> 4);
                gd->first_minor = ((index & 0xf) << 4) | (index & 0xfff00);
-               gd->minors = blk_mangle_devt ? 0 : SD_MINORS;
+               gd->minors = SD_MINORS;
        }
        gd->fops = &sd_fops;
        gd->private_data = &sdkp->driver;
@@ -2233,7 +2237,7 @@ static int sd_probe(struct device *dev)
        if (!sdkp)
                goto out;
 
-       gd = alloc_disk(blk_mangle_devt ? 0 : SD_MINORS);
+       gd = alloc_disk(SD_MINORS);
        if (!gd)
                goto out_free;
 
index 7a8a0bb..360df61 100644 (file)
@@ -25,12 +25,6 @@ extern struct device_type part_type;
 extern struct kobject *block_depr;
 extern struct class block_class;
 
-#ifdef CONFIG_DEBUG_BLOCK_EXT_DEVT
-extern int blk_mangle_devt;
-#else
-#define blk_mangle_devt                0
-#endif
-
 enum {
 /* These three have identical behaviour; use the second one if DOS FDISK gets
    confused about extended/logical partitions starting past cylinder 1023. */