From: Uwe Kleine-König Date: Sat, 11 Jul 2009 20:53:05 +0000 (+0200) Subject: move stk17ta8's probe function to .devinit.text X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=81e627e00a2eabfa573eb4558e31c0c98fcb7e5a;p=GitHub%2Fexynos8895%2Fandroid_kernel_samsung_universal8895.git move stk17ta8's probe function to .devinit.text A pointer to stk17ta8_rtc_probe is passed to the core via platform_driver_register and so the function must not disappear when the .init sections are discarded. Otherwise (if also having HOTPLUG=y) unbinding and binding a device to the driver via sysfs will result in an oops as does a device being registered late. An alternative to this patch is using platform_driver_probe instead of platform_driver_register plus removing the pointer to the probe function from the struct platform_driver. Signed-off-by: Uwe Kleine-König Cc: Anton Vorontsov Cc: Alessandro Zummo Cc: David Brownell Cc: Paul Mundt Cc: Andrew Morton Cc: Hannes Eder Cc: Jiri Kosina Cc: David Brownell Acked-by: Alessandro Zummo Signed-off-by: Jiri Kosina --- diff --git a/drivers/rtc/rtc-stk17ta8.c b/drivers/rtc/rtc-stk17ta8.c index 7d1547b0070e..d491eb265c38 100644 --- a/drivers/rtc/rtc-stk17ta8.c +++ b/drivers/rtc/rtc-stk17ta8.c @@ -286,7 +286,7 @@ static struct bin_attribute stk17ta8_nvram_attr = { .write = stk17ta8_nvram_write, }; -static int __init stk17ta8_rtc_probe(struct platform_device *pdev) +static int __devinit stk17ta8_rtc_probe(struct platform_device *pdev) { struct rtc_device *rtc; struct resource *res;