Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: (37 commits) SH: catch negative denormal_subf1() retval in denormal_add() sh: Fix DMAC base address for SH7709S sh: update smc91x platform data for se7206. sh: Stub in cpu_to_node() and friends for NUMA build. sh: intc register modify fix sh: no high level trigger on some sh3 cpus sh: clean up sh7710 and sh7720 intc tables sh: add interrupt ack code to sh3 sh: unify external irq pin code for sh3 sh-sci: avoid writing to nonexistent registers sh-sci: sh7722 lacks scsptr registers sh-sci: improve sh7722 support sh: reset hardware from early printk sh: drain and wait for early printk sh: use sci_out() for early printk sh: add memory resources to /proc/iomem sh: add kernel bss resource sh: fix sh7705 interrupt vector typo sh: update smc91x platform data for se7722 sh: update smc91x platform data for MigoR ...
This commit is contained in:
@@ -616,7 +616,7 @@ static int __devinit sh_rtc_probe(struct platform_device *pdev)
|
||||
goto err_badres;
|
||||
}
|
||||
|
||||
rtc->regbase = (void __iomem *)rtc->res->start;
|
||||
rtc->regbase = ioremap_nocache(rtc->res->start, rtc->regsize);
|
||||
if (unlikely(!rtc->regbase)) {
|
||||
ret = -EINVAL;
|
||||
goto err_badmap;
|
||||
@@ -626,7 +626,7 @@ static int __devinit sh_rtc_probe(struct platform_device *pdev)
|
||||
&sh_rtc_ops, THIS_MODULE);
|
||||
if (IS_ERR(rtc->rtc_dev)) {
|
||||
ret = PTR_ERR(rtc->rtc_dev);
|
||||
goto err_badmap;
|
||||
goto err_unmap;
|
||||
}
|
||||
|
||||
rtc->capabilities = RTC_DEF_CAPABILITIES;
|
||||
@@ -653,7 +653,7 @@ static int __devinit sh_rtc_probe(struct platform_device *pdev)
|
||||
dev_err(&pdev->dev,
|
||||
"request period IRQ failed with %d, IRQ %d\n", ret,
|
||||
rtc->periodic_irq);
|
||||
goto err_badmap;
|
||||
goto err_unmap;
|
||||
}
|
||||
|
||||
ret = request_irq(rtc->carry_irq, sh_rtc_interrupt, IRQF_DISABLED,
|
||||
@@ -663,7 +663,7 @@ static int __devinit sh_rtc_probe(struct platform_device *pdev)
|
||||
"request carry IRQ failed with %d, IRQ %d\n", ret,
|
||||
rtc->carry_irq);
|
||||
free_irq(rtc->periodic_irq, rtc);
|
||||
goto err_badmap;
|
||||
goto err_unmap;
|
||||
}
|
||||
|
||||
ret = request_irq(rtc->alarm_irq, sh_rtc_alarm, IRQF_DISABLED,
|
||||
@@ -674,7 +674,7 @@ static int __devinit sh_rtc_probe(struct platform_device *pdev)
|
||||
rtc->alarm_irq);
|
||||
free_irq(rtc->carry_irq, rtc);
|
||||
free_irq(rtc->periodic_irq, rtc);
|
||||
goto err_badmap;
|
||||
goto err_unmap;
|
||||
}
|
||||
|
||||
tmp = readb(rtc->regbase + RCR1);
|
||||
@@ -684,6 +684,8 @@ static int __devinit sh_rtc_probe(struct platform_device *pdev)
|
||||
|
||||
return 0;
|
||||
|
||||
err_unmap:
|
||||
iounmap(rtc->regbase);
|
||||
err_badmap:
|
||||
release_resource(rtc->res);
|
||||
err_badres:
|
||||
@@ -708,6 +710,8 @@ static int __devexit sh_rtc_remove(struct platform_device *pdev)
|
||||
|
||||
release_resource(rtc->res);
|
||||
|
||||
iounmap(rtc->regbase);
|
||||
|
||||
platform_set_drvdata(pdev, NULL);
|
||||
|
||||
kfree(rtc);
|
||||
|
Reference in New Issue
Block a user