rtc-jz4740: Free rtc irq when driver is removed
authorLars-Peter Clausen <lars@metafoo.de>
Mon, 1 Feb 2010 13:50:12 +0000 (13:50 +0000)
committerLars-Peter Clausen <lars@metafoo.de>
Mon, 1 Feb 2010 13:50:12 +0000 (13:50 +0000)
SVN-Revision: 19489

target/linux/xburst/files-2.6.32/arch/mips/jz4740/platform.c
target/linux/xburst/files-2.6.32/drivers/rtc/rtc-jz4740.c

index 4e379294a5804716ed89d5f338e1104276edf2c2..ec34ea2571d2a87ad16386910bcd72c6d21f34bc 100644 (file)
@@ -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] = {
index 2039eb3de819881e0e4230eed515248c9b549968..03479a73f7f7ef19a0823a0b31c0c2c435dd7188 100644 (file)
@@ -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");