rtc/rtc-spear: call platform_set_drvdata() before registering rtc device
rtc/rtc-spear: call platform_set_drvdata() before registering rtc device

rtc_device_register() calls rtc-spear routines internally.  These
routines call dev_get_drvdata() to get struct spear_rtc_config.
Currently, platform_set_drvdata is called after rtc device is
registered.  This causes system to crash, as dev_get_drvdata returns
NULL.

For this we need to call platform_set_drvdata() before registering rtc
device.  This requires further cleanup, that leads to removal of
dev_set_drvdata on rtc->dev, which was just not required at all.

Also, we change the parameter to request_irq and pass pointer to config
instead of pointer to rtc struct.

This patch brings all above changes.

Signed-off-by: Viresh Kumar <5ff32272b3d9f86512eddc8e0af523fc6f7924e5@st.com>
Cc: Shiraz Hashim <b2d8a0b5918a6ded01174803e0f07f30e713cd1b@st.com>
Cc: Deepak Sikri <64488c112e2fc6d52b7a60fc144fbf4c0745f09b@st.com>
Acked-by: Rajeev Kumar <2803853fd0818faa1eb216d52dad52a1d2cf14a2@st.com>
Signed-off-by: Andrew Morton <5c1e68b099950c134891f0b6e179498a8ebe9cf9@linux-foundation.org>
Signed-off-by: Linus Torvalds <69652caca27c8b940640ad396ab71f93cacec34f@linux-foundation.org>

KristFoundation/Programs,TeamVee-Kanas/android_kernel_samsung_kanas,KristFoundation/Programs,TeamVee-Kanas/android_kernel_samsung_kanas,KristFoundation/Programs,TeamVee-Kanas/android_kernel_samsung_kanas,TeamVee-Kanas/android_kernel_samsung_kanas,TeamVee-Kanas/android_kernel_samsung_kanas,KristFoundation/Programs,KristFoundation/Programs,KristFoundation/Programs