if (!(data = kmalloc(sizeof(struct pca9539_data), GFP_KERNEL))) { 
if (!(data = kzalloc(sizeof(struct pca9539_data), GFP_KERNEL))) { 
static int pca9539_detect(struct i2c_adapter *adapter, int address, int kind){	struct i2c_client *new_client;	struct pca9539_data *data;	int err = 0;	if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE_DATA))		goto exit;	/* OK. For now, we presume we have a valid client. We now create the	   client structure, even though we cannot fill it completely yet. */	if (!(data = kmalloc(sizeof(struct pca9539_data), GFP_KERNEL))) {		err = -ENOMEM;		goto exit;	}	memset(data, 0, sizeof(struct pca9539_data));	new_client = &data->client;	i2c_set_clientdata(new_client, data);	new_client->addr = address;	new_client->adapter = adapter;	new_client->driver = &pca9539_driver;	new_client->flags = 0;	/* Detection: the pca9539 only has 8 registers (0-7).	   A read of 7 should succeed, but a read of 8 should fail. */	if ((i2c_smbus_read_byte_data(new_client, 7) < 0) ||	    (i2c_smbus_read_byte_data(new_client, 8) >= 0))		goto exit_kfree;	strlcpy(new_client->name, "pca9539", I2C_NAME_SIZE);	/* Tell the I2C layer a new client has arrived */	if ((err = i2c_attach_client(new_client)))		goto exit_kfree;	/* Register sysfs hooks (don't care about failure) */	sysfs_create_group(&new_client->dev.kobj, &pca9539_defattr_group);	return 0;exit_kfree:	kfree(data);exit:	return err;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/5263ebb51eb098b01caf229498c954999117e4a7/pca9539.c/clean/drivers/i2c/chips/pca9539.c