/* Turn a config register offset into the right address in either PCI space or MMIO space to access the control register in question including accounting for the unit shift.  */
static unsigned long sil680_seldev(struct ata_port *ap, struct ata_device *adev, int r)
/* Turn a config register offset into the right address in either PCI space or MMIO space to access the control register in question including accounting for the unit shift.  */
static unsigned long sil680_seldev(struct ata_port *ap, struct ata_device *adev, int r)
{
	unsigned long base = 0xA0 + r;
	base += (ap->port_no << 4);
	base |= adev->devno ? 2 : 0;
	return base;
}