[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
master
Lars-Peter Clausen 2010-02-01 13:50:12 +00:00
parent 65028199a3
commit bdb2cea8b9
2 changed files with 4 additions and 3 deletions

View File

@ -108,7 +108,7 @@ struct platform_device jz4740_mmc_device = {
static struct resource jz4740_rtc_resources[] = { static struct resource jz4740_rtc_resources[] = {
[0] = { [0] = {
.start = CPHYSADDR(RTC_BASE), .start = CPHYSADDR(RTC_BASE),
.end = CPHYSADDR(RTC_BASE) + 0x10, .end = CPHYSADDR(RTC_BASE) + 0x38 - 1,
.flags = IORESOURCE_MEM, .flags = IORESOURCE_MEM,
}, },
[1] = { [1] = {

View File

@ -260,7 +260,7 @@ static int __devinit jz4740_rtc_probe(struct platform_device *pdev)
} }
ret = request_irq(rtc->irq, jz4740_rtc_irq, 0, ret = request_irq(rtc->irq, jz4740_rtc_irq, 0,
pdev->name, rtc); pdev->name, rtc);
if (ret) { if (ret) {
dev_err(&pdev->dev, "Failed to request rtc irq: %d\n", 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); struct jz4740_rtc *rtc = platform_get_drvdata(pdev);
free_irq(rtc->irq, rtc);
rtc_device_unregister(rtc->rtc); rtc_device_unregister(rtc->rtc);
iounmap(rtc->base); iounmap(rtc->base);
@ -329,4 +331,3 @@ MODULE_AUTHOR("Lars-Peter Clausen <lars@metafoo.de>");
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_DESCRIPTION("RTC driver for the JZ4720/JZ4740 SoC\n"); MODULE_DESCRIPTION("RTC driver for the JZ4720/JZ4740 SoC\n");
MODULE_ALIAS("platform:jz4740-rtc"); MODULE_ALIAS("platform:jz4740-rtc");
MODULE_ALIAS("platform:jz4720-rtc");