Add IDE_HFLAG_4DRIVES host flag and use it instead of ide_4drives
chipset type in ide_init_port().
There should be no functional changes caused by this patch.
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
 
 static const struct ide_port_info ide_4drives_port_info = {
        .port_ops               = &ide_4drives_port_ops,
-       .host_flags             = IDE_HFLAG_SERIALIZE | IDE_HFLAG_NO_DMA,
+       .host_flags             = IDE_HFLAG_SERIALIZE | IDE_HFLAG_NO_DMA |
+                                 IDE_HFLAG_4DRIVES,
 };
 
 static int __init ide_4drives_init(void)
 
                if (ide_probe_port(hwif) == 0)
                        hwif->present = 1;
 
-               if (hwif->chipset != ide_4drives || !hwif->mate ||
-                   !hwif->mate->present) {
+               if ((hwif->host_flags & IDE_HFLAG_4DRIVES) == 0 ||
+                   hwif->mate == NULL || hwif->mate->present == 0) {
                        if (ide_register_port(hwif)) {
                                ide_disable_port(hwif);
                                continue;
 
        IDE_HFLAG_SERIALIZE             = (1 << 20),
        /* host is DTC2278 */
        IDE_HFLAG_DTC2278               = (1 << 21),
+       /* 4 devices on a single set of I/O ports */
+       IDE_HFLAG_4DRIVES               = (1 << 22),
        /* host is TRM290 */
        IDE_HFLAG_TRM290                = (1 << 23),
        /* use 32-bit I/O ops */