Exemplo n.º 1
0
static int __devinit
sgiioc4_init_one(struct pci_dev *dev, const struct pci_device_id *id)
{
	unsigned int class_rev;
	ide_pci_device_t *d = &sgiioc4_chipsets[id->driver_data];
	if (dev->device != d->device) {
		printk(KERN_ERR "Error in sgiioc4_init_one(dev 0x%p | id 0x%p )\n", (void *) dev, (void *) id);
		BUG();
	}

	pci_read_config_dword(dev, PCI_CLASS_REVISION, &class_rev);
	class_rev &= 0xff;

	if (class_rev < IOC4_SUPPORTED_FIRMWARE_REV) {
		printk(KERN_INFO "Disabling the IOC4 IDE Part due to unsupported Firmware Rev (%d). \n",class_rev);
		printk(KERN_INFO "Please upgrade to Firmware Rev 46 or higher \n");
		return 0;
	}

	printk(KERN_INFO "%s: IDE controller at PCI slot %s\n", d->name, dev->slot_name);

	if (pci_init_sgiioc4(dev, d->name))
		return 0;

	MOD_INC_USE_COUNT;

	return 0;
}
Exemplo n.º 2
0
int __devinit ioc4_ide_attach_one(struct ioc4_driver_data *idd)
{
	/*
	 * PCI-RT does not bring out IDE connection.
	 * Do not attach to this particular IOC4.
	 */
	if (idd->idd_variant == IOC4_VARIANT_PCI_RT)
		return 0;

	return pci_init_sgiioc4(idd->idd_pdev);
}
Exemplo n.º 3
0
int
ioc4_ide_attach_one(struct ioc4_driver_data *idd)
{
	return pci_init_sgiioc4(idd->idd_pdev,
				&sgiioc4_chipsets[idd->idd_pci_id->driver_data]);
}
Exemplo n.º 4
0
static int __devinit
sgiioc4_init_one(struct pci_dev *dev, const struct pci_device_id *id)
{
	pci_init_sgiioc4(dev, &sgiioc4_chipsets[id->driver_data]);
	return 0;
}