]> err.no Git - linux-2.6/blobdiff - drivers/ide/legacy/ide_platform.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6
[linux-2.6] / drivers / ide / legacy / ide_platform.c
index 822f48b05c702b5b9a177ebe559681486187271b..d3bc3f24e05d07e52f079121117a672b11de0146 100644 (file)
@@ -30,14 +30,14 @@ static void __devinit plat_ide_setup_ports(hw_regs_t *hw,
        unsigned long port = (unsigned long)base;
        int i;
 
-       hw->io_ports[IDE_DATA_OFFSET] = port;
+       hw->io_ports.data_addr = port;
 
        port += (1 << pdata->ioport_shift);
-       for (i = IDE_ERROR_OFFSET; i <= IDE_STATUS_OFFSET;
+       for (i = 1; i <= 7;
             i++, port += (1 << pdata->ioport_shift))
-               hw->io_ports[i] = port;
+               hw->io_ports_array[i] = port;
 
-       hw->io_ports[IDE_CONTROL_OFFSET] = (unsigned long)ctrl;
+       hw->io_ports.ctl_addr = (unsigned long)ctrl;
 
        hw->irq = irq;
 
@@ -101,8 +101,10 @@ static int __devinit plat_ide_probe(struct platform_device *pdev)
 
        ide_init_port_hw(hwif, &hw);
 
-       if (mmio)
+       if (mmio) {
+               hwif->host_flags = IDE_HFLAG_MMIO;
                default_hwif_mmiops(hwif);
+       }
 
        idx[0] = hwif->index;
 
@@ -120,7 +122,7 @@ static int __devexit plat_ide_remove(struct platform_device *pdev)
 {
        ide_hwif_t *hwif = pdev->dev.driver_data;
 
-       ide_unregister(hwif->index);
+       ide_unregister(hwif);
 
        return 0;
 }