8 May
2019
8 May
'19
8:33 a.m.
On Tue, May 07, 2019 at 01:11:40PM +0800, Tzung-Bi Shih wrote:
+static void max98357a_component_remove(struct snd_soc_component *component) +{
- struct max98357a_priv *max98357a =
snd_soc_component_get_drvdata(component);
- if (max98357a->sdmode)
devm_gpiod_put(component->dev, max98357a->sdmode);
+}
This is an obvious mess, if you're explicitly freeing devm_ allocated resources in the common case something is going wrong. Just move the initial allocation to the device level probe so devm can do what it's supposed to.