Loading drivers/rtc/rtc-vt8500.c +10 −18 Original line number Diff line number Diff line Loading @@ -231,7 +231,8 @@ static int vt8500_rtc_probe(struct platform_device *pdev) return -ENXIO; } vt8500_rtc->res = request_mem_region(vt8500_rtc->res->start, vt8500_rtc->res = devm_request_mem_region(&pdev->dev, vt8500_rtc->res->start, resource_size(vt8500_rtc->res), "vt8500-rtc"); if (vt8500_rtc->res == NULL) { Loading @@ -239,12 +240,12 @@ static int vt8500_rtc_probe(struct platform_device *pdev) return -EBUSY; } vt8500_rtc->regbase = ioremap(vt8500_rtc->res->start, vt8500_rtc->regbase = devm_ioremap(&pdev->dev, vt8500_rtc->res->start, resource_size(vt8500_rtc->res)); if (!vt8500_rtc->regbase) { dev_err(&pdev->dev, "Unable to map RTC I/O memory\n"); ret = -EBUSY; goto err_release; goto err_return; } /* Enable RTC and set it to 24-hour mode */ Loading @@ -257,11 +258,11 @@ static int vt8500_rtc_probe(struct platform_device *pdev) ret = PTR_ERR(vt8500_rtc->rtc); dev_err(&pdev->dev, "Failed to register RTC device -> %d\n", ret); goto err_unmap; goto err_return; } ret = request_irq(vt8500_rtc->irq_alarm, vt8500_rtc_irq, 0, "rtc alarm", vt8500_rtc); ret = devm_request_irq(&pdev->dev, vt8500_rtc->irq_alarm, vt8500_rtc_irq, 0, "rtc alarm", vt8500_rtc); if (ret < 0) { dev_err(&pdev->dev, "can't get irq %i, err %d\n", vt8500_rtc->irq_alarm, ret); Loading @@ -272,11 +273,7 @@ static int vt8500_rtc_probe(struct platform_device *pdev) err_unreg: rtc_device_unregister(vt8500_rtc->rtc); err_unmap: iounmap(vt8500_rtc->regbase); err_release: release_mem_region(vt8500_rtc->res->start, resource_size(vt8500_rtc->res)); err_return: return ret; } Loading @@ -284,15 +281,10 @@ static int vt8500_rtc_remove(struct platform_device *pdev) { struct vt8500_rtc *vt8500_rtc = platform_get_drvdata(pdev); free_irq(vt8500_rtc->irq_alarm, vt8500_rtc); rtc_device_unregister(vt8500_rtc->rtc); /* Disable alarm matching */ writel(0, vt8500_rtc->regbase + VT8500_RTC_IS); iounmap(vt8500_rtc->regbase); release_mem_region(vt8500_rtc->res->start, resource_size(vt8500_rtc->res)); platform_set_drvdata(pdev, NULL); Loading Loading
drivers/rtc/rtc-vt8500.c +10 −18 Original line number Diff line number Diff line Loading @@ -231,7 +231,8 @@ static int vt8500_rtc_probe(struct platform_device *pdev) return -ENXIO; } vt8500_rtc->res = request_mem_region(vt8500_rtc->res->start, vt8500_rtc->res = devm_request_mem_region(&pdev->dev, vt8500_rtc->res->start, resource_size(vt8500_rtc->res), "vt8500-rtc"); if (vt8500_rtc->res == NULL) { Loading @@ -239,12 +240,12 @@ static int vt8500_rtc_probe(struct platform_device *pdev) return -EBUSY; } vt8500_rtc->regbase = ioremap(vt8500_rtc->res->start, vt8500_rtc->regbase = devm_ioremap(&pdev->dev, vt8500_rtc->res->start, resource_size(vt8500_rtc->res)); if (!vt8500_rtc->regbase) { dev_err(&pdev->dev, "Unable to map RTC I/O memory\n"); ret = -EBUSY; goto err_release; goto err_return; } /* Enable RTC and set it to 24-hour mode */ Loading @@ -257,11 +258,11 @@ static int vt8500_rtc_probe(struct platform_device *pdev) ret = PTR_ERR(vt8500_rtc->rtc); dev_err(&pdev->dev, "Failed to register RTC device -> %d\n", ret); goto err_unmap; goto err_return; } ret = request_irq(vt8500_rtc->irq_alarm, vt8500_rtc_irq, 0, "rtc alarm", vt8500_rtc); ret = devm_request_irq(&pdev->dev, vt8500_rtc->irq_alarm, vt8500_rtc_irq, 0, "rtc alarm", vt8500_rtc); if (ret < 0) { dev_err(&pdev->dev, "can't get irq %i, err %d\n", vt8500_rtc->irq_alarm, ret); Loading @@ -272,11 +273,7 @@ static int vt8500_rtc_probe(struct platform_device *pdev) err_unreg: rtc_device_unregister(vt8500_rtc->rtc); err_unmap: iounmap(vt8500_rtc->regbase); err_release: release_mem_region(vt8500_rtc->res->start, resource_size(vt8500_rtc->res)); err_return: return ret; } Loading @@ -284,15 +281,10 @@ static int vt8500_rtc_remove(struct platform_device *pdev) { struct vt8500_rtc *vt8500_rtc = platform_get_drvdata(pdev); free_irq(vt8500_rtc->irq_alarm, vt8500_rtc); rtc_device_unregister(vt8500_rtc->rtc); /* Disable alarm matching */ writel(0, vt8500_rtc->regbase + VT8500_RTC_IS); iounmap(vt8500_rtc->regbase); release_mem_region(vt8500_rtc->res->start, resource_size(vt8500_rtc->res)); platform_set_drvdata(pdev, NULL); Loading