|
@@ -141,7 +141,7 @@ static int tps6105x_probe(struct i2c_client *client,
|
|
|
int ret;
|
|
|
int i;
|
|
|
|
|
|
- tps6105x = kmalloc(sizeof(*tps6105x), GFP_KERNEL);
|
|
|
+ tps6105x = devm_kmalloc(&client->dev, sizeof(*tps6105x), GFP_KERNEL);
|
|
|
if (!tps6105x)
|
|
|
return -ENOMEM;
|
|
|
|
|
@@ -154,7 +154,7 @@ static int tps6105x_probe(struct i2c_client *client,
|
|
|
ret = tps6105x_startup(tps6105x);
|
|
|
if (ret) {
|
|
|
dev_err(&client->dev, "chip initialization failed\n");
|
|
|
- goto fail;
|
|
|
+ return ret;
|
|
|
}
|
|
|
|
|
|
/* Remove warning texts when you implement new cell drivers */
|
|
@@ -187,16 +187,8 @@ static int tps6105x_probe(struct i2c_client *client,
|
|
|
tps6105x_cells[i].pdata_size = sizeof(*tps6105x);
|
|
|
}
|
|
|
|
|
|
- ret = mfd_add_devices(&client->dev, 0, tps6105x_cells,
|
|
|
- ARRAY_SIZE(tps6105x_cells), NULL, 0, NULL);
|
|
|
- if (ret)
|
|
|
- goto fail;
|
|
|
-
|
|
|
- return 0;
|
|
|
-
|
|
|
-fail:
|
|
|
- kfree(tps6105x);
|
|
|
- return ret;
|
|
|
+ return mfd_add_devices(&client->dev, 0, tps6105x_cells,
|
|
|
+ ARRAY_SIZE(tps6105x_cells), NULL, 0, NULL);
|
|
|
}
|
|
|
|
|
|
static int tps6105x_remove(struct i2c_client *client)
|
|
@@ -210,7 +202,6 @@ static int tps6105x_remove(struct i2c_client *client)
|
|
|
TPS6105X_REG0_MODE_MASK,
|
|
|
TPS6105X_MODE_SHUTDOWN << TPS6105X_REG0_MODE_SHIFT);
|
|
|
|
|
|
- kfree(tps6105x);
|
|
|
return 0;
|
|
|
}
|
|
|
|