|
@@ -1143,7 +1143,7 @@ static int twl6040_probe(struct snd_soc_codec *codec)
|
|
|
|
|
|
mutex_init(&priv->mutex);
|
|
|
|
|
|
- ret = devm_request_threaded_irq(codec->dev, priv->plug_irq, NULL,
|
|
|
+ ret = request_threaded_irq(priv->plug_irq, NULL,
|
|
|
twl6040_audio_handler, IRQF_NO_SUSPEND,
|
|
|
"twl6040_irq_plug", codec);
|
|
|
if (ret) {
|
|
@@ -1159,6 +1159,9 @@ static int twl6040_probe(struct snd_soc_codec *codec)
|
|
|
|
|
|
static int twl6040_remove(struct snd_soc_codec *codec)
|
|
|
{
|
|
|
+ struct twl6040_data *priv = snd_soc_codec_get_drvdata(codec);
|
|
|
+
|
|
|
+ free_irq(priv->plug_irq, codec);
|
|
|
twl6040_set_bias_level(codec, SND_SOC_BIAS_OFF);
|
|
|
|
|
|
return 0;
|