ASoC: tlv320aic31xx: Don't call kfree for memory allocated by devm_kzalloc

The kfree call is not necessary, but we need to call snd_soc_unregister_codec()
in remove().

Signed-off-by: Axel Lin <axel.lin@ingics.com>
Acked-by: Jyri Sarha <jsarha@ti.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
This commit is contained in:
Axel Lin 2014-03-16 23:06:25 +08:00 committed by Mark Brown
parent fd218aa3e5
commit dac7e40404

View file

@ -1229,7 +1229,6 @@ static int aic31xx_i2c_probe(struct i2c_client *i2c,
return -ENOMEM; return -ENOMEM;
aic31xx->regmap = devm_regmap_init_i2c(i2c, regmap_config); aic31xx->regmap = devm_regmap_init_i2c(i2c, regmap_config);
if (IS_ERR(aic31xx->regmap)) { if (IS_ERR(aic31xx->regmap)) {
ret = PTR_ERR(aic31xx->regmap); ret = PTR_ERR(aic31xx->regmap);
dev_err(&i2c->dev, "Failed to allocate register map: %d\n", dev_err(&i2c->dev, "Failed to allocate register map: %d\n",
@ -1242,18 +1241,14 @@ static int aic31xx_i2c_probe(struct i2c_client *i2c,
aic31xx_device_init(aic31xx); aic31xx_device_init(aic31xx);
ret = snd_soc_register_codec(&i2c->dev, &soc_codec_driver_aic31xx, return snd_soc_register_codec(&i2c->dev, &soc_codec_driver_aic31xx,
aic31xx_dai_driver, aic31xx_dai_driver,
ARRAY_SIZE(aic31xx_dai_driver)); ARRAY_SIZE(aic31xx_dai_driver));
return ret;
} }
static int aic31xx_i2c_remove(struct i2c_client *i2c) static int aic31xx_i2c_remove(struct i2c_client *i2c)
{ {
struct aic31xx_priv *aic31xx = dev_get_drvdata(&i2c->dev); snd_soc_unregister_codec(&i2c->dev);
kfree(aic31xx);
return 0; return 0;
} }
@ -1275,7 +1270,7 @@ static struct i2c_driver aic31xx_i2c_driver = {
.of_match_table = of_match_ptr(tlv320aic31xx_of_match), .of_match_table = of_match_ptr(tlv320aic31xx_of_match),
}, },
.probe = aic31xx_i2c_probe, .probe = aic31xx_i2c_probe,
.remove = (aic31xx_i2c_remove), .remove = aic31xx_i2c_remove,
.id_table = aic31xx_i2c_id, .id_table = aic31xx_i2c_id,
}; };