[alsa-devel] [PATCH 2/2] ASoC: Add headset jack detection for SDP3430 machine driver
Mark Brown
broonie at sirena.org.uk
Wed Mar 4 20:07:17 CET 2009
On Wed, Mar 04, 2009 at 11:39:12AM -0600, Lopez Cruz, Misael wrote:
> +/* Headset jack */
> +struct snd_soc_jack *hs_jack;
This (and all your other globals) should be declared static.
> +/* Headset jack DAPM pins */
> +struct snd_soc_jack_pin hs_jack_pins[] = {
> + {
> + .pin = "Headset Jack",
> + .mask = SND_JACK_HEADSET,
> + .invert = 0,
> + },
> +};
No need to initialise things to zero, that's the default for static
variables.
> + /* Headset jack detection */
> + hs_jack = kzalloc(sizeof(struct snd_soc_jack), GFP_KERNEL);
> + if (!hs_jack)
> + return -ENOMEM;
If you declare hs_jack as a direct static variable you won't need to
kzalloc() it and save some error checking and cleanup code too :)
> + ret = snd_soc_jack_new(&snd_soc_sdp3430, "SDP3430 headset jack",
> + SND_JACK_HEADSET, hs_jack);
> + if (ret)
> + return ret;
This leaks the jack.
More information about the Alsa-devel
mailing list