projects
/
cascardo
/
linux.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'i2c/for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa...
[cascardo/linux.git]
/
drivers
/
rtc
/
rtc-davinci.c
diff --git
a/drivers/rtc/rtc-davinci.c
b/drivers/rtc/rtc-davinci.c
index
5f7982f
..
56b7308
100644
(file)
--- 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);
davinci_rtc->pbase = res->start;
davinci_rtc->base_size = resource_size(res);
- mem =
request_mem_region(davinci_rtc->pbase, davinci_rtc->base_siz
e,
- pdev->name);
+ mem =
devm_request_mem_region(dev, davinci_rtc->pbas
e,
+
davinci_rtc->base_size,
pdev->name);
if (!mem) {
dev_err(dev, "RTC registers at %08x are not free\n",
davinci_rtc->pbase);
return -EBUSY;
}
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");
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);
}
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);
ret = PTR_ERR(davinci_rtc->rtc);
dev_err(dev, "unable to register RTC device, err %d\n",
ret);
- goto fail
3
;
+ goto fail
1
;
}
rtcif_write(davinci_rtc, PRTCIF_INTFLG_RTCSS, PRTCIF_INTFLG);
}
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);
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");
0, "davinci_rtc", davinci_rtc);
if (ret < 0) {
dev_err(dev, "unable to register davinci RTC interrupt\n");
- goto fail
4
;
+ goto fail
2
;
}
/* Enable interrupts */
}
/* Enable interrupts */
@@
-557,13
+557,10
@@
static int __init davinci_rtc_probe(struct platform_device *pdev)
return 0;
return 0;
-fail
4
:
+fail
2
:
rtc_device_unregister(davinci_rtc->rtc);
rtc_device_unregister(davinci_rtc->rtc);
-fail
3
:
+fail
1
:
platform_set_drvdata(pdev, NULL);
platform_set_drvdata(pdev, NULL);
- iounmap(davinci_rtc->base);
-fail2:
- release_mem_region(davinci_rtc->pbase, davinci_rtc->base_size);
return ret;
}
return ret;
}
@@
-575,13
+572,8
@@
static int davinci_rtc_remove(struct platform_device *pdev)
rtcif_write(davinci_rtc, 0, PRTCIF_INTEN);
rtcif_write(davinci_rtc, 0, PRTCIF_INTEN);
- free_irq(davinci_rtc->irq, davinci_rtc);
-
rtc_device_unregister(davinci_rtc->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;
platform_set_drvdata(pdev, NULL);
return 0;