forked from mirrors/linux
		
	hwmon: (lineage-pem) Convert to use devm_kzalloc
Marginally less code and eliminate the possibility of memory leaks. Signed-off-by: Guenter Roeck <linux@roeck-us.net>
This commit is contained in:
		
							parent
							
								
									f352df652f
								
							
						
					
					
						commit
						07404aab52
					
				
					 1 changed files with 4 additions and 7 deletions
				
			
		|  | @ -448,7 +448,7 @@ static int pem_probe(struct i2c_client *client, | ||||||
| 				     | I2C_FUNC_SMBUS_WRITE_BYTE)) | 				     | I2C_FUNC_SMBUS_WRITE_BYTE)) | ||||||
| 		return -ENODEV; | 		return -ENODEV; | ||||||
| 
 | 
 | ||||||
| 	data = kzalloc(sizeof(*data), GFP_KERNEL); | 	data = devm_kzalloc(&client->dev, sizeof(*data), GFP_KERNEL); | ||||||
| 	if (!data) | 	if (!data) | ||||||
| 		return -ENOMEM; | 		return -ENOMEM; | ||||||
| 
 | 
 | ||||||
|  | @ -462,11 +462,11 @@ static int pem_probe(struct i2c_client *client, | ||||||
| 	ret = pem_read_block(client, PEM_READ_FIRMWARE_REV, | 	ret = pem_read_block(client, PEM_READ_FIRMWARE_REV, | ||||||
| 			     data->firmware_rev, sizeof(data->firmware_rev)); | 			     data->firmware_rev, sizeof(data->firmware_rev)); | ||||||
| 	if (ret < 0) | 	if (ret < 0) | ||||||
| 		goto out_kfree; | 		return ret; | ||||||
| 
 | 
 | ||||||
| 	ret = i2c_smbus_write_byte(client, PEM_CLEAR_INFO_FLAGS); | 	ret = i2c_smbus_write_byte(client, PEM_CLEAR_INFO_FLAGS); | ||||||
| 	if (ret < 0) | 	if (ret < 0) | ||||||
| 		goto out_kfree; | 		return ret; | ||||||
| 
 | 
 | ||||||
| 	dev_info(&client->dev, "Firmware revision %d.%d.%d\n", | 	dev_info(&client->dev, "Firmware revision %d.%d.%d\n", | ||||||
| 		 data->firmware_rev[0], data->firmware_rev[1], | 		 data->firmware_rev[0], data->firmware_rev[1], | ||||||
|  | @ -475,7 +475,7 @@ static int pem_probe(struct i2c_client *client, | ||||||
| 	/* Register sysfs hooks */ | 	/* Register sysfs hooks */ | ||||||
| 	ret = sysfs_create_group(&client->dev.kobj, &pem_group); | 	ret = sysfs_create_group(&client->dev.kobj, &pem_group); | ||||||
| 	if (ret) | 	if (ret) | ||||||
| 		goto out_kfree; | 		return ret; | ||||||
| 
 | 
 | ||||||
| 	/*
 | 	/*
 | ||||||
| 	 * Check if input readings are supported. | 	 * Check if input readings are supported. | ||||||
|  | @ -534,8 +534,6 @@ static int pem_probe(struct i2c_client *client, | ||||||
| 	sysfs_remove_group(&client->dev.kobj, &pem_input_group); | 	sysfs_remove_group(&client->dev.kobj, &pem_input_group); | ||||||
| 	sysfs_remove_group(&client->dev.kobj, &pem_fan_group); | 	sysfs_remove_group(&client->dev.kobj, &pem_fan_group); | ||||||
| 	sysfs_remove_group(&client->dev.kobj, &pem_group); | 	sysfs_remove_group(&client->dev.kobj, &pem_group); | ||||||
| out_kfree: |  | ||||||
| 	kfree(data); |  | ||||||
| 	return ret; | 	return ret; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | @ -549,7 +547,6 @@ static int pem_remove(struct i2c_client *client) | ||||||
| 	sysfs_remove_group(&client->dev.kobj, &pem_fan_group); | 	sysfs_remove_group(&client->dev.kobj, &pem_fan_group); | ||||||
| 	sysfs_remove_group(&client->dev.kobj, &pem_group); | 	sysfs_remove_group(&client->dev.kobj, &pem_group); | ||||||
| 
 | 
 | ||||||
| 	kfree(data); |  | ||||||
| 	return 0; | 	return 0; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue
	
	 Guenter Roeck
						Guenter Roeck