diff options
| author | Jingoo Han <jg1.han@samsung.com> | 2013-02-21 16:45:42 -0800 | 
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-02-21 17:22:30 -0800 | 
| commit | 27239a1498f85c16306fdc614658d0bc1ee685ef (patch) | |
| tree | 54caabaab6b6d0adc7857a296d162a731bd38cbd /drivers/rtc/rtc-da9052.c | |
| parent | fd5231ce336e038037b4f0190a6838bdd6e17c6d (diff) | |
| download | olio-linux-3.10-27239a1498f85c16306fdc614658d0bc1ee685ef.tar.xz olio-linux-3.10-27239a1498f85c16306fdc614658d0bc1ee685ef.zip  | |
rtc: rtc-da9052: use devm_request_threaded_irq()
Use devm_request_threaded_irq() to make cleanup paths more simple.
Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/rtc/rtc-da9052.c')
| -rw-r--r-- | drivers/rtc/rtc-da9052.c | 18 | 
1 files changed, 6 insertions, 12 deletions
diff --git a/drivers/rtc/rtc-da9052.c b/drivers/rtc/rtc-da9052.c index 60b826e520e..0dde688ca09 100644 --- a/drivers/rtc/rtc-da9052.c +++ b/drivers/rtc/rtc-da9052.c @@ -240,9 +240,10 @@ static int da9052_rtc_probe(struct platform_device *pdev)  	rtc->da9052 = dev_get_drvdata(pdev->dev.parent);  	platform_set_drvdata(pdev, rtc);  	rtc->irq = platform_get_irq_byname(pdev, "ALM"); -	ret = request_threaded_irq(rtc->irq, NULL, da9052_rtc_irq, -				   IRQF_TRIGGER_LOW | IRQF_ONESHOT, -				   "ALM", rtc); +	ret = devm_request_threaded_irq(&pdev->dev, rtc->irq, NULL, +				da9052_rtc_irq, +				IRQF_TRIGGER_LOW | IRQF_ONESHOT, +				"ALM", rtc);  	if (ret != 0) {  		rtc_err(rtc->da9052, "irq registration failed: %d\n", ret);  		return ret; @@ -250,16 +251,10 @@ static int da9052_rtc_probe(struct platform_device *pdev)  	rtc->rtc = rtc_device_register(pdev->name, &pdev->dev,  				       &da9052_rtc_ops, THIS_MODULE); -	if (IS_ERR(rtc->rtc)) { -		ret = PTR_ERR(rtc->rtc); -		goto err_free_irq; -	} +	if (IS_ERR(rtc->rtc)) +		return PTR_ERR(rtc->rtc);  	return 0; - -err_free_irq: -	free_irq(rtc->irq, rtc); -	return ret;  }  static int da9052_rtc_remove(struct platform_device *pdev) @@ -267,7 +262,6 @@ static int da9052_rtc_remove(struct platform_device *pdev)  	struct da9052_rtc *rtc = pdev->dev.platform_data;  	rtc_device_unregister(rtc->rtc); -	free_irq(rtc->irq, rtc);  	platform_set_drvdata(pdev, NULL);  	return 0;  |