aboutsummaryrefslogtreecommitdiffstats
path: root/target
diff options
context:
space:
mode:
authorLars-Peter Clausen <lars@metafoo.de>2010-02-01 13:50:12 +0000
committerLars-Peter Clausen <lars@metafoo.de>2010-02-01 13:50:12 +0000
commit9a201dcd10755d2256fe81d59e7cb9304f10b831 (patch)
tree3d861b4114c0503b5d320892b46d6c9b19049caf /target
parent7ad9c8615ff4ddf7d5004334b7dfa97bf47353ca (diff)
downloadupstream-9a201dcd10755d2256fe81d59e7cb9304f10b831.tar.gz
upstream-9a201dcd10755d2256fe81d59e7cb9304f10b831.tar.bz2
upstream-9a201dcd10755d2256fe81d59e7cb9304f10b831.zip
rtc-jz4740: Free rtc irq when driver is removed
SVN-Revision: 19489
Diffstat (limited to 'target')
-rw-r--r--target/linux/xburst/files-2.6.32/arch/mips/jz4740/platform.c2
-rw-r--r--target/linux/xburst/files-2.6.32/drivers/rtc/rtc-jz4740.c5
2 files changed, 4 insertions, 3 deletions
diff --git a/target/linux/xburst/files-2.6.32/arch/mips/jz4740/platform.c b/target/linux/xburst/files-2.6.32/arch/mips/jz4740/platform.c
index 4e379294a5..ec34ea2571 100644
--- a/target/linux/xburst/files-2.6.32/arch/mips/jz4740/platform.c
+++ b/target/linux/xburst/files-2.6.32/arch/mips/jz4740/platform.c
@@ -108,7 +108,7 @@ struct platform_device jz4740_mmc_device = {
static struct resource jz4740_rtc_resources[] = {
[0] = {
.start = CPHYSADDR(RTC_BASE),
- .end = CPHYSADDR(RTC_BASE) + 0x10,
+ .end = CPHYSADDR(RTC_BASE) + 0x38 - 1,
.flags = IORESOURCE_MEM,
},
[1] = {
diff --git a/target/linux/xburst/files-2.6.32/drivers/rtc/rtc-jz4740.c b/target/linux/xburst/files-2.6.32/drivers/rtc/rtc-jz4740.c
index 2039eb3de8..03479a73f7 100644
--- a/target/linux/xburst/files-2.6.32/drivers/rtc/rtc-jz4740.c
+++ b/target/linux/xburst/files-2.6.32/drivers/rtc/rtc-jz4740.c
@@ -260,7 +260,7 @@ static int __devinit jz4740_rtc_probe(struct platform_device *pdev)
}
ret = request_irq(rtc->irq, jz4740_rtc_irq, 0,
- pdev->name, rtc);
+ pdev->name, rtc);
if (ret) {
dev_err(&pdev->dev, "Failed to request rtc irq: %d\n", ret);
@@ -292,6 +292,8 @@ static int __devexit jz4740_rtc_remove(struct platform_device *pdev)
{
struct jz4740_rtc *rtc = platform_get_drvdata(pdev);
+ free_irq(rtc->irq, rtc);
+
rtc_device_unregister(rtc->rtc);
iounmap(rtc->base);
@@ -329,4 +331,3 @@ MODULE_AUTHOR("Lars-Peter Clausen <lars@metafoo.de>");
MODULE_LICENSE("GPL");
MODULE_DESCRIPTION("RTC driver for the JZ4720/JZ4740 SoC\n");
MODULE_ALIAS("platform:jz4740-rtc");
-MODULE_ALIAS("platform:jz4720-rtc");