
4 Mar
2009
4 Mar
'09
9:07 p.m.
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.