diff options
Diffstat (limited to 'sound')
-rw-r--r-- | sound/soc/codecs/twl6040.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/sound/soc/codecs/twl6040.c b/sound/soc/codecs/twl6040.c index 9b9a6e587610..c2f2fdbfef96 100644 --- a/sound/soc/codecs/twl6040.c +++ b/sound/soc/codecs/twl6040.c | |||
@@ -1143,7 +1143,7 @@ static int twl6040_probe(struct snd_soc_codec *codec) | |||
1143 | 1143 | ||
1144 | mutex_init(&priv->mutex); | 1144 | mutex_init(&priv->mutex); |
1145 | 1145 | ||
1146 | ret = devm_request_threaded_irq(codec->dev, priv->plug_irq, NULL, | 1146 | ret = request_threaded_irq(priv->plug_irq, NULL, |
1147 | twl6040_audio_handler, IRQF_NO_SUSPEND, | 1147 | twl6040_audio_handler, IRQF_NO_SUSPEND, |
1148 | "twl6040_irq_plug", codec); | 1148 | "twl6040_irq_plug", codec); |
1149 | if (ret) { | 1149 | if (ret) { |
@@ -1159,6 +1159,9 @@ static int twl6040_probe(struct snd_soc_codec *codec) | |||
1159 | 1159 | ||
1160 | static int twl6040_remove(struct snd_soc_codec *codec) | 1160 | static int twl6040_remove(struct snd_soc_codec *codec) |
1161 | { | 1161 | { |
1162 | struct twl6040_data *priv = snd_soc_codec_get_drvdata(codec); | ||
1163 | |||
1164 | free_irq(priv->plug_irq, codec); | ||
1162 | twl6040_set_bias_level(codec, SND_SOC_BIAS_OFF); | 1165 | twl6040_set_bias_level(codec, SND_SOC_BIAS_OFF); |
1163 | 1166 | ||
1164 | return 0; | 1167 | return 0; |