/* Called when the PCI registration layer (or the IDE initialization) finds a device matching our IDE device tables.  */
static int __devinit pdc202xx_init_one(struct pci_dev *dev, const struct pci_device_id *id)
/* Called when the PCI registration layer (or the IDE initialization) finds a device matching our IDE device tables.  */
static int __devinit pdc202xx_init_one(struct pci_dev *dev, const struct pci_device_id *id)
{
	const struct ide_port_info *d;
	u8 idx = id->driver_data;
	d = &pdc202xx_chipsets[idx];
	if (idx < 2)
		pdc202ata4_fixup_irq(dev, d->name);
	if (dev->vendor == PCI_DEVICE_ID_PROMISE_20265) {
		struct pci_dev *bridge = dev->bus->self;
		if (bridge &&
		    bridge->vendor == PCI_VENDOR_ID_INTEL &&
		    (bridge->device == PCI_DEVICE_ID_INTEL_I960 ||
		     bridge->device == PCI_DEVICE_ID_INTEL_I960RM)) {
			printk(KERN_INFO DRV_NAME " %s: skipping Promise "
				"PDC20265 attached to I2O RAID controller\n",
				pci_name(dev));
			return -ENODEV;
		}
	}
	return ide_pci_init_one(dev, d, NULL);
}