if (!(data = kmalloc(sizeof(struct smsc47b397_data), GFP_KERNEL))) { 
if (!(data = kzalloc(sizeof(struct smsc47b397_data), GFP_KERNEL))) { 
static int smsc47b397_detect(struct i2c_adapter *adapter){	struct i2c_client *new_client;	struct smsc47b397_data *data;	int err = 0;	if (!request_region(address, SMSC_EXTENT, smsc47b397_driver.name)) {		dev_err(&adapter->dev, "Region 0x%x already in use!\n",			address);		return -EBUSY;	}	if (!(data = kmalloc(sizeof(struct smsc47b397_data), GFP_KERNEL))) {		err = -ENOMEM;		goto error_release;	}	memset(data, 0x00, sizeof(struct smsc47b397_data));	new_client = &data->client;	i2c_set_clientdata(new_client, data);	new_client->addr = address;	init_MUTEX(&data->lock);	new_client->adapter = adapter;	new_client->driver = &smsc47b397_driver;	new_client->flags = 0;	strlcpy(new_client->name, "smsc47b397", I2C_NAME_SIZE);	init_MUTEX(&data->update_lock);	if ((err = i2c_attach_client(new_client)))		goto error_free;	data->class_dev = hwmon_device_register(&new_client->dev);	if (IS_ERR(data->class_dev)) {		err = PTR_ERR(data->class_dev);		goto error_detach;	}	device_create_file_temp(new_client, 1);	device_create_file_temp(new_client, 2);	device_create_file_temp(new_client, 3);	device_create_file_temp(new_client, 4);	device_create_file_fan(new_client, 1);	device_create_file_fan(new_client, 2);	device_create_file_fan(new_client, 3);	device_create_file_fan(new_client, 4);	return 0;error_detach:	i2c_detach_client(new_client);error_free:	kfree(data);error_release:	release_region(address, SMSC_EXTENT);	return err;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/ba9c2e8d15da029ea3051c95e446b2d638ef02e2/smsc47b397.c/clean/drivers/hwmon/smsc47b397.c