trm290: add IDE_HFLAG_TRM290 host flag
authorBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Mon, 29 Dec 2008 19:27:34 +0000 (20:27 +0100)
committerBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Mon, 29 Dec 2008 19:27:34 +0000 (20:27 +0100)
* Add IDE_HFLAG_TRM290 host flag and use it in ide_build_dmatable().

* Remove no longer needed ide_trm290 chipset type.

Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
drivers/ide/ide-dma-sff.c
drivers/ide/ide-proc.c
drivers/ide/trm290.c
include/linux/ide.h

index cac431f0df1769eda7e4f2d7fe28d7f8914602db..1f2a5f56f81cae27faa753caef946ac532942b59 100644 (file)
@@ -98,10 +98,10 @@ int ide_build_dmatable(ide_drive_t *drive, struct request *rq)
 {
        ide_hwif_t *hwif = drive->hwif;
        __le32 *table = (__le32 *)hwif->dmatable_cpu;
-       unsigned int is_trm290  = (hwif->chipset == ide_trm290) ? 1 : 0;
        unsigned int count = 0;
        int i;
        struct scatterlist *sg;
+       u8 is_trm290 = !!(hwif->host_flags & IDE_HFLAG_TRM290);
 
        hwif->sg_nents = ide_build_sglist(drive, rq);
        if (hwif->sg_nents == 0)
index c2e6b8927bdcf04c14877da9e7a947b996e4576f..066d2317545bc3f3a960f005a1f8b88bb28af4db 100644 (file)
@@ -46,7 +46,6 @@ static int proc_ide_read_imodel
        case ide_qd65xx:        name = "qd65xx";        break;
        case ide_umc8672:       name = "umc8672";       break;
        case ide_ht6560b:       name = "ht6560b";       break;
-       case ide_trm290:        name = "trm290";        break;
        case ide_cy82c693:      name = "cy82c693";      break;
        case ide_4drives:       name = "4drives";       break;
        case ide_pmac:          name = "mac-io";        break;
index 75ea6152656663b6673c536e7903e4d2eb6bafda..2a5ea90cf8b8c0e4aefbac4f4ac04ea2e11afce1 100644 (file)
@@ -328,10 +328,10 @@ static struct ide_dma_ops trm290_dma_ops = {
 static const struct ide_port_info trm290_chipset __devinitdata = {
        .name           = DRV_NAME,
        .init_hwif      = init_hwif_trm290,
-       .chipset        = ide_trm290,
        .port_ops       = &trm290_port_ops,
        .dma_ops        = &trm290_dma_ops,
-       .host_flags     = IDE_HFLAG_NO_ATAPI_DMA |
+       .host_flags     = IDE_HFLAG_TRM290 |
+                         IDE_HFLAG_NO_ATAPI_DMA |
 #if 0 /* play it safe for now */
                          IDE_HFLAG_TRUST_BIOS_FOR_DMA |
 #endif
index 2574dda4a3e749f5b4d1f63eb4280daaa61bb75e..f62d35a5fb7183b0c8c055499c70a78b8a2b18ac 100644 (file)
@@ -170,7 +170,7 @@ typedef int (ide_ack_intr_t)(struct hwif_s *);
 enum {         ide_unknown,    ide_generic,    ide_pci,
                ide_cmd640,     ide_dtc2278,    ide_ali14xx,
                ide_qd65xx,     ide_umc8672,    ide_ht6560b,
-               ide_trm290,     ide_cy82c693,   ide_4drives,
+               ide_cy82c693,   ide_4drives,
                ide_pmac,       ide_acorn,
                ide_au1xxx,     ide_palm3710
 };
@@ -1372,6 +1372,8 @@ enum {
        IDE_HFLAG_LEGACY_IRQS           = (1 << 21),
        /* force use of legacy IRQs */
        IDE_HFLAG_FORCE_LEGACY_IRQS     = (1 << 22),
+       /* host is TRM290 */
+       IDE_HFLAG_TRM290                = (1 << 23),
        /* use 32-bit I/O ops */
        IDE_HFLAG_IO_32BIT              = (1 << 24),
        /* unmask IRQs */