Commit 7270cebe authored by Mark Brown's avatar Mark Brown

ASoC: Convert WM8994 to devm_kzalloc()

Still have a manual free in there for some realloc()ed memory as there's
no devm version of that.
Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
parent cd1707a9
...@@ -3003,8 +3003,8 @@ static void wm8994_handle_pdata(struct wm8994_priv *wm8994) ...@@ -3003,8 +3003,8 @@ static void wm8994_handle_pdata(struct wm8994_priv *wm8994)
}; };
/* We need an array of texts for the enum API */ /* We need an array of texts for the enum API */
wm8994->drc_texts = kmalloc(sizeof(char *) wm8994->drc_texts = devm_kzalloc(wm8994->codec->dev,
* pdata->num_drc_cfgs, GFP_KERNEL); sizeof(char *) * pdata->num_drc_cfgs, GFP_KERNEL);
if (!wm8994->drc_texts) { if (!wm8994->drc_texts) {
dev_err(wm8994->codec->dev, dev_err(wm8994->codec->dev,
"Failed to allocate %d DRC config texts\n", "Failed to allocate %d DRC config texts\n",
...@@ -3468,7 +3468,8 @@ static int wm8994_codec_probe(struct snd_soc_codec *codec) ...@@ -3468,7 +3468,8 @@ static int wm8994_codec_probe(struct snd_soc_codec *codec)
codec->control_data = dev_get_drvdata(codec->dev->parent); codec->control_data = dev_get_drvdata(codec->dev->parent);
control = codec->control_data; control = codec->control_data;
wm8994 = kzalloc(sizeof(struct wm8994_priv), GFP_KERNEL); wm8994 = devm_kzalloc(codec->dev, sizeof(struct wm8994_priv),
GFP_KERNEL);
if (wm8994 == NULL) if (wm8994 == NULL)
return -ENOMEM; return -ENOMEM;
snd_soc_codec_set_drvdata(codec, wm8994); snd_soc_codec_set_drvdata(codec, wm8994);
...@@ -3880,8 +3881,6 @@ static int wm8994_codec_probe(struct snd_soc_codec *codec) ...@@ -3880,8 +3881,6 @@ static int wm8994_codec_probe(struct snd_soc_codec *codec)
wm8994_free_irq(wm8994->wm8994, WM8994_IRQ_FIFOS_ERR, codec); wm8994_free_irq(wm8994->wm8994, WM8994_IRQ_FIFOS_ERR, codec);
wm8994_free_irq(wm8994->wm8994, WM8994_IRQ_TEMP_SHUT, codec); wm8994_free_irq(wm8994->wm8994, WM8994_IRQ_TEMP_SHUT, codec);
wm8994_free_irq(wm8994->wm8994, WM8994_IRQ_TEMP_WARN, codec); wm8994_free_irq(wm8994->wm8994, WM8994_IRQ_TEMP_WARN, codec);
err:
kfree(wm8994);
return ret; return ret;
} }
...@@ -3933,8 +3932,6 @@ static int wm8994_codec_remove(struct snd_soc_codec *codec) ...@@ -3933,8 +3932,6 @@ static int wm8994_codec_remove(struct snd_soc_codec *codec)
if (wm8994->enh_eq) if (wm8994->enh_eq)
release_firmware(wm8994->enh_eq); release_firmware(wm8994->enh_eq);
kfree(wm8994->retune_mobile_texts); kfree(wm8994->retune_mobile_texts);
kfree(wm8994->drc_texts);
kfree(wm8994);
return 0; return 0;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment