memset(smbus, 0, sizeof(struct amd_smbus)); 
static int __devinit amd8111_probe(struct pci_dev *dev, const struct pci_device_id *id){	struct amd_smbus *smbus;	int error = -ENODEV;	if (~pci_resource_flags(dev, 0) & IORESOURCE_IO)		return -ENODEV;	smbus = kmalloc(sizeof(struct amd_smbus), GFP_KERNEL);	if (!smbus)		return -ENOMEM;	memset(smbus, 0, sizeof(struct amd_smbus));	smbus->dev = dev;	smbus->base = pci_resource_start(dev, 0);	smbus->size = pci_resource_len(dev, 0);	if (!request_region(smbus->base, smbus->size, amd8111_driver.name))		goto out_kfree;	smbus->adapter.owner = THIS_MODULE;	snprintf(smbus->adapter.name, I2C_NAME_SIZE,		"SMBus2 AMD8111 adapter at %04x", smbus->base);	smbus->adapter.class = I2C_CLASS_HWMON;	smbus->adapter.algo = &smbus_algorithm;	smbus->adapter.algo_data = smbus;	/* set up the driverfs linkage to our parent device */	smbus->adapter.dev.parent = &dev->dev;	error = i2c_add_adapter(&smbus->adapter);	if (error)		goto out_release_region;	pci_write_config_dword(smbus->dev, AMD_PCI_MISC, 0);	pci_set_drvdata(dev, smbus);	return 0; out_release_region:	release_region(smbus->base, smbus->size); out_kfree:	kfree(smbus);	return -1;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/5263ebb51eb098b01caf229498c954999117e4a7/i2c-amd8111.c/buggy/drivers/i2c/busses/i2c-amd8111.c