[alsa-devel] [PATCH] ASoC: cs35l33: Remove unnecessary free_irq call

Handrigan, Paul Paul.Handrigan at cirrus.com
Tue Jun 28 16:29:46 CEST 2016



On 6/28/16, 3:40 AM, "Axel Lin" <axel.lin at ingics.com> wrote:

>Current code uses devm_request_threaded_irq() so it does not need to
>explicitly call free_irq() in .probe error path and .remove.
>
>Signed-off-by: Axel Lin <axel.lin at ingics.com>
>---
> sound/soc/codecs/cs35l33.c | 7 ++-----
> 1 file changed, 2 insertions(+), 5 deletions(-)
>
>diff --git a/sound/soc/codecs/cs35l33.c b/sound/soc/codecs/cs35l33.c
>index 55c1f75..90dc743 100644
>--- a/sound/soc/codecs/cs35l33.c
>+++ b/sound/soc/codecs/cs35l33.c
>@@ -1195,7 +1195,7 @@ static int cs35l33_i2c_probe(struct i2c_client
>*i2c_client,
> 		dev_err(&i2c_client->dev,
> 			"Failed to enable core supplies: %d\n",
> 			ret);
>-		goto err_irq;
>+		return ret;
> 	}
> 
> 	if (cs35l33->reset_gpio)
>@@ -1251,7 +1251,7 @@ static int cs35l33_i2c_probe(struct i2c_client
>*i2c_client,
> 	if (ret < 0) {
> 		dev_err(&i2c_client->dev, "%s: Register codec failed\n",
> 			__func__);
>-		goto err_irq;
>+		goto err_enable;
> 	}
> 
> 	return 0;
>@@ -1259,8 +1259,6 @@ static int cs35l33_i2c_probe(struct i2c_client
>*i2c_client,
> err_enable:
> 	regulator_bulk_disable(cs35l33->num_core_supplies,
> 			       cs35l33->core_supplies);
>-err_irq:
>-	free_irq(i2c_client->irq, cs35l33);
> 
> 	return ret;
> }
>@@ -1277,7 +1275,6 @@ static int cs35l33_i2c_remove(struct i2c_client
>*client)
> 	pm_runtime_disable(&client->dev);
> 	regulator_bulk_disable(cs35l33->num_core_supplies,
> 		cs35l33->core_supplies);
>-	free_irq(client->irq, cs35l33);
> 
> 	return 0;
> }
>-- 
>2.5.0
Thanks!

Acked-by: Paul Handrigan <Paul.Handrigan at cirrus.com>
>



More information about the Alsa-devel mailing list