# \[PATCH\] video: s3c-fb: use devm\_request\_irq()

- Subsystems: FRAMEBUFFER LAYER, THE REST
- Maintainers: Helge Deller, Linus Torvalds
- List: linux-fbdev
- 2 messages, 2 authors
- Page: https://ratatoskr.run/linux-fbdev/2012/02/13462674/t

## \[PATCH\] video: s3c-fb: use devm\_request\_irq()

- From: Jingoo Han \<hidden\>
- Date: 2012-02-20 10:40:19 
- Message: https://ratatoskr.run/linux-fbdev/2012/02/13462674.md

```text
The devm_ functions allocate memory that is released when a driver
detaches. This patch uses devm_request_irq of these functions.

Signed-off-by: Jingoo Han <redacted>
---
 drivers/video/s3c-fb.c |    5 +----
 1 files changed, 1 insertions(+), 4 deletions(-)

diff --git a/drivers/video/s3c-fb.c b/drivers/video/s3c-fb.c
index e22bf9d..1fb7ddf 100644
--- a/drivers/video/s3c-fb.c
+++ b/drivers/video/s3c-fb.c
@@ -1433,7 +1433,7 @@ static int __devinit s3c_fb_probe(struct platform_device *pdev)
 		goto err_lcd_clk;
 	}
 	sfb->irq_no = res->start;
-	ret = request_irq(sfb->irq_no, s3c_fb_irq,
+	ret = devm_request_irq(dev, sfb->irq_no, s3c_fb_irq,
 			  0, "s3c_fb", sfb);
 	if (ret) {
 		dev_err(dev, "irq request failed\n");
@@ -1499,7 +1499,6 @@ static int __devinit s3c_fb_probe(struct platform_device *pdev)
 
 err_pm_runtime:
 	pm_runtime_put_sync(sfb->dev);
-	free_irq(sfb->irq_no, sfb);
 
 err_lcd_clk:
 	pm_runtime_disable(sfb->dev);
@@ -1535,8 +1534,6 @@ static int __devexit s3c_fb_remove(struct platform_device *pdev)
 		if (sfb->windows[win])
 			s3c_fb_release_win(sfb, sfb->windows[win]);
 
-	free_irq(sfb->irq_no, sfb);
-
 	if (!sfb->variant.has_clksel) {
 		clk_disable(sfb->lcd_clk);
 		clk_put(sfb->lcd_clk);
-- 
1.7.1


```

## Re: \[PATCH\] video: s3c-fb: use devm\_request\_irq()

- From: Florian Tobias Schandinat \<FlorianSchandinat@gmx.de\>
- Date: 2012-02-28 15:55:28 
- Message: https://ratatoskr.run/linux-fbdev/2012/02/13462675.md

```text
On 02/20/2012 10:40 AM, Jingoo Han wrote:
> The devm_ functions allocate memory that is released when a driver
> detaches. This patch uses devm_request_irq of these functions.
> 
> Signed-off-by: Jingoo Han <redacted>

Applied.


Thanks,

Florian Tobias Schandinat

> ---
>  drivers/video/s3c-fb.c |    5 +----
>  1 files changed, 1 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/video/s3c-fb.c b/drivers/video/s3c-fb.c
> index e22bf9d..1fb7ddf 100644
> --- a/drivers/video/s3c-fb.c
> +++ b/drivers/video/s3c-fb.c
> @@ -1433,7 +1433,7 @@ static int __devinit s3c_fb_probe(struct platform_device *pdev)
>  		goto err_lcd_clk;
>  	}
>  	sfb->irq_no = res->start;
> -	ret = request_irq(sfb->irq_no, s3c_fb_irq,
> +	ret = devm_request_irq(dev, sfb->irq_no, s3c_fb_irq,
>  			  0, "s3c_fb", sfb);
>  	if (ret) {
>  		dev_err(dev, "irq request failed\n");
> @@ -1499,7 +1499,6 @@ static int __devinit s3c_fb_probe(struct platform_device *pdev)
>  
>  err_pm_runtime:
>  	pm_runtime_put_sync(sfb->dev);
> -	free_irq(sfb->irq_no, sfb);
>  
>  err_lcd_clk:
>  	pm_runtime_disable(sfb->dev);
> @@ -1535,8 +1534,6 @@ static int __devexit s3c_fb_remove(struct platform_device *pdev)
>  		if (sfb->windows[win])
>  			s3c_fb_release_win(sfb, sfb->windows[win]);
>  
> -	free_irq(sfb->irq_no, sfb);
> -
>  	if (!sfb->variant.has_clksel) {
>  		clk_disable(sfb->lcd_clk);
>  		clk_put(sfb->lcd_clk);

```
