The driver core clears the driver data to NULL after device_release or
on probe failure, since commit 
0998d063100 ("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.han@samsung.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
 
 
        ret = clk_prepare_enable(info->clk);
        if (ret)
-               goto err_enable_clk;
+               return ret;
        /*
         * According to the manual we should be able to let RTTR be zero
         * and then a default diviser for a 32.768KHz clock is used.
        return 0;
 err_dev:
        clk_disable_unprepare(info->clk);
-err_enable_clk:
-       platform_set_drvdata(pdev, NULL);
        return ret;
 }
 
 {
        struct sa1100_rtc *info = platform_get_drvdata(pdev);
 
-       if (info) {
+       if (info)
                clk_disable_unprepare(info->clk);
-               platform_set_drvdata(pdev, NULL);
-       }
 
        return 0;
 }