if (!address) { dev_err(&dev->dev,"No SiS 5595 sensors found.\n"); return -ENODEV; }
static int __devinit sis5595_pci_probe(struct pci_dev *dev,				       const struct pci_device_id *id){	u16 val;	int *i;	for (i = blacklist; *i != 0; i++) {		struct pci_dev *dev;		dev = pci_get_device(PCI_VENDOR_ID_SI, *i, NULL);		if (dev) {			dev_err(&dev->dev, "Looked for SIS5595 but found unsupported device %.4x\n", *i);			pci_dev_put(dev);			return -ENODEV;		}	}		if (PCIBIOS_SUCCESSFUL !=	    pci_read_config_word(dev, SIS5595_BASE_REG, &val))		return -ENODEV;		address = val & ~(SIS5595_EXTENT - 1);	if (address == 0 && force_addr == 0) {		dev_err(&dev->dev, "Base address not set - upgrade BIOS or use force_addr=0xaddr\n");		return -ENODEV;	}	if (!address) {		dev_err(&dev->dev,"No SiS 5595 sensors found.\n");		return -ENODEV;	}	s_bridge = pci_dev_get(dev);	if (i2c_isa_add_driver(&sis5595_driver)) {		pci_dev_put(s_bridge);		s_bridge = NULL;	}	/* Always return failure here.  This is to allow other drivers to bind	 * to this pci device.  We don't really want to have control over the	 * pci device, we only wanted to read as few register values from it.	 */	return -ENODEV;}