aboutsummaryrefslogtreecommitdiffstats
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
commitbdb2cea8b98f3656f9f50b47957b2da6e2ebdaf1 (patch)
tree4045ca4573c4a1b3167f71874a2d34db15ced822
parent65028199a31f2ad34d6df64c0243a8386386c7b7 (diff)
downloadupstream-bdb2cea8b98f3656f9f50b47957b2da6e2ebdaf1.tar.gz
upstream-bdb2cea8b98f3656f9f50b47957b2da6e2ebdaf1.tar.bz2
upstream-bdb2cea8b98f3656f9f50b47957b2da6e2ebdaf1.zip
[xburst] rtc-jz4740: Free rtc irq when driver is removed
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19489 3c298f89-4303-0410-b956-a3cf2f4a3e73
-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");