* [PATCH 01/12] rtc: rtc-imxdi: use devm_clk_get()
@ 2013-02-21 8:32 Jingoo Han
2013-02-21 8:33 ` [PATCH 02/12] rtc: rtc-tps6586x: use devm_request_threaded_irq() Jingoo Han
` (10 more replies)
0 siblings, 11 replies; 12+ messages in thread
From: Jingoo Han @ 2013-02-21 8:32 UTC (permalink / raw)
To: 'Andrew Morton'
Cc: linux-kernel, 'Alessandro Zummo',
rtc-linux, 'Jingoo Han'
Use devm_clk_get() to make cleanup paths more simple.
Signed-off-by: Jingoo Han <jg1.han@samsung.com>
---
drivers/rtc/rtc-imxdi.c | 4 +---
1 files changed, 1 insertions(+), 3 deletions(-)
diff --git a/drivers/rtc/rtc-imxdi.c b/drivers/rtc/rtc-imxdi.c
index 75d307a..82aad69 100644
--- a/drivers/rtc/rtc-imxdi.c
+++ b/drivers/rtc/rtc-imxdi.c
@@ -406,7 +406,7 @@ static int dryice_rtc_probe(struct platform_device *pdev)
mutex_init(&imxdi->write_mutex);
- imxdi->clk = clk_get(&pdev->dev, NULL);
+ imxdi->clk = devm_clk_get(&pdev->dev, NULL);
if (IS_ERR(imxdi->clk))
return PTR_ERR(imxdi->clk);
clk_prepare_enable(imxdi->clk);
@@ -475,7 +475,6 @@ static int dryice_rtc_probe(struct platform_device *pdev)
err:
clk_disable_unprepare(imxdi->clk);
- clk_put(imxdi->clk);
return rc;
}
@@ -492,7 +491,6 @@ static int dryice_rtc_remove(struct platform_device *pdev)
rtc_device_unregister(imxdi->rtc);
clk_disable_unprepare(imxdi->clk);
- clk_put(imxdi->clk);
return 0;
}
--
1.7.2.5
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH 02/12] rtc: rtc-tps6586x: use devm_request_threaded_irq()
2013-02-21 8:32 [PATCH 01/12] rtc: rtc-imxdi: use devm_clk_get() Jingoo Han
@ 2013-02-21 8:33 ` Jingoo Han
2013-02-21 8:33 ` [PATCH 03/12] rtc: rtc-vt8500: use devm_*() functions Jingoo Han
` (9 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: Jingoo Han @ 2013-02-21 8:33 UTC (permalink / raw)
To: 'Andrew Morton'
Cc: linux-kernel, 'Alessandro Zummo',
rtc-linux, 'Jingoo Han'
Use devm_request_threaded_irq() to make cleanup paths more simple.
Signed-off-by: Jingoo Han <jg1.han@samsung.com>
---
drivers/rtc/rtc-tps6586x.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/rtc/rtc-tps6586x.c b/drivers/rtc/rtc-tps6586x.c
index 70f61b8..aab4e8c 100644
--- a/drivers/rtc/rtc-tps6586x.c
+++ b/drivers/rtc/rtc-tps6586x.c
@@ -282,7 +282,8 @@ static int tps6586x_rtc_probe(struct platform_device *pdev)
goto fail_rtc_register;
}
- ret = request_threaded_irq(rtc->irq, NULL, tps6586x_rtc_irq,
+ ret = devm_request_threaded_irq(&pdev->dev, rtc->irq, NULL,
+ tps6586x_rtc_irq,
IRQF_ONESHOT | IRQF_EARLY_RESUME,
dev_name(&pdev->dev), rtc);
if (ret < 0) {
@@ -311,7 +312,6 @@ static int tps6586x_rtc_remove(struct platform_device *pdev)
tps6586x_update(tps_dev, RTC_CTRL, 0,
RTC_ENABLE | OSC_SRC_SEL | PRE_BYPASS | CL_SEL_MASK);
rtc_device_unregister(rtc->rtc);
- free_irq(rtc->irq, rtc);
return 0;
}
--
1.7.2.5
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH 03/12] rtc: rtc-vt8500: use devm_*() functions
2013-02-21 8:32 [PATCH 01/12] rtc: rtc-imxdi: use devm_clk_get() Jingoo Han
2013-02-21 8:33 ` [PATCH 02/12] rtc: rtc-tps6586x: use devm_request_threaded_irq() Jingoo Han
@ 2013-02-21 8:33 ` Jingoo Han
2013-02-21 8:34 ` [PATCH 04/12] rtc: rtc-coh901331: use devm_clk_get() Jingoo Han
` (8 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: Jingoo Han @ 2013-02-21 8:33 UTC (permalink / raw)
To: 'Andrew Morton'
Cc: linux-kernel, 'Alessandro Zummo',
rtc-linux, 'Jingoo Han'
Use devm_*() functions to make cleanup paths more simple.
Signed-off-by: Jingoo Han <jg1.han@samsung.com>
---
drivers/rtc/rtc-vt8500.c | 28 ++++++++++------------------
1 files changed, 10 insertions(+), 18 deletions(-)
diff --git a/drivers/rtc/rtc-vt8500.c b/drivers/rtc/rtc-vt8500.c
index 2730533..a000bc0 100644
--- a/drivers/rtc/rtc-vt8500.c
+++ b/drivers/rtc/rtc-vt8500.c
@@ -231,20 +231,21 @@ static int vt8500_rtc_probe(struct platform_device *pdev)
return -ENXIO;
}
- vt8500_rtc->res = request_mem_region(vt8500_rtc->res->start,
- resource_size(vt8500_rtc->res),
- "vt8500-rtc");
+ vt8500_rtc->res = devm_request_mem_region(&pdev->dev,
+ vt8500_rtc->res->start,
+ resource_size(vt8500_rtc->res),
+ "vt8500-rtc");
if (vt8500_rtc->res == NULL) {
dev_err(&pdev->dev, "failed to request I/O memory\n");
return -EBUSY;
}
- vt8500_rtc->regbase = ioremap(vt8500_rtc->res->start,
+ vt8500_rtc->regbase = devm_ioremap(&pdev->dev, vt8500_rtc->res->start,
resource_size(vt8500_rtc->res));
if (!vt8500_rtc->regbase) {
dev_err(&pdev->dev, "Unable to map RTC I/O memory\n");
ret = -EBUSY;
- goto err_release;
+ goto err_return;
}
/* Enable RTC and set it to 24-hour mode */
@@ -257,11 +258,11 @@ static int vt8500_rtc_probe(struct platform_device *pdev)
ret = PTR_ERR(vt8500_rtc->rtc);
dev_err(&pdev->dev,
"Failed to register RTC device -> %d\n", ret);
- goto err_unmap;
+ goto err_return;
}
- ret = request_irq(vt8500_rtc->irq_alarm, vt8500_rtc_irq, 0,
- "rtc alarm", vt8500_rtc);
+ ret = devm_request_irq(&pdev->dev, vt8500_rtc->irq_alarm,
+ vt8500_rtc_irq, 0, "rtc alarm", vt8500_rtc);
if (ret < 0) {
dev_err(&pdev->dev, "can't get irq %i, err %d\n",
vt8500_rtc->irq_alarm, ret);
@@ -272,11 +273,7 @@ static int vt8500_rtc_probe(struct platform_device *pdev)
err_unreg:
rtc_device_unregister(vt8500_rtc->rtc);
-err_unmap:
- iounmap(vt8500_rtc->regbase);
-err_release:
- release_mem_region(vt8500_rtc->res->start,
- resource_size(vt8500_rtc->res));
+err_return:
return ret;
}
@@ -284,15 +281,10 @@ static int vt8500_rtc_remove(struct platform_device *pdev)
{
struct vt8500_rtc *vt8500_rtc = platform_get_drvdata(pdev);
- free_irq(vt8500_rtc->irq_alarm, vt8500_rtc);
-
rtc_device_unregister(vt8500_rtc->rtc);
/* Disable alarm matching */
writel(0, vt8500_rtc->regbase + VT8500_RTC_IS);
- iounmap(vt8500_rtc->regbase);
- release_mem_region(vt8500_rtc->res->start,
- resource_size(vt8500_rtc->res));
platform_set_drvdata(pdev, NULL);
--
1.7.2.5
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH 04/12] rtc: rtc-coh901331: use devm_clk_get()
2013-02-21 8:32 [PATCH 01/12] rtc: rtc-imxdi: use devm_clk_get() Jingoo Han
2013-02-21 8:33 ` [PATCH 02/12] rtc: rtc-tps6586x: use devm_request_threaded_irq() Jingoo Han
2013-02-21 8:33 ` [PATCH 03/12] rtc: rtc-vt8500: use devm_*() functions Jingoo Han
@ 2013-02-21 8:34 ` Jingoo Han
2013-02-21 8:34 ` [PATCH 05/12] rtc: rtc-lp8788: use devm_request_threaded_irq() Jingoo Han
` (7 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: Jingoo Han @ 2013-02-21 8:34 UTC (permalink / raw)
To: 'Andrew Morton'
Cc: linux-kernel, 'Alessandro Zummo',
rtc-linux, 'Jingoo Han'
Use devm_clk_get() to make cleanup paths more simple.
Signed-off-by: Jingoo Han <jg1.han@samsung.com>
---
drivers/rtc/rtc-coh901331.c | 7 ++-----
1 files changed, 2 insertions(+), 5 deletions(-)
diff --git a/drivers/rtc/rtc-coh901331.c b/drivers/rtc/rtc-coh901331.c
index c8115b8..2d28ec1a 100644
--- a/drivers/rtc/rtc-coh901331.c
+++ b/drivers/rtc/rtc-coh901331.c
@@ -157,7 +157,6 @@ static int __exit coh901331_remove(struct platform_device *pdev)
if (rtap) {
rtc_device_unregister(rtap->rtc);
clk_unprepare(rtap->clk);
- clk_put(rtap->clk);
platform_set_drvdata(pdev, NULL);
}
@@ -196,7 +195,7 @@ static int __init coh901331_probe(struct platform_device *pdev)
"RTC COH 901 331 Alarm", rtap))
return -EIO;
- rtap->clk = clk_get(&pdev->dev, NULL);
+ rtap->clk = devm_clk_get(&pdev->dev, NULL);
if (IS_ERR(rtap->clk)) {
ret = PTR_ERR(rtap->clk);
dev_err(&pdev->dev, "could not get clock\n");
@@ -207,7 +206,7 @@ static int __init coh901331_probe(struct platform_device *pdev)
ret = clk_prepare_enable(rtap->clk);
if (ret) {
dev_err(&pdev->dev, "could not enable clock\n");
- goto out_no_clk_prepenable;
+ return ret;
}
clk_disable(rtap->clk);
@@ -224,8 +223,6 @@ static int __init coh901331_probe(struct platform_device *pdev)
out_no_rtc:
platform_set_drvdata(pdev, NULL);
clk_unprepare(rtap->clk);
- out_no_clk_prepenable:
- clk_put(rtap->clk);
return ret;
}
--
1.7.2.5
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH 05/12] rtc: rtc-lp8788: use devm_request_threaded_irq()
2013-02-21 8:32 [PATCH 01/12] rtc: rtc-imxdi: use devm_clk_get() Jingoo Han
` (2 preceding siblings ...)
2013-02-21 8:34 ` [PATCH 04/12] rtc: rtc-coh901331: use devm_clk_get() Jingoo Han
@ 2013-02-21 8:34 ` Jingoo Han
2013-02-21 8:35 ` [PATCH 06/12] rtc: rtc-tps80031: " Jingoo Han
` (6 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: Jingoo Han @ 2013-02-21 8:34 UTC (permalink / raw)
To: 'Andrew Morton'
Cc: linux-kernel, 'Alessandro Zummo',
rtc-linux, 'Jingoo Han'
Use devm_request_threaded_irq() to make cleanup paths more simple.
Signed-off-by: Jingoo Han <jg1.han@samsung.com>
---
drivers/rtc/rtc-lp8788.c | 10 ++--------
1 files changed, 2 insertions(+), 8 deletions(-)
diff --git a/drivers/rtc/rtc-lp8788.c b/drivers/rtc/rtc-lp8788.c
index 4a4e78e..9a46312 100644
--- a/drivers/rtc/rtc-lp8788.c
+++ b/drivers/rtc/rtc-lp8788.c
@@ -278,16 +278,11 @@ static int lp8788_alarm_irq_register(struct platform_device *pdev,
rtc->irq = irq_create_mapping(irqdm, irq);
- return request_threaded_irq(rtc->irq, NULL, lp8788_alarm_irq_handler,
+ return devm_request_threaded_irq(&pdev->dev, rtc->irq, NULL,
+ lp8788_alarm_irq_handler,
0, LP8788_ALM_IRQ, rtc);
}
-static void lp8788_alarm_irq_unregister(struct lp8788_rtc *rtc)
-{
- if (rtc->irq)
- free_irq(rtc->irq, rtc);
-}
-
static int lp8788_rtc_probe(struct platform_device *pdev)
{
struct lp8788 *lp = dev_get_drvdata(pdev->dev.parent);
@@ -321,7 +316,6 @@ static int lp8788_rtc_remove(struct platform_device *pdev)
{
struct lp8788_rtc *rtc = platform_get_drvdata(pdev);
- lp8788_alarm_irq_unregister(rtc);
rtc_device_unregister(rtc->rdev);
platform_set_drvdata(pdev, NULL);
--
1.7.2.5
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH 06/12] rtc: rtc-tps80031: use devm_request_threaded_irq()
2013-02-21 8:32 [PATCH 01/12] rtc: rtc-imxdi: use devm_clk_get() Jingoo Han
` (3 preceding siblings ...)
2013-02-21 8:34 ` [PATCH 05/12] rtc: rtc-lp8788: use devm_request_threaded_irq() Jingoo Han
@ 2013-02-21 8:35 ` Jingoo Han
2013-02-21 8:35 ` [PATCH 07/12] rtc: rtc-wm831x: " Jingoo Han
` (5 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: Jingoo Han @ 2013-02-21 8:35 UTC (permalink / raw)
To: 'Andrew Morton'
Cc: linux-kernel, 'Alessandro Zummo',
rtc-linux, 'Jingoo Han'
Use devm_request_threaded_irq() to make cleanup paths more simple.
Signed-off-by: Jingoo Han <jg1.han@samsung.com>
---
drivers/rtc/rtc-tps80031.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/rtc/rtc-tps80031.c b/drivers/rtc/rtc-tps80031.c
index 9740641..9aaf8aa 100644
--- a/drivers/rtc/rtc-tps80031.c
+++ b/drivers/rtc/rtc-tps80031.c
@@ -285,7 +285,8 @@ static int tps80031_rtc_probe(struct platform_device *pdev)
return ret;
}
- ret = request_threaded_irq(rtc->irq, NULL, tps80031_rtc_irq,
+ ret = devm_request_threaded_irq(&pdev->dev, rtc->irq, NULL,
+ tps80031_rtc_irq,
IRQF_ONESHOT | IRQF_EARLY_RESUME,
dev_name(&pdev->dev), rtc);
if (ret < 0) {
@@ -302,7 +303,6 @@ static int tps80031_rtc_remove(struct platform_device *pdev)
{
struct tps80031_rtc *rtc = platform_get_drvdata(pdev);
- free_irq(rtc->irq, rtc);
rtc_device_unregister(rtc->rtc);
return 0;
}
--
1.7.2.5
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH 07/12] rtc: rtc-wm831x: use devm_request_threaded_irq()
2013-02-21 8:32 [PATCH 01/12] rtc: rtc-imxdi: use devm_clk_get() Jingoo Han
` (4 preceding siblings ...)
2013-02-21 8:35 ` [PATCH 06/12] rtc: rtc-tps80031: " Jingoo Han
@ 2013-02-21 8:35 ` Jingoo Han
2013-02-21 8:36 ` [PATCH 08/12] rtc: rtc-da9052: " Jingoo Han
` (4 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: Jingoo Han @ 2013-02-21 8:35 UTC (permalink / raw)
To: 'Andrew Morton'
Cc: linux-kernel, 'Alessandro Zummo',
rtc-linux, 'Jingoo Han'
Use devm_request_threaded_irq() to make cleanup paths more simple.
Signed-off-by: Jingoo Han <jg1.han@samsung.com>
---
drivers/rtc/rtc-wm831x.c | 9 ++++-----
1 files changed, 4 insertions(+), 5 deletions(-)
diff --git a/drivers/rtc/rtc-wm831x.c b/drivers/rtc/rtc-wm831x.c
index 1b0affb..2f0ac7b 100644
--- a/drivers/rtc/rtc-wm831x.c
+++ b/drivers/rtc/rtc-wm831x.c
@@ -443,9 +443,10 @@ static int wm831x_rtc_probe(struct platform_device *pdev)
goto err;
}
- ret = request_threaded_irq(alm_irq, NULL, wm831x_alm_irq,
- IRQF_TRIGGER_RISING, "RTC alarm",
- wm831x_rtc);
+ ret = devm_request_threaded_irq(&pdev->dev, alm_irq, NULL,
+ wm831x_alm_irq,
+ IRQF_TRIGGER_RISING, "RTC alarm",
+ wm831x_rtc);
if (ret != 0) {
dev_err(&pdev->dev, "Failed to request alarm IRQ %d: %d\n",
alm_irq, ret);
@@ -462,9 +463,7 @@ err:
static int wm831x_rtc_remove(struct platform_device *pdev)
{
struct wm831x_rtc *wm831x_rtc = platform_get_drvdata(pdev);
- int alm_irq = platform_get_irq_byname(pdev, "ALM");
- free_irq(alm_irq, wm831x_rtc);
rtc_device_unregister(wm831x_rtc->rtc);
return 0;
--
1.7.2.5
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH 08/12] rtc: rtc-da9052: use devm_request_threaded_irq()
2013-02-21 8:32 [PATCH 01/12] rtc: rtc-imxdi: use devm_clk_get() Jingoo Han
` (5 preceding siblings ...)
2013-02-21 8:35 ` [PATCH 07/12] rtc: rtc-wm831x: " Jingoo Han
@ 2013-02-21 8:36 ` Jingoo Han
2013-02-21 8:36 ` [PATCH 09/12] rtc: rtc-palmas: " Jingoo Han
` (3 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: Jingoo Han @ 2013-02-21 8:36 UTC (permalink / raw)
To: 'Andrew Morton'
Cc: linux-kernel, 'Alessandro Zummo',
rtc-linux, 'Jingoo Han'
Use devm_request_threaded_irq() to make cleanup paths more simple.
Signed-off-by: Jingoo Han <jg1.han@samsung.com>
---
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 60b826e..0dde688 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;
--
1.7.2.5
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH 09/12] rtc: rtc-palmas: use devm_request_threaded_irq()
2013-02-21 8:32 [PATCH 01/12] rtc: rtc-imxdi: use devm_clk_get() Jingoo Han
` (6 preceding siblings ...)
2013-02-21 8:36 ` [PATCH 08/12] rtc: rtc-da9052: " Jingoo Han
@ 2013-02-21 8:36 ` Jingoo Han
2013-02-21 8:37 ` [PATCH 10/12] rtc: rtc-max8907: " Jingoo Han
` (2 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: Jingoo Han @ 2013-02-21 8:36 UTC (permalink / raw)
To: 'Andrew Morton'
Cc: linux-kernel, 'Alessandro Zummo',
rtc-linux, 'Jingoo Han'
Use devm_request_threaded_irq() to make cleanup paths more simple.
Signed-off-by: Jingoo Han <jg1.han@samsung.com>
---
drivers/rtc/rtc-palmas.c | 3 +--
1 files changed, 1 insertions(+), 2 deletions(-)
diff --git a/drivers/rtc/rtc-palmas.c b/drivers/rtc/rtc-palmas.c
index 59c4298..df9359c 100644
--- a/drivers/rtc/rtc-palmas.c
+++ b/drivers/rtc/rtc-palmas.c
@@ -272,7 +272,7 @@ static int palmas_rtc_probe(struct platform_device *pdev)
return ret;
}
- ret = request_threaded_irq(palmas_rtc->irq, NULL,
+ ret = devm_request_threaded_irq(&pdev->dev, palmas_rtc->irq, NULL,
palmas_rtc_interrupt,
IRQF_TRIGGER_LOW | IRQF_ONESHOT |
IRQF_EARLY_RESUME,
@@ -292,7 +292,6 @@ static int palmas_rtc_remove(struct platform_device *pdev)
struct palmas_rtc *palmas_rtc = platform_get_drvdata(pdev);
palmas_rtc_alarm_irq_enable(&pdev->dev, 0);
- free_irq(palmas_rtc->irq, palmas_rtc);
rtc_device_unregister(palmas_rtc->rtc);
return 0;
}
--
1.7.2.5
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH 10/12] rtc: rtc-max8907: use devm_request_threaded_irq()
2013-02-21 8:32 [PATCH 01/12] rtc: rtc-imxdi: use devm_clk_get() Jingoo Han
` (7 preceding siblings ...)
2013-02-21 8:36 ` [PATCH 09/12] rtc: rtc-palmas: " Jingoo Han
@ 2013-02-21 8:37 ` Jingoo Han
2013-02-21 8:37 ` [PATCH 11/12] rtc: rtc-max8997: " Jingoo Han
2013-02-21 8:38 ` [PATCH 12/12] rtc: rtc-davinci: use devm_*() functions Jingoo Han
10 siblings, 0 replies; 12+ messages in thread
From: Jingoo Han @ 2013-02-21 8:37 UTC (permalink / raw)
To: 'Andrew Morton'
Cc: linux-kernel, 'Alessandro Zummo',
rtc-linux, 'Jingoo Han'
Use devm_request_threaded_irq() to make cleanup paths more simple.
Signed-off-by: Jingoo Han <jg1.han@samsung.com>
---
drivers/rtc/rtc-max8907.c | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/rtc/rtc-max8907.c b/drivers/rtc/rtc-max8907.c
index 1d049da..31ca8fa 100644
--- a/drivers/rtc/rtc-max8907.c
+++ b/drivers/rtc/rtc-max8907.c
@@ -205,8 +205,9 @@ static int max8907_rtc_probe(struct platform_device *pdev)
goto err_unregister;
}
- ret = request_threaded_irq(rtc->irq, NULL, max8907_irq_handler,
- IRQF_ONESHOT, "max8907-alarm0", rtc);
+ ret = devm_request_threaded_irq(&pdev->dev, rtc->irq, NULL,
+ max8907_irq_handler,
+ IRQF_ONESHOT, "max8907-alarm0", rtc);
if (ret < 0) {
dev_err(&pdev->dev, "Failed to request IRQ%d: %d\n",
rtc->irq, ret);
@@ -224,7 +225,6 @@ static int max8907_rtc_remove(struct platform_device *pdev)
{
struct max8907_rtc *rtc = platform_get_drvdata(pdev);
- free_irq(rtc->irq, rtc);
rtc_device_unregister(rtc->rtc_dev);
return 0;
--
1.7.2.5
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH 11/12] rtc: rtc-max8997: use devm_request_threaded_irq()
2013-02-21 8:32 [PATCH 01/12] rtc: rtc-imxdi: use devm_clk_get() Jingoo Han
` (8 preceding siblings ...)
2013-02-21 8:37 ` [PATCH 10/12] rtc: rtc-max8907: " Jingoo Han
@ 2013-02-21 8:37 ` Jingoo Han
2013-02-21 8:38 ` [PATCH 12/12] rtc: rtc-davinci: use devm_*() functions Jingoo Han
10 siblings, 0 replies; 12+ messages in thread
From: Jingoo Han @ 2013-02-21 8:37 UTC (permalink / raw)
To: 'Andrew Morton'
Cc: linux-kernel, 'Alessandro Zummo',
rtc-linux, 'Jingoo Han'
Use devm_request_threaded_irq() to make cleanup paths more simple.
Signed-off-by: Jingoo Han <jg1.han@samsung.com>
---
drivers/rtc/rtc-max8997.c | 7 +++----
1 files changed, 3 insertions(+), 4 deletions(-)
diff --git a/drivers/rtc/rtc-max8997.c b/drivers/rtc/rtc-max8997.c
index a4e7079..00e505b 100644
--- a/drivers/rtc/rtc-max8997.c
+++ b/drivers/rtc/rtc-max8997.c
@@ -495,7 +495,8 @@ static int max8997_rtc_probe(struct platform_device *pdev)
}
info->virq = virq;
- ret = request_threaded_irq(virq, NULL, max8997_rtc_alarm_irq, 0,
+ ret = devm_request_threaded_irq(&pdev->dev, virq, NULL,
+ max8997_rtc_alarm_irq, 0,
"rtc-alarm0", info);
if (ret < 0) {
dev_err(&pdev->dev, "Failed to request alarm IRQ: %d: %d\n",
@@ -514,10 +515,8 @@ static int max8997_rtc_remove(struct platform_device *pdev)
{
struct max8997_rtc_info *info = platform_get_drvdata(pdev);
- if (info) {
- free_irq(info->virq, info);
+ if (info)
rtc_device_unregister(info->rtc_dev);
- }
return 0;
}
--
1.7.2.5
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH 12/12] rtc: rtc-davinci: use devm_*() functions
2013-02-21 8:32 [PATCH 01/12] rtc: rtc-imxdi: use devm_clk_get() Jingoo Han
` (9 preceding siblings ...)
2013-02-21 8:37 ` [PATCH 11/12] rtc: rtc-max8997: " Jingoo Han
@ 2013-02-21 8:38 ` Jingoo Han
10 siblings, 0 replies; 12+ messages in thread
From: Jingoo Han @ 2013-02-21 8:38 UTC (permalink / raw)
To: 'Andrew Morton'
Cc: linux-kernel, 'Alessandro Zummo',
rtc-linux, 'Jingoo Han'
Use devm_*() functions to make cleanup paths more simple.
Signed-off-by: Jingoo Han <jg1.han@samsung.com>
---
drivers/rtc/rtc-davinci.c | 28 ++++++++++------------------
1 files changed, 10 insertions(+), 18 deletions(-)
diff --git a/drivers/rtc/rtc-davinci.c b/drivers/rtc/rtc-davinci.c
index 5f7982f..56b7308 100644
--- a/drivers/rtc/rtc-davinci.c
+++ b/drivers/rtc/rtc-davinci.c
@@ -506,19 +506,19 @@ static int __init davinci_rtc_probe(struct platform_device *pdev)
davinci_rtc->pbase = res->start;
davinci_rtc->base_size = resource_size(res);
- mem = request_mem_region(davinci_rtc->pbase, davinci_rtc->base_size,
- pdev->name);
+ mem = devm_request_mem_region(dev, davinci_rtc->pbase,
+ davinci_rtc->base_size, pdev->name);
if (!mem) {
dev_err(dev, "RTC registers at %08x are not free\n",
davinci_rtc->pbase);
return -EBUSY;
}
- davinci_rtc->base = ioremap(davinci_rtc->pbase, davinci_rtc->base_size);
+ davinci_rtc->base = devm_ioremap(dev, davinci_rtc->pbase,
+ davinci_rtc->base_size);
if (!davinci_rtc->base) {
dev_err(dev, "unable to ioremap MEM resource\n");
- ret = -ENOMEM;
- goto fail2;
+ return -ENOMEM;
}
platform_set_drvdata(pdev, davinci_rtc);
@@ -529,7 +529,7 @@ static int __init davinci_rtc_probe(struct platform_device *pdev)
ret = PTR_ERR(davinci_rtc->rtc);
dev_err(dev, "unable to register RTC device, err %d\n",
ret);
- goto fail3;
+ goto fail1;
}
rtcif_write(davinci_rtc, PRTCIF_INTFLG_RTCSS, PRTCIF_INTFLG);
@@ -539,11 +539,11 @@ static int __init davinci_rtc_probe(struct platform_device *pdev)
rtcss_write(davinci_rtc, 0, PRTCSS_RTC_CTRL);
rtcss_write(davinci_rtc, 0, PRTCSS_RTC_CCTRL);
- ret = request_irq(davinci_rtc->irq, davinci_rtc_interrupt,
+ ret = devm_request_irq(dev, davinci_rtc->irq, davinci_rtc_interrupt,
0, "davinci_rtc", davinci_rtc);
if (ret < 0) {
dev_err(dev, "unable to register davinci RTC interrupt\n");
- goto fail4;
+ goto fail2;
}
/* Enable interrupts */
@@ -557,13 +557,10 @@ static int __init davinci_rtc_probe(struct platform_device *pdev)
return 0;
-fail4:
+fail2:
rtc_device_unregister(davinci_rtc->rtc);
-fail3:
+fail1:
platform_set_drvdata(pdev, NULL);
- iounmap(davinci_rtc->base);
-fail2:
- release_mem_region(davinci_rtc->pbase, davinci_rtc->base_size);
return ret;
}
@@ -575,13 +572,8 @@ static int davinci_rtc_remove(struct platform_device *pdev)
rtcif_write(davinci_rtc, 0, PRTCIF_INTEN);
- free_irq(davinci_rtc->irq, davinci_rtc);
-
rtc_device_unregister(davinci_rtc->rtc);
- iounmap(davinci_rtc->base);
- release_mem_region(davinci_rtc->pbase, davinci_rtc->base_size);
-
platform_set_drvdata(pdev, NULL);
return 0;
--
1.7.2.5
^ permalink raw reply related [flat|nested] 12+ messages in thread
end of thread, other threads:[~2013-02-21 8:38 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-02-21 8:32 [PATCH 01/12] rtc: rtc-imxdi: use devm_clk_get() Jingoo Han
2013-02-21 8:33 ` [PATCH 02/12] rtc: rtc-tps6586x: use devm_request_threaded_irq() Jingoo Han
2013-02-21 8:33 ` [PATCH 03/12] rtc: rtc-vt8500: use devm_*() functions Jingoo Han
2013-02-21 8:34 ` [PATCH 04/12] rtc: rtc-coh901331: use devm_clk_get() Jingoo Han
2013-02-21 8:34 ` [PATCH 05/12] rtc: rtc-lp8788: use devm_request_threaded_irq() Jingoo Han
2013-02-21 8:35 ` [PATCH 06/12] rtc: rtc-tps80031: " Jingoo Han
2013-02-21 8:35 ` [PATCH 07/12] rtc: rtc-wm831x: " Jingoo Han
2013-02-21 8:36 ` [PATCH 08/12] rtc: rtc-da9052: " Jingoo Han
2013-02-21 8:36 ` [PATCH 09/12] rtc: rtc-palmas: " Jingoo Han
2013-02-21 8:37 ` [PATCH 10/12] rtc: rtc-max8907: " Jingoo Han
2013-02-21 8:37 ` [PATCH 11/12] rtc: rtc-max8997: " Jingoo Han
2013-02-21 8:38 ` [PATCH 12/12] rtc: rtc-davinci: use devm_*() functions Jingoo Han
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).