[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