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

Commit 4b751cf5 authored by Axel Lin's avatar Axel Lin Committed by Samuel Ortiz
Browse files

mfd: Free tps6586x allocated resources when unload the module



For the resources allocated in tps6586x_i2c_probe(),
we need to free it in tps6586x_i2c_remove().

Signed-off-by: default avatarAxel Lin <axel.lin@gmail.com>
Signed-off-by: default avatarSamuel Ortiz <sameo@linux.intel.com>
parent e7944d82
Loading
Loading
Loading
Loading
+13 −0
Original line number Diff line number Diff line
@@ -338,6 +338,19 @@ static int __devinit tps6586x_i2c_probe(struct i2c_client *client,

static int __devexit tps6586x_i2c_remove(struct i2c_client *client)
{
	struct tps6586x *tps6586x = i2c_get_clientdata(client);
	struct tps6586x_platform_data *pdata = client->dev.platform_data;
	int ret;

	if (pdata->gpio_base) {
		ret = gpiochip_remove(&tps6586x->gpio);
		if (ret)
			dev_err(&client->dev, "Can't remove gpio chip: %d\n",
				ret);
	}

	tps6586x_remove_subdevs(tps6586x);
	kfree(tps6586x);
	return 0;
}