return pci_dev_present(pci_default) ? 33 : 50;
}
-static struct resource* hwif_request_region(ide_hwif_t *hwif,
- unsigned long addr, int num)
-{
- struct resource *res = request_region(addr, num, hwif->name);
-
- if (!res)
- printk(KERN_ERR "%s: I/O resource 0x%lX-0x%lX not free.\n",
- hwif->name, addr, addr+num-1);
- return res;
-}
-
-/**
- * ide_hwif_request_regions - request resources for IDE
- * @hwif: interface to use
- *
- * Requests all the needed resources for an interface.
- * Right now core IDE code does this work which is deeply wrong.
- * MMIO leaves it to the controller driver,
- * PIO will migrate this way over time.
- */
-
-int ide_hwif_request_regions(ide_hwif_t *hwif)
-{
- unsigned long addr;
-
- if (hwif->mmio)
- return 0;
-
- addr = hwif->io_ports[IDE_CONTROL_OFFSET];
-
- if (addr && !hwif_request_region(hwif, addr, 1))
- goto control_region_busy;
-
- addr = hwif->io_ports[IDE_DATA_OFFSET];
- BUG_ON((addr | 7) != hwif->io_ports[IDE_STATUS_OFFSET]);
-
- if (!hwif_request_region(hwif, addr, 8))
- goto data_region_busy;
-
- return 0;
-
-data_region_busy:
- addr = hwif->io_ports[IDE_CONTROL_OFFSET];
- if (addr)
- release_region(addr, 1);
-control_region_busy:
- /* If any errors are return, we drop the hwif interface. */
- return -EBUSY;
-}
-
void ide_remove_port_from_hwgroup(ide_hwif_t *hwif)
{
ide_hwgroup_t *hwgroup = hwif->hwgroup;