The driver core clears the driver data to NULL after device_release
or on probe failure, since commit 0998d0631001288a5974afc0b2a5f568bcdecb4d
(device-core: Ensure drvdata = NULL when no driver is bound).
Thus, it is not needed to manually clear the device driver data to NULL.

Signed-off-by: Jingoo Han <jg1....@samsung.com>
---
 drivers/rtc/rtc-at91sam9.c |   19 +++++--------------
 1 files changed, 5 insertions(+), 14 deletions(-)

diff --git a/drivers/rtc/rtc-at91sam9.c b/drivers/rtc/rtc-at91sam9.c
index b60a34c..309b8b3 100644
--- a/drivers/rtc/rtc-at91sam9.c
+++ b/drivers/rtc/rtc-at91sam9.c
@@ -324,16 +324,14 @@ static int at91_rtc_probe(struct platform_device *pdev)
        rtc->rtt = devm_ioremap(&pdev->dev, r->start, resource_size(r));
        if (!rtc->rtt) {
                dev_err(&pdev->dev, "failed to map registers, aborting.\n");
-               ret = -ENOMEM;
-               goto fail;
+               return -ENOMEM;
        }
 
        rtc->gpbr = devm_ioremap(&pdev->dev, r_gpbr->start,
                                resource_size(r_gpbr));
        if (!rtc->gpbr) {
                dev_err(&pdev->dev, "failed to map gpbr registers, 
aborting.\n");
-               ret = -ENOMEM;
-               goto fail;
+               return -ENOMEM;
        }
 
        mr = rtt_readl(rtc, MR);
@@ -350,17 +348,15 @@ static int at91_rtc_probe(struct platform_device *pdev)
 
        rtc->rtcdev = devm_rtc_device_register(&pdev->dev, pdev->name,
                                        &at91_rtc_ops, THIS_MODULE);
-       if (IS_ERR(rtc->rtcdev)) {
-               ret = PTR_ERR(rtc->rtcdev);
-               goto fail;
-       }
+       if (IS_ERR(rtc->rtcdev))
+               return PTR_ERR(rtc->rtcdev);
 
        /* register irq handler after we know what name we'll use */
        ret = devm_request_irq(&pdev->dev, rtc->irq, at91_rtc_interrupt,
                                IRQF_SHARED, dev_name(&rtc->rtcdev->dev), rtc);
        if (ret) {
                dev_dbg(&pdev->dev, "can't share IRQ %d?\n", rtc->irq);
-               goto fail;
+               return ret;
        }
 
        /* NOTE:  sam9260 rev A silicon has a ROM bug which resets the
@@ -374,10 +370,6 @@ static int at91_rtc_probe(struct platform_device *pdev)
                                dev_name(&rtc->rtcdev->dev));
 
        return 0;
-
-fail:
-       platform_set_drvdata(pdev, NULL);
-       return ret;
 }
 
 /*
@@ -391,7 +383,6 @@ static int at91_rtc_remove(struct platform_device *pdev)
        /* disable all interrupts */
        rtt_writel(rtc, MR, mr & ~(AT91_RTT_ALMIEN | AT91_RTT_RTTINCIEN));
 
-       platform_set_drvdata(pdev, NULL);
        return 0;
 }
 
-- 
1.7.2.5


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to