Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit bc12cfc8 authored by Laurent Pinchart's avatar Laurent Pinchart Committed by Wolfram Sang
Browse files

i2c: pca954x: Use devm_kzalloc managed allocator



This simplifies error and removal paths.

Signed-off-by: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: default avatarWolfram Sang <wsa@the-dreams.de>
parent 4b9b0073
Loading
Loading
Loading
Loading
+6 −12
Original line number Diff line number Diff line
@@ -187,16 +187,14 @@ static int pca954x_probe(struct i2c_client *client,
	struct pca954x_platform_data *pdata = dev_get_platdata(&client->dev);
	int num, force, class;
	struct pca954x *data;
	int ret = -ENODEV;
	int ret;

	if (!i2c_check_functionality(adap, I2C_FUNC_SMBUS_BYTE))
		goto err;
		return -ENODEV;

	data = kzalloc(sizeof(struct pca954x), GFP_KERNEL);
	if (!data) {
		ret = -ENOMEM;
		goto err;
	}
	data = devm_kzalloc(&client->dev, sizeof(struct pca954x), GFP_KERNEL);
	if (!data)
		return -ENOMEM;

	i2c_set_clientdata(client, data);

@@ -206,7 +204,7 @@ static int pca954x_probe(struct i2c_client *client,
	 */
	if (i2c_smbus_write_byte(client, 0) < 0) {
		dev_warn(&client->dev, "probe failed\n");
		goto exit_free;
		return -ENODEV;
	}

	data->type = id->driver_data;
@@ -251,9 +249,6 @@ static int pca954x_probe(struct i2c_client *client,
virt_reg_failed:
	for (num--; num >= 0; num--)
		i2c_del_mux_adapter(data->virt_adaps[num]);
exit_free:
	kfree(data);
err:
	return ret;
}

@@ -269,7 +264,6 @@ static int pca954x_remove(struct i2c_client *client)
			data->virt_adaps[i] = NULL;
		}

	kfree(data);
	return 0;
}