Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1c51361a9867021dd7444b56d87834003d4ca67d
Commit:     1c51361a9867021dd7444b56d87834003d4ca67d
Parent:     ed67b92385a5afddc98d5ff0894b2854c4a54dac
Author:     Bartlomiej Zolnierkiewicz <[EMAIL PROTECTED]>
AuthorDate: Fri Oct 19 00:30:10 2007 +0200
Committer:  Bartlomiej Zolnierkiewicz <[EMAIL PROTECTED]>
CommitDate: Fri Oct 19 00:30:10 2007 +0200

    ide: add IDE_HFLAG_SERIALIZE host flag
    
    Add IDE_HFLAG_SERIALIZE host flag to tell ide_pci_setup_ports() to set
    hwif/mate->serialized and convert aec62xx, cs5530 and sc1200 host drivers
    to use it.
    
    Signed-off-by: Bartlomiej Zolnierkiewicz <[EMAIL PROTECTED]>
---
 drivers/ide/pci/aec62xx.c |   10 +++++-----
 drivers/ide/pci/cs5530.c  |    7 +++----
 drivers/ide/pci/sc1200.c  |    7 +++----
 drivers/ide/setup-pci.c   |    3 +++
 include/linux/ide.h       |    2 ++
 5 files changed, 16 insertions(+), 13 deletions(-)

diff --git a/drivers/ide/pci/aec62xx.c b/drivers/ide/pci/aec62xx.c
index be0d077..f3912aa 100644
--- a/drivers/ide/pci/aec62xx.c
+++ b/drivers/ide/pci/aec62xx.c
@@ -187,11 +187,9 @@ static void __devinit init_hwif_aec62xx(ide_hwif_t *hwif)
 
        hwif->set_pio_mode = &aec_set_pio_mode;
 
-       if (dev->device == PCI_DEVICE_ID_ARTOP_ATP850UF) {
-               if(hwif->mate)
-                       hwif->mate->serialized = hwif->serialized = 1;
+       if (dev->device == PCI_DEVICE_ID_ARTOP_ATP850UF)
                hwif->set_dma_mode = &aec6210_set_mode;
-       } else
+       else
                hwif->set_dma_mode = &aec6260_set_mode;
 
        hwif->drives[0].autotune = hwif->drives[1].autotune = 1;
@@ -219,7 +217,9 @@ static ide_pci_device_t aec62xx_chipsets[] __devinitdata = {
                .init_chipset   = init_chipset_aec62xx,
                .init_hwif      = init_hwif_aec62xx,
                .enablebits     = {{0x4a,0x02,0x02}, {0x4a,0x04,0x04}},
-               .host_flags     = IDE_HFLAG_NO_ATAPI_DMA | IDE_HFLAG_OFF_BOARD,
+               .host_flags     = IDE_HFLAG_SERIALIZE |
+                                 IDE_HFLAG_NO_ATAPI_DMA |
+                                 IDE_HFLAG_OFF_BOARD,
                .pio_mask       = ATA_PIO4,
                .mwdma_mask     = ATA_MWDMA2,
                .udma_mask      = ATA_UDMA2,
diff --git a/drivers/ide/pci/cs5530.c b/drivers/ide/pci/cs5530.c
index 5e77a3d..0324a8a 100644
--- a/drivers/ide/pci/cs5530.c
+++ b/drivers/ide/pci/cs5530.c
@@ -245,9 +245,6 @@ static void __devinit init_hwif_cs5530 (ide_hwif_t *hwif)
        unsigned long basereg;
        u32 d0_timings;
 
-       if (hwif->mate)
-               hwif->serialized = hwif->mate->serialized = 1;
-
        hwif->set_pio_mode = &cs5530_set_pio_mode;
        hwif->set_dma_mode = &cs5530_set_dma_mode;
 
@@ -271,7 +268,9 @@ static ide_pci_device_t cs5530_chipset __devinitdata = {
        .name           = "CS5530",
        .init_chipset   = init_chipset_cs5530,
        .init_hwif      = init_hwif_cs5530,
-       .host_flags     = IDE_HFLAG_POST_SET_MODE | IDE_HFLAG_BOOTABLE,
+       .host_flags     = IDE_HFLAG_SERIALIZE |
+                         IDE_HFLAG_POST_SET_MODE |
+                         IDE_HFLAG_BOOTABLE,
        .pio_mask       = ATA_PIO4,
        .mwdma_mask     = ATA_MWDMA2,
        .udma_mask      = ATA_UDMA2,
diff --git a/drivers/ide/pci/sc1200.c b/drivers/ide/pci/sc1200.c
index 252b12f..2471a6d 100644
--- a/drivers/ide/pci/sc1200.c
+++ b/drivers/ide/pci/sc1200.c
@@ -362,9 +362,6 @@ static int sc1200_resume (struct pci_dev *dev)
  */
 static void __devinit init_hwif_sc1200 (ide_hwif_t *hwif)
 {
-       if (hwif->mate)
-               hwif->serialized = hwif->mate->serialized = 1;
-
        hwif->set_pio_mode = &sc1200_set_pio_mode;
        hwif->set_dma_mode = &sc1200_set_dma_mode;
 
@@ -381,7 +378,9 @@ static void __devinit init_hwif_sc1200 (ide_hwif_t *hwif)
 static ide_pci_device_t sc1200_chipset __devinitdata = {
        .name           = "SC1200",
        .init_hwif      = init_hwif_sc1200,
-       .host_flags     = IDE_HFLAG_ABUSE_DMA_MODES | IDE_HFLAG_POST_SET_MODE |
+       .host_flags     = IDE_HFLAG_SERIALIZE |
+                         IDE_HFLAG_POST_SET_MODE |
+                         IDE_HFLAG_ABUSE_DMA_MODES |
                          IDE_HFLAG_BOOTABLE,
        .pio_mask       = ATA_PIO4,
        .mwdma_mask     = ATA_MWDMA2,
diff --git a/drivers/ide/setup-pci.c b/drivers/ide/setup-pci.c
index 1da9935..aae4806 100644
--- a/drivers/ide/setup-pci.c
+++ b/drivers/ide/setup-pci.c
@@ -565,6 +565,9 @@ void ide_pci_setup_ports(struct pci_dev *dev, 
ide_pci_device_t *d, int pciirq, a
                hwif->host_flags = d->host_flags;
                hwif->pio_mask = d->pio_mask;
 
+               if ((d->host_flags & IDE_HFLAG_SERIALIZE) && hwif->mate)
+                       hwif->mate->serialized = hwif->serialized = 1;
+
                if (hwif->dma_base) {
                        hwif->swdma_mask = d->swdma_mask;
                        hwif->mwdma_mask = d->mwdma_mask;
diff --git a/include/linux/ide.h b/include/linux/ide.h
index b12510d..659b60a 100644
--- a/include/linux/ide.h
+++ b/include/linux/ide.h
@@ -1257,6 +1257,8 @@ enum {
        IDE_HFLAG_NO_LBA48_DMA          = (1 << 18),
        /* data FIFO is cleared by an error */
        IDE_HFLAG_ERROR_STOPS_FIFO      = (1 << 19),
+       /* serialize ports */
+       IDE_HFLAG_SERIALIZE             = (1 << 20),
 };
 
 #ifdef CONFIG_BLK_DEV_OFFBOARD
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to